mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-26 11:47:31 +00:00
7caf4ab7ac
four counters to struct ifaddr. This kills '+=' on a variables shared between processors for every packet. - Nuke struct if_data from struct ifaddr. - In ip_input() do not put a reference on ifaddr, instead update statistics right now in place and do IN_IFADDR_RUNLOCK(). These removes atomic(9) for every packet. [1] - To properly support NET_RT_IFLISTL sysctl used by getifaddrs(3), in rtsock.c fill if_data fields using counter_u64_fetch(). - Accidentially fix bug in COMPAT_32 version of NET_RT_IFLISTL, which took if_data not from the ifaddr, but from ifaddr's ifnet. [2] Submitted by: melifaro [1], pluknet[2] Sponsored by: Netflix Sponsored by: Nginx, Inc. |
||
---|---|---|
.. | ||
dest6.c | ||
frag6.c | ||
icmp6.c | ||
icmp6.h | ||
in6_cksum.c | ||
in6_gif.c | ||
in6_gif.h | ||
in6_ifattach.c | ||
in6_ifattach.h | ||
in6_mcast.c | ||
in6_pcb.c | ||
in6_pcb.h | ||
in6_pcbgroup.c | ||
in6_proto.c | ||
in6_rmx.c | ||
in6_src.c | ||
in6_var.h | ||
in6.c | ||
in6.h | ||
ip6_ecn.h | ||
ip6_forward.c | ||
ip6_id.c | ||
ip6_input.c | ||
ip6_ipsec.c | ||
ip6_ipsec.h | ||
ip6_mroute.c | ||
ip6_mroute.h | ||
ip6_output.c | ||
ip6_var.h | ||
ip6.h | ||
ip6protosw.h | ||
mld6_var.h | ||
mld6.c | ||
mld6.h | ||
nd6_nbr.c | ||
nd6_rtr.c | ||
nd6.c | ||
nd6.h | ||
pim6_var.h | ||
pim6.h | ||
raw_ip6.c | ||
raw_ip6.h | ||
route6.c | ||
scope6_var.h | ||
scope6.c | ||
sctp6_usrreq.c | ||
sctp6_var.h | ||
send.c | ||
send.h | ||
tcp6_var.h | ||
udp6_usrreq.c | ||
udp6_var.h |