guodeqing
6ac341cec7
net: Fix the arp error in some cases
...
[ Upstream commit 5eea3a63ff4aba6a26002e657a6d21934b7e2b96 ]
ie.,
$ ifconfig eth0 6.6.6.6 netmask 255.255.255.0
$ ip rule add from 6.6.6.6 table 6666
$ ip route add 9.9.9.9 via 6.6.6.6
$ ping -I 6.6.6.6 9.9.9.9
PING 9.9.9.9 (9.9.9.9) from 6.6.6.6 : 56(84) bytes of data.
3 packets transmitted, 0 received, 100% packet loss, time 2079ms
$ arp
Address HWtype HWaddress Flags Mask Iface
6.6.6.6 (incomplete) eth0
The arp request address is error, this is because fib_table_lookup in
fib_check_nh lookup the destnation 9.9.9.9 nexthop, the scope of
the fib result is RT_SCOPE_LINK,the correct scope is RT_SCOPE_HOST.
Here I add a check of whether this is RT_TABLE_MAIN to solve this problem.
Fixes: 3bfd847203 ("net: Use passed in table for nexthop lookups")
Signed-off-by: guodeqing <geffrey.guo@huawei.com>
Reviewed-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-30 15:38:39 -04:00
..
netfilter
netfilter: nf_conntrack_pptp: prevent buffer overflows in debug code
2020-06-03 08:16:46 +02:00
af_inet.c
gso_segment: Reset skb->mac_len after modifying network header
2018-09-29 03:07:32 -07:00
ah4.c
arp.c
cipso_ipv4.c
netlabel: cope with NULL catmap
2020-05-20 08:15:39 +02:00
datagram.c
inet: stop leaking jiffies on the wire
2019-11-10 11:23:29 +01:00
devinet.c
devinet: fix memleak in inetdev_init()
2020-06-11 09:22:21 +02:00
esp4.c
fib_frontend.c
net: ipv4: Fix memory leak in network namespace dismantle
2019-01-31 08:12:33 +01:00
fib_lookup.h
fib_rules.c
fib_semantics.c
net: Fix the arp error in some cases
2020-06-30 15:38:39 -04:00
fib_trie.c
ipv4: fix a RCU-list lock in fib_triestat_seq_show
2020-04-13 10:32:51 +02:00
fou.c
net: fou: do not use guehdr after iptunnel_pull_offloads in gue_udp_recv
2019-04-27 09:34:40 +02:00
gre_demux.c
gre: fix uninit-value in __iptunnel_pull_header
2020-03-20 09:07:38 +01:00
gre_offload.c
icmp.c
net: icmp: fix data-race in cmp_global_allow()
2020-01-04 13:41:08 +01:00
igmp.c
igmp: fix memory leak in igmpv3_del_delrec()
2019-08-04 09:33:33 +02:00
inet_connection_sock.c
tcp/dccp: remove reqsk_put() from inet_child_forget()
2019-03-19 13:14:10 +01:00
inet_diag.c
tcp/dccp: fix possible race __inet_lookup_established()
2020-01-04 13:41:12 +01:00
inet_fragment.c
net: IP defrag: encapsulate rbtree defrag code into callable functions
2019-05-02 09:32:06 +02:00
inet_hashtables.c
tcp/dccp: fix possible race __inet_lookup_established()
2020-01-04 13:41:12 +01:00
inet_timewait_sock.c
inetpeer.c
net: ipv4: use a dedicated counter for icmp_v4 redirect packets
2019-02-23 09:05:59 +01:00
ip_forward.c
ip_fragment.c
net: IP defrag: encapsulate rbtree defrag code into callable functions
2019-05-02 09:32:06 +02:00
ip_gre.c
ip_gre: fix parsing gre header in ipgre_err
2019-11-25 09:52:23 +01:00
ip_input.c
vrf: check accept_source_route on the original netdevice
2019-04-17 08:36:45 +02:00
ip_options.c
vrf: check accept_source_route on the original netdevice
2019-04-17 08:36:45 +02:00
ip_output.c
inet: protect against too small mtu values.
2019-12-21 10:42:25 +01:00
ip_sockglue.c
ip: on queued skb use skb_header_pointer instead of pskb_may_pull
2019-01-23 08:10:54 +01:00
ip_tunnel.c
ip_tunnel: fix use-after-free in ip_tunnel_lookup()
2020-06-30 15:38:38 -04:00
ip_tunnel_core.c
ip_tunnel: don't force DF when MTU is locked
2018-11-23 08:20:34 +01:00
ip_vti.c
ip_vti: receive ipip packet by calling ip_tunnel_rcv
2020-06-03 08:16:45 +02:00
ipcomp.c
ipconfig.c
ipconfig: Correctly initialise ic_nameservers
2018-08-03 07:55:24 +02:00
ipip.c
net: ipip: fix wrong address family in init error path
2020-06-03 08:16:23 +02:00
ipmr.c
ipv4: Fix potential Spectre v1 vulnerability
2019-01-09 16:16:39 +01:00
Kconfig
vti[6]: fix packet tx through bpf_redirect() in XinY cases
2020-04-02 17:20:34 +02:00
Makefile
netfilter.c
ping.c
proc.c
tcp: tcp_fragment() should apply sane memory limits
2019-06-17 19:53:32 +02:00
protocol.c
raw.c
net: ipv4: emulate READ_ONCE() on ->hdrincl bit-field in raw_sendmsg()
2020-05-02 17:22:56 +02:00
route.c
net: revert "net: get rid of an signed integer overflow in ip_idents_reserve()"
2020-06-03 08:16:24 +02:00
syncookies.c
tcp: handle inet_csk_reqsk_queue_add() failures
2019-03-19 13:14:09 +01:00
sysctl_net_ipv4.c
tcp: add tcp_min_snd_mss sysctl
2019-06-17 19:53:33 +02:00
tcp.c
tcp: clear tp->segs_{in|out} in tcp_disconnect()
2020-02-14 16:30:59 -05:00
tcp_bbr.c
tcp_bbr: improve arithmetic division in bbr_update_bw()
2020-01-29 10:24:37 +01:00
tcp_bic.c
tcp_cdg.c
tcp_cong.c
tcp_cubic.c
tcp_cubic: fix spurious HYSTART_DELAY exit upon drop in min RTT
2020-06-30 15:38:39 -04:00
tcp_dctcp.c
tcp: Ensure DCTCP reacts to losses
2019-04-17 08:36:45 +02:00
tcp_diag.c
tcp_fastopen.c
tcp_highspeed.c
tcp_htcp.c
tcp_hybla.c
tcp_illinois.c
tcp_input.c
tcp: grow window for OOO packets only for SACK flows
2020-06-30 15:38:39 -04:00
tcp_ipv4.c
tcp/dccp: fix possible race __inet_lookup_established()
2020-01-04 13:41:12 +01:00
tcp_lp.c
tcp_metrics.c
tcp_minisocks.c
tcp: do not restart timewait timer on rst reception
2018-09-15 09:42:56 +02:00
tcp_nv.c
tcp_offload.c
tcp_output.c
tcp: do not send empty skb from tcp_write_xmit()
2020-01-04 13:41:13 +01:00
tcp_probe.c
tcp: Revert "tcp: tcp_probe: use spin_lock_bh()"
2018-09-15 09:43:01 +02:00
tcp_rate.c
tcp_recovery.c
tcp_scalable.c
tcp_timer.c
tcp: fix SNMP TCP timeout under-estimation
2019-12-21 10:41:17 +01:00
tcp_vegas.c
tcp_vegas.h
tcp_veno.c
tcp_westwood.c
tcp_yeah.c
tunnel4.c
udp.c
bpf: udp: Avoid calling reuseport's bpf_prog from udp_gro
2019-07-10 09:55:42 +02:00
udp_diag.c
udp_impl.h
udp_offload.c
udp_tunnel.c
udplite.c
xfrm4_input.c
xfrm4_mode_beet.c
xfrm4_mode_transport.c
xfrm4_mode_tunnel.c
xfrm4_output.c
xfrm: Always set XFRM_TRANSFORMED in xfrm{4,6}_output_finish
2020-05-02 17:23:09 +02:00
xfrm4_policy.c
xfrm4: Fix uninitialized memory read in _decode_session4
2019-05-25 18:26:55 +02:00
xfrm4_protocol.c
xfrm4_state.c
xfrm4_tunnel.c