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@