plan9fox/sys/src/9/ip
cinap_lenrek f12744b5db devip: fix packet loss when interface is wlocked
to prevent deadlock on media unbind (which is called with
the interface wlock()'ed), the medias reader processes
that unbind was waiting for used to discard packets when
the interface could not be rlocked.

this has the unfortunate side effect that when we change
addresses on a interface that packets are getting lost.
this is problematic for the processing of ipv6 router
advertisements when multiple RA's are getting received
in quick succession.

this change removes that packet dropping behaviour and
instead changes the unbind process to avoid the deadlock
by wunlock()ing the interface temporarily while waiting
for the reader processes to finish. the interface media
is also changed to the mullmedium before unlocking (see
the comment).
2020-01-05 18:20:47 +01:00
..
arp.c devip: use the routing table for local source ip address selection 2019-11-10 19:50:46 +01:00
chandial.c
devip.c devip: fix permission checking 2019-09-21 23:28:37 +02:00
esp.c
ethermedium.c devip: fix packet loss when interface is wlocked 2020-01-05 18:20:47 +01:00
gre.c
icmp.c devip: use the routing table for local source ip address selection 2019-11-10 19:50:46 +01:00
icmp6.c devip: use the routing table for local source ip address selection 2019-11-10 19:50:46 +01:00
igmp.c
il.c
inferno.c
ip.c devip: fix packet loss when interface is wlocked 2020-01-05 18:20:47 +01:00
ip.h devip: use the routing table for local source ip address selection 2019-11-10 19:50:46 +01:00
ipaux.c devip: fix ip fragmentation handling issues with header options 2019-03-03 05:25:00 +01:00
ipifc.c devip: fix packet loss when interface is wlocked 2020-01-05 18:20:47 +01:00
ipmux.c
iproute.c devip: use the routing table for local source ip address selection 2019-11-10 19:50:46 +01:00
ipv6.c devip: fix packet loss when interface is wlocked 2020-01-05 18:20:47 +01:00
ipv6.h devip: fix fragment forwarding 2019-03-04 03:05:30 +01:00
loopbackmedium.c devip: fix packet loss when interface is wlocked 2020-01-05 18:20:47 +01:00
netdevmedium.c devip: fix packet loss when interface is wlocked 2020-01-05 18:20:47 +01:00
netlog.c
nullmedium.c
pktmedium.c
rudp.c devip: use the routing table for local source ip address selection 2019-11-10 19:50:46 +01:00
tcp.c devip: if the server does not support TCP ws option, disable window scaling (thanks joe9) 2019-05-22 22:20:31 +02:00
udp.c devip: use the routing table for local source ip address selection 2019-11-10 19:50:46 +01:00