freebsd-dev/sys/netinet6
Alexander V. Chernikov f6990c4e3e Further simplify nd6_output_lle.
Currently we have 3 usage patterns:
1) nd6_output (most traffic flow, no lle supplied, lle RLOCK sufficient)
2) corner cases for output (no lle, STALE lle, so on). lle WLOCK needed.
3) nd* iunternal machinery (WLOCK'ed lle provided, perform packet queing).

We separate case 1 and implement it inside its only customer - nd6_output.
This leads to some code duplication (especialy SEND stuff, which should be
hooked to output in a different way), but simplifies locking and control
flow logic fir nd6_output_lle.

Reviewed by:	ae
MFC after:	3 weeks
Sponsored by:	Yandex LLC
2014-02-13 19:09:04 +00:00
..
dest6.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
frag6.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
icmp6.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
icmp6.h
in6_cksum.c
in6_gif.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
in6_gif.h
in6_ifattach.c Add in6_prepare_ifra() function to ease preparing in-kernel IPv6 2014-01-18 20:32:59 +00:00
in6_ifattach.h
in6_mcast.c Mechanically replace direct accessing to if_xname to using if_name() macro. 2014-01-10 12:33:28 +00:00
in6_pcb.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
in6_pcb.h
in6_pcbgroup.c
in6_proto.c o Revamp API between flowtable and netinet, netinet6. 2014-02-07 15:18:23 +00:00
in6_rmx.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
in6_src.c Introduce IN6_MASK_ADDR() macro to unify various hand-rolled code 2014-01-08 22:13:32 +00:00
in6_var.h Further rework netinet6 address handling code: 2014-01-19 16:07:27 +00:00
in6.c Further rework netinet6 address handling code: 2014-01-19 16:07:27 +00:00
in6.h
ip6_ecn.h
ip6_forward.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
ip6_id.c Provide includes that are needed in these files, and before were read 2013-10-26 18:18:50 +00:00
ip6_input.c Drop packets to multicast address whose scop field contains the 2014-02-13 14:10:44 +00:00
ip6_ipsec.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
ip6_ipsec.h
ip6_mroute.c Only count table lookups when we're actually processing packets. 2014-02-10 14:47:51 +00:00
ip6_mroute.h revert part of r260485 which changes how part of the header gets 2014-01-09 22:41:18 +00:00
ip6_output.c o Revamp API between flowtable and netinet, netinet6. 2014-02-07 15:18:23 +00:00
ip6_var.h
ip6.h
ip6protosw.h
mld6_var.h
mld6.c Mechanically replace direct accessing to if_xname to using if_name() macro. 2014-01-10 12:33:28 +00:00
mld6.h
nd6_nbr.c lla_lookup() does modification only when LLE_CREATE is specified. 2014-01-02 08:40:37 +00:00
nd6_rtr.c Use in6_localip() instead of hand-rolled cycle. 2014-01-18 20:54:55 +00:00
nd6.c Further simplify nd6_output_lle. 2014-02-13 19:09:04 +00:00
nd6.h Further rework netinet6 address handling code: 2014-01-19 16:07:27 +00:00
pim6_var.h
pim6.h
raw_ip6.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
raw_ip6.h
route6.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
scope6_var.h
scope6.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
sctp6_usrreq.c Changes from upstream to improve compilation when INET or INET6 2013-11-02 20:12:19 +00:00
sctp6_var.h
send.c Free mbuf in case of error. 2013-12-17 10:53:17 +00:00
send.h
tcp6_var.h
udp6_usrreq.c - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
udp6_var.h