fixed bug where large amounts of unidirectional UDP traffic would fill
the interface output queue and further udp packets would be fragmented
and only partially sent - keeping the output queue full and jamming the
network, but not actually getting any real work done (because you can't
send just 'part' of a udp packet - if you fragment it, you must send
the whole thing). The fix involves adding a check to make sure that the
output queue has sufficient space for all of the fragments.
they say: When doing an implicit bind in_pcbbind will assign used ports
if the port is bound on specific interface, and not on INADDR_ANY.
Effects of the bug range from connection drops to machine hangs.
The check that the destination of a forwarded ip packet is not on
the loopback net is wrong, and will always fail. The following patch
fixes the problem.
[allows "route add $hostname localhost" to be added to /etc/netstart to
keep things for $hostname away from the ethernet driver]