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@

Reply via email to