CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2015/03/18 06:23:15
Modified files:
sys/net : if.c if.h if_ppp.c if_spppsubr.c if_tun.c
if_var.h pf.c pipex.c
Log message:
remove the congestion handling from struct ifqueue.
its only used for the ip and ip6 network stack input queues, so it
seems unfair that every instance of ifqueue has to carry a pointer
around for this specific use case.
this moves the congestion marker to a kernel global. if we detect
that we're congested, we assume the whole system is busy and punish
all input queues.
marking a system as congested is done by setting the global to the
current value of ticks. as the system moves away from that value,
it moves away from being congested until the comparison fails.
written at s2k15
ok henning@ beck@ bluhm@ claudio@