Attualmente sto lavorando a una soluzione per la definizione del traffico per le aziende di livello ISP e ho riscontrato un problema interessante (di tipo filosofico).
Per quanto riguarda il numero di endpoint che il sistema dovrebbe gestire (che è di circa ~ 20k), mi sono un po 'preoccupato di cosa sarebbe successo quando avrei bisogno di stabilire criteri / modellare il traffico di più utenti. Dato che attualmente sto utilizzando l'albero di modellazione HFSC (vedi tc-hfsc, principalmente la stessa cosa più interessante del HTB meglio noto) per l'intera rete, dovrei usare più ClassID (ovviamente almeno uno per ogni utente sul Rete). Il problema che ho riscontrato è che i TC ClassID sono in qualche modo limitati: sono numeri a 16 bit, il che mi dà un massimo possibile di 64k utenti modellati da questa soluzione.
Allo stesso modo, se voglio gestire i filtri TC in modo efficiente (ad esempio, non usando la "tecnica di svuotamento completo"), devo essere in grado di eliminare o modificare singole voci di filtro. (Sto usando qualcosa di simile alla tabella hash di LARTC [1]). Ancora una volta, l'unico metodo che sembra funzionare con questo è numerare tutti i filtri usando le priorità individuali (tc filter add dev ... prio 1). Non ci sono altri parametri che potrebbero essere usati per questo scopo e, purtroppo, anche prio è solo a 16 bit.
La mia domanda è la seguente: esiste qualche buon metodo per allargare lo "spazio identificativo" disponibile, come il clsid a 32 bit per il comando 'classe tc' e le priorità a 32 bit (o qualsiasi altro handle di modifica) per 'filtro tc' comando?
Grazie mille,
-mk
(spero che questo non vada allo scenario "64k utenti dovrebbero essere sufficienti per tutti" ...)