CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2014/11/20 06:54:24
Modified files:
sys/net : pf.c
sys/netinet6 : ip6_forward.c ip6_input.c ip6_output.c nd6.c
nd6.h nd6_nbr.c
Log message:
Rework the handling of interfaces and IPv6 addresses for local delivery.
- Unicast packets sent to any local address will have their interface
set to loobpack.
- In order to differentiate traffic from interfaces having identical
link-local addresses, provide the scoped addresses to pf(4).
- Update the icmp6 state lookup logic to match scoped MLL addresses.
- Remove a shortcut in ip6_input() that bypasses pf and always look
for an RTF_LOCAL route.
Packets sent to multicast addresses still retain their original
interface due to the fact that local multicast packet delivering
does not use if_output.
This makes ping6 to link-local addresses work even with pf enabled
and "set skip" on loopbacks, reported by Pieter Verberne.
Debugged, analysed and tested with mikeb@.
ok mikeb@, henning@, sthen@