linux_dsm_epyc7002/net/core
David Ahern 4b2a2bfeb3 neighbor: Call __ipv4_neigh_lookup_noref in neigh_xmit
Commit cd9ff4de01 changed the key for IFF_POINTOPOINT devices to
INADDR_ANY but neigh_xmit which is used for MPLS encapsulations was not
updated to use the altered key. The result is that every packet Tx does
a lookup on the gateway address which does not find an entry, a new one
is created only to find the existing one in the table right before the
insert since arp_constructor was updated to reset the primary key. This
is seen in the allocs and destroys counters:
    ip -s -4 ntable show | head -10 | grep alloc

which increase for each packet showing the unnecessary overhread.

Fix by having neigh_xmit use __ipv4_neigh_lookup_noref for NEIGH_ARP_TABLE.

Fixes: cd9ff4de01 ("ipv4: Make neigh lookup keys for loopback/point-to-point devices be INADDR_ANY")
Reported-by: Alan Maguire <alan.maguire@oracle.com>
Signed-off-by: David Ahern <dsahern@gmail.com>
Tested-by: Alan Maguire <alan.maguire@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-05-04 00:38:53 -04:00
..
datagram.c net: datagram: fix unbounded loop in __skb_try_recv_datagram() 2019-03-27 21:58:53 -07:00
dev_addr_lists.c
dev_ioctl.c
dev.c failover: allow name change on IFF_UP slave interfaces 2019-04-10 22:12:26 -07:00
devlink.c net: devlink: skip info_get op call if it is not defined in dumpit 2019-03-26 11:25:29 -07:00
drop_monitor.c
dst_cache.c
dst.c
ethtool.c net: ethtool: not call vzalloc for zero sized memory request 2019-03-29 13:41:55 -07:00
failover.c failover: allow name change on IFF_UP slave interfaces 2019-04-10 22:12:26 -07:00
fib_notifier.c
fib_rules.c
filter.c bpf: Check address length before reading address family 2019-04-12 10:25:03 -07:00
flow_dissector.c flow_dissector: fix clamping of BPF flow_keys for non-zero nhoff 2019-04-03 16:49:48 +02:00
flow_offload.c
gen_estimator.c
gen_stats.c net: sched: put back q.qlen into a single location 2019-03-02 14:10:18 -08:00
gro_cells.c gro_cells: make sure device is up in gro_cells_receive() 2019-03-10 11:07:14 -07:00
hwbm.c
link_watch.c
lwt_bpf.c net: fix GSO in bpf_lwt_push_ip_encap 2019-03-07 10:41:29 +01:00
lwtunnel.c ip_tunnel: Add dst_cache support in lwtunnel_state of ip tunnel 2019-02-24 22:13:49 -08:00
Makefile
neighbour.c neighbor: Call __ipv4_neigh_lookup_noref in neigh_xmit 2019-05-04 00:38:53 -04:00
net_namespace.c netns: provide pure entropy for net_hash_mix() 2019-03-28 17:00:45 -07:00
net-procfs.c
net-sysfs.c Revert "net-sysfs: Fix memory leak in netdev_register_kobject" 2019-04-15 13:10:27 -07:00
net-sysfs.h
net-traces.c trace: events: add a few neigh tracepoints 2019-02-17 10:33:39 -08:00
netclassid_cgroup.c
netevent.c
netpoll.c
netprio_cgroup.c
page_pool.c page_pool: use DMA_ATTR_SKIP_CPU_SYNC for DMA mappings 2019-02-13 22:00:16 -08:00
pktgen.c mm: replace all open encodings for NUMA_NO_NODE 2019-03-05 21:07:14 -08:00
ptp_classifier.c net/core: work around section mismatch warning for ptp_classifier 2019-04-16 20:46:17 -07:00
request_sock.c
rtnetlink.c rtnetlink: fix rtnl_valid_stats_req() nlmsg_len check 2019-04-14 14:10:08 -07:00
scm.c
secure_seq.c
skbuff.c net: Fix missing meta data in skb with vlan packet 2019-04-16 21:29:38 -07:00
skmsg.c bpf: Stop the psock parser before canceling its work 2019-03-07 15:16:20 +01:00
sock_diag.c
sock_map.c
sock_reuseport.c
sock.c socket: fix compat SO_RCVTIMEO_NEW/SO_SNDTIMEO_NEW 2019-04-16 21:52:22 -07:00
stream.c
sysctl_net_core.c
timestamping.c
tso.c
utils.c
xdp.c