hapi: "kamaráde" ... to že něčemu příliš nerozumíš ještě neznamená, že jsou ostatní lháři. Takto nějak vyzněla Tvoje odpověď. Ale teď už k věci :
Používáme samozřejmě TC (co jiného). Pro samotný shapping pak HTB, ESFQ a FIFO. Protože se shapují oba směry na jednom stroji včetně NATu pak ještě IMQ. Nepoužíváme hash tabulky ale klasické manglování v iptables a rozdělení pomocí filter pravidel v TC v jednoduchém stromu. 41tis. pravidel proto, že náš shaper umožňuje omezit maximální rychlost na každém segmentu sítě a také zajišťuje základní QoS (4 třídy pro každého usera). Těch 41tis. pravidel obsahuje i vlastní filtry v TC.
Tolik k Tvým pochybnostem a nyní k Tvým znalostech toku paketů v kernelovém jádře ;)
Z principu obsluhy paketů v kernelu je implementace off-loadingu v linuxu velmi obtížná, pokud je vůbec možná. Je to z důvodu, že veškeré filtrační, natovací i manglovací tabulky iptables jsou uloženy v paměti PC stejně tak jako routovací tabulky a konec konců i nastavení pro shaping a tudíž k nim vlastní síťová karta nemá jednostranný přístup.
Pokud to chceš realizovat na linuxu, stačí celkem jednoduše nakonfigurovanej a opatchovanej kernel, iptables a iproute. Správný rozdělení irq na jednotlivá jádra (což je podle mého názoru problém, který Vás trápí ve Vašich příspěvcích) a skript, kterej vygeneruje pravidla ze zdrojových IP uživatelů a jejich rychlostí. Toť vše.
Pokud máte nějakej dotaz k funkčnosti, rád k tomu řeknu co vím. Pokud máte příliš nabubřelé ego k tomu, abyste zkusili jak se to dá dělat jinak, poradit nedokážu ;)