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 MFp4 bz_ipv6_fast: 2012-05-24 18:25:09 +00:00
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 Remove __P. 2012-10-22 21:49:56 +00:00
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 Use FF02:0:0:0:0:2:FF00::/104 prefix for IPv6 Node Information Group 2013-05-04 19:16:26 +00:00
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 Remove __P. 2012-10-22 21:49:56 +00:00
in6_pcbgroup.c Implement a CPU-affine TCP and UDP connection lookup data structure, 2011-06-06 12:55:02 +00:00
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 - Use time_uptime instead of time_second in data structures for 2013-08-05 20:13:02 +00:00
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 Move the global M_SKIP_FIREWALL mbuf flags to a protocol layer specific 2013-08-19 11:08:36 +00:00
ip6.h
ip6protosw.h Remove __P. 2012-10-22 21:49:56 +00:00
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 Remove most of the remaining sysctl name list macros. They were only 2013-08-26 18:16:05 +00:00
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 Migrate structs ip6stat, icmp6stat and rip6stat to PCPU counters. 2013-07-09 09:54:54 +00:00
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 - Move definition of V_deembed_scopeid to scope6_var.h. 2012-12-05 19:45:24 +00:00
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 Add support for SCTP/UDP/IPV6. 2012-11-17 20:04:04 +00:00
send.c Free mbuf in case of error. 2013-12-17 10:53:17 +00:00
send.h Use uint8_t for sockaddr sa_len. 2011-06-05 11:40:30 +00:00
tcp6_var.h Remove __P. 2012-10-22 21:49:56 +00:00
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