CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]    2019/03/04 14:57:16

Modified files:
        sys/net        : ifq.c 

Log message:
move back to ifiq_input counting packets instead of queue operations.

the backpressure seems to have kicked in too early, introducing a
lot of packet loss where there wasn't any before. secondly, counting
operations interacted extremely badly with pseudo-interfaces. for
example, if you have a physical interface that rxes 100 vlan
encapsulated packets, it will call ifiq_input once for all 100
packets. when the network stack is running vlan_input against thes
packets, vlan_input will take the packet and call ifiq_input against
each of them. because the stack is running packets on the parent
interface, it can't run the packets on the vlan interface, so you
end up with ifiq_input being called 100 times, and we dropped packets
after 16 calls to ifiq_input without a matching run of the stack.

chris cappuccio hit some weird stuff too.

discussed with claudio@

Reply via email to