plan9fox/sys/src/9/ip
cinap_lenrek 547f60b4c5 devip: pick source address for neighbor solicitations as of rfc4861 7.2.2, cleanup
rfc4861 7.2.2:

If the source address of the packet prompting the solicitation is the
same as one of the addresses assigned to the outgoing interface, that
address SHOULD be placed in the IP Source Address of the outgoing
solicitation.

this change adds ndbsendsol() which handles the source address selection
and also handles the arp table locking; avoiding access to the arp entry
after the arp table is unlocked.

cleanups:

- use ipmove() instead of memmove().
- useless extern qualifiers
2018-03-19 01:11:08 +01:00
..
arp.c devip: pick source address for neighbor solicitations as of rfc4861 7.2.2, cleanup 2018-03-19 01:11:08 +01:00
chandial.c ip/chandial: fail with Ebadarg instead of printing memory contents 2016-02-12 23:52:50 +02:00
devip.c devip: more v6 improvements 2018-03-18 07:50:48 +01:00
eipconvtest.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
esp.c devip: more v6 improvements 2018-03-18 07:50:48 +01:00
ethermedium.c devip: pick source address for neighbor solicitations as of rfc4861 7.2.2, cleanup 2018-03-19 01:11:08 +01: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: pick source address for neighbor solicitations as of rfc4861 7.2.2, cleanup 2018-03-19 01:11:08 +01:00
icmp6.c devip: pick source address for neighbor solicitations as of rfc4861 7.2.2, cleanup 2018-03-19 01:11:08 +01: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 devip: more v6 improvements 2018-03-18 07:50:48 +01:00
ip.h devip: pick source address for neighbor solicitations as of rfc4861 7.2.2, cleanup 2018-03-19 01:11:08 +01:00
ipaux.c devip: more v6 improvements 2018-03-18 07:50:48 +01:00
ipifc.c devip: more v6 improvements 2018-03-18 07:50:48 +01:00
ipmux.c ip: simplify code as packblock() and concatblock() will never error 2016-10-23 00:31:42 +02:00
iproute.c devip: more v6 improvements 2018-03-18 07:50:48 +01:00
ipv6.c devip: more v6 improvements 2018-03-18 07:50:48 +01:00
ipv6.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
loopbackmedium.c kernel: remove Ipifc.mbps, unused. 2017-12-23 02:58:47 +01:00
netdevmedium.c ip: always pass a single block to Medium.bwrite(), avoid concatblock() calls in Dev.bwrite() 2016-11-07 22:05:29 +01: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: more v6 improvements 2018-03-18 07:50:48 +01:00
tcp.c kernel: add "close" ctl message for tcp connection to gracefully hang up a connection without a tcp reset (used by go) 2017-01-12 20:04:41 +01:00
udp.c devip: more v6 improvements 2018-03-18 07:50:48 +01:00