kernel_optimize_test/net/ipv6
Jeff Barnhill 2384d02520 net/ipv6: Add anycast addresses to a global hashtable
icmp6_send() function is expensive on systems with a large number of
interfaces. Every time it’s called, it has to verify that the source
address does not correspond to an existing anycast address by looping
through every device and every anycast address on the device.  This can
result in significant delays for a CPU when there are a large number of
neighbors and ND timers are frequently timing out and calling
neigh_invalidate().

Add anycast addresses to a global hashtable to allow quick searching for
matching anycast addresses.  This is based on inet6_addr_lst in addrconf.c.

Signed-off-by: Jeff Barnhill <0xeffeff@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-11-02 23:54:56 -07:00
..
ila
netfilter netfilter: masquerade: don't flush all conntracks if only one address deleted on device 2018-09-28 14:28:26 +02:00
addrconf_core.c
addrconf.c net/{ipv4,ipv6}: Do not put target net if input nsid is invalid 2018-10-25 16:21:31 -07:00
addrlabel.c net/ipv6: Update ip6addrlbl_dump for strict data checking 2018-10-08 10:39:05 -07:00
af_inet6.c net/ipv6: Add anycast addresses to a global hashtable 2018-11-02 23:54:56 -07:00
ah6.c
anycast.c net/ipv6: Add anycast addresses to a global hashtable 2018-11-02 23:54:56 -07:00
calipso.c
datagram.c net: add helpers checking if socket can be bound to nonlocal address 2018-08-01 09:50:04 -07:00
esp6_offload.c
esp6.c esp: remove redundant define esph 2018-08-29 08:02:43 +02:00
exthdrs_core.c
exthdrs_offload.c
exthdrs.c
fib6_notifier.c
fib6_rules.c
fou6.c
icmp.c ipv6: Add icmp_echo_ignore_all support for ICMPv6 2018-08-13 08:42:25 -07:00
inet6_connection_sock.c
inet6_hashtables.c bpf: Enable BPF_PROG_TYPE_SK_REUSEPORT bpf prog in reuseport selection 2018-08-11 01:58:46 +02:00
ip6_checksum.c net: udp: fix handling of CHECKSUM_COMPLETE packets 2018-10-24 14:18:16 -07:00
ip6_fib.c net: Don't return invalid table id error when dumping all families 2018-10-24 14:06:25 -07:00
ip6_flowlabel.c
ip6_gre.c ip6_gre: simplify gre header parsing in ip6gre_err 2018-09-16 15:32:59 -07:00
ip6_icmp.c
ip6_input.c ipv6: Allow the l3mdev to be a loopback 2018-09-19 21:23:01 -07:00
ip6_offload.c gso_segment: Reset skb->mac_len after modifying network header 2018-09-13 12:09:32 -07:00
ip6_offload.h
ip6_output.c Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-09-18 09:33:27 -07:00
ip6_tunnel.c ip6_tunnel: Fix encapsulation layout 2018-10-18 16:54:40 -07:00
ip6_udp_tunnel.c
ip6_vti.c vti6: remove !skb->ignore_df check from vti6_xmit() 2018-08-29 17:51:44 -07:00
ip6mr.c net: Don't return invalid table id error when dumping all families 2018-10-24 14:06:25 -07:00
ipcomp6.c
ipv6_sockglue.c ipv6: Add sockopt IPV6_MULTICAST_ALL analogue to IP_MULTICAST_ALL 2018-09-13 08:17:27 -07:00
Kconfig
Makefile
mcast_snoop.c
mcast.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-10-19 11:03:06 -07:00
mip6.c
ndisc.c ipv6/ndisc: Preserve IPv6 control buffer if protocol error handlers are called 2018-10-26 15:58:06 -07:00
netfilter.c
output_core.c
ping.c
proc.c
protocol.c
raw.c ipv6: take rcu lock in rawv6_send_hdrinc() 2018-10-05 14:45:34 -07:00
reassembly.c net/ipfrag: let ip[6]frag_high_thresh in ns be higher than in init_net 2018-09-21 19:45:52 -07:00
route.c net/ipv6: Allow onlink routes to have a device mismatch if it is the default route 2018-10-24 14:36:38 -07:00
seg6_hmac.c
seg6_iptunnel.c
seg6_local.c bpf: add End.DT6 action to bpf_lwt_seg6_action helper 2018-07-31 09:22:48 +02:00
seg6.c
sit.c net-ipv4: remove 2 always zero parameters from ipv4_redirect() 2018-09-26 20:30:55 -07:00
syncookies.c
sysctl_net_ipv6.c
tcp_ipv6.c
tcpv6_offload.c
tunnel6.c
udp_impl.h
udp_offload.c udp: gro behind static key 2018-10-05 11:52:38 -07:00
udp.c net: allow traceroute with a specified interface in a vrf 2018-10-26 16:03:08 -07:00
udplite.c
xfrm6_input.c xfrm: reset transport header back to network header after all input transforms ahave been applied 2018-09-04 10:26:30 +02:00
xfrm6_mode_beet.c
xfrm6_mode_ro.c
xfrm6_mode_transport.c xfrm: reset transport header back to network header after all input transforms ahave been applied 2018-09-04 10:26:30 +02:00
xfrm6_mode_tunnel.c
xfrm6_output.c xfrm6: call kfree_skb when skb is toobig 2018-09-03 07:37:57 +02:00
xfrm6_policy.c net/xfrm: fix out-of-bounds packet access 2018-10-11 13:24:46 +02:00
xfrm6_protocol.c
xfrm6_state.c
xfrm6_tunnel.c