plan9fox/sys/src/9/ip
cinap_lenrek 4971db9e32 udp: fix udp checksum
we did not apply the special case to store 0xFFFF (-0)
in the checksum field when the checksum calculation
returned zero. we survived this for v4 as RFC768 states:

> If the computed checksum is zero, it is transmitted as
> all ones (the equivalent in one's complement arithmetic).
>
> An all zero transmitted checksum value means that the
> transmitter generated no checksum (for debuging or for
> higher level protocols that don't care).

for ipv6 however, the checksum is not optional and receivers
would drop packets with a zero checksum.
2018-06-14 20:48:21 +02:00
..
arp.c ip: add some primitive rate limiting knobs to counteract bufferbloat 2018-05-10 19:31:58 +02:00
chandial.c ip/chandial: fail with Ebadarg instead of printing memory contents 2016-02-12 23:52:50 +02:00
devip.c devip: properly initialize the connection ignoreadvice and tos flags 2018-04-10 20:02:03 +02:00
eipconvtest.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
esp.c devip: fix ipv6 icmp unreachable handling, fix retransmit, fix ifc locking, remove tentative check 2018-04-22 18:54:13 +02:00
ethermedium.c devip: don't send arp requests from null address 2018-06-14 00:07:45 +02:00
gre.c gre: don't drop pptp packets when smaller than v4 header 2018-01-20 15:13:11 +01:00
icmp.c devip: various icmp stuff 2018-04-22 18:47:19 +02:00
icmp6.c devip: do not icmp reply on multicast destination 2018-06-11 03:14:28 +02:00
igmp.c kernel/ip: remove nil checks for allocb() and padblock() 2016-11-08 21:05:01 +01:00
il.c ip: simplify code as packblock() and concatblock() will never error 2016-10-23 00:31:42 +02:00
inferno.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
ip.c ip: add some primitive rate limiting knobs to counteract bufferbloat 2018-05-10 19:31:58 +02:00
ip.h ip: add some primitive rate limiting knobs to counteract bufferbloat 2018-05-10 19:31:58 +02:00
ipaux.c devip: more v6 improvements 2018-03-18 07:50:48 +01:00
ipifc.c devip: don't send arp requests from null address 2018-06-14 00:07:45 +02:00
ipmux.c devip: cleanup ipmux.c 2018-04-22 18:50:45 +02:00
iproute.c devip: verify ifcid on routehint check, check Route.ref for free'd routes 2018-04-22 18:42:22 +02:00
ipv6.c ip: add some primitive rate limiting knobs to counteract bufferbloat 2018-05-10 19:31:58 +02:00
ipv6.h devip: add "reflect" ctl message, fix memory leaks in icmpv6, fix source address for icmpttlexceeded, cleanup 2018-04-19 01:08:51 +02:00
loopbackmedium.c devip: increment in counter *AFTER* acquiering the ifc lock or loopbackmedium 2018-04-22 18:50:11 +02:00
netdevmedium.c devip: increment in counter *AFTER* acquiering the ifc lock or loopbackmedium 2018-04-22 18:50:11 +02:00
netlog.c devip: handle malloc errors, fix queue leaks 2013-05-05 03:56:11 +02:00
nullmedium.c ip/nullmedium: free passed block in nullbwrite() 2016-11-07 21:40:12 +01:00
pktmedium.c ip: make pkt interfaces unbind on close (from inferno) 2018-01-22 21:33:22 +01:00
ptclbsum.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
rudp.c devip: cleanup rudp.c 2018-04-22 18:49:01 +02:00
tcp.c devip: cleanup tcp.c 2018-04-22 18:48:32 +02:00
udp.c udp: fix udp checksum 2018-06-14 20:48:21 +02:00