Actualmente estoy trabajando en una solución de configuración de tráfico para empresas de nivel ISP, y llegué a un problema interesante (algo filosófico).
Mirando sobre el número de puntos finales que el sistema debería manejar (que es alrededor de ~ 20k), me preocupé un poco por lo que sucedería cuando tuviera que crear políticas / dar forma al tráfico de más usuarios. Como actualmente estoy usando el árbol de configuración HFSC (vea tc-hfsc, principalmente lo mismo pero más genial que HTB mejor conocido) para toda la red, necesitaría usar más ClassID (obviamente al menos uno para cada usuario en el red). El problema que encontré fue que los TC ClassID son algo limitados: son números de 16 bits, lo que me da un máximo posible de 64k usuarios configurados por esta solución.
Del mismo modo, si deseo administrar los filtros TC de manera eficiente (por ejemplo, no usar la técnica de "vaciar todo"), necesito poder eliminar o modificar entradas de filtro individuales. (Estoy usando algo similar a la tabla hash de LARTC [1]). Nuevamente, el único método que parece estar funcionando con esto es numerar todos los filtros usando prioridades individuales (tc filter add dev ... prio 1). No hay otro parámetro que pueda usarse para este propósito y, lamentablemente, prio también es de 16 bits.
Mi pregunta es la siguiente: ¿Existe algún buen método para ampliar el "espacio identificador" disponible, como clsid de 32 bits para el comando 'clase tc' y prioridades de 32 bits (o cualquier otro controlador de modificación) para 'filtro tc' ¿mando?
Muchas gracias,
-mk
(por cierto, espero que esto no vaya al escenario "64k usuarios deberían ser suficientes para todos" ...)