Hangbin Liu
896585d48e
net/ipv6: re-do dad when interface has IFF_NOARP flag change
...
When we add a new IPv6 address, we should also join corresponding solicited-node
multicast address, unless the interface has IFF_NOARP flag, as function
addrconf_join_solict() did. But if we remove IFF_NOARP flag later, we do
not do dad and add the mcast address. So we will drop corresponding neighbour
discovery message that came from other nodes.
A typical example is after creating a ipvlan with mode l3, setting up an ipv6
address and changing the mode to l2. Then we will not be able to ping this
address as the interface doesn't join related solicited-node mcast address.
Fix it by re-doing dad when interface changed IFF_NOARP flag. Then we will add
corresponding mcast group and check if there is a duplicate address on the
network.
Reported-by: Jianlin Shi <jishi@redhat.com>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-11-23 11:17:56 -08:00
..
ila
ila: remove blank lines at EOF
2018-07-24 14:10:42 -07:00
netfilter
netfilter: ipv6: fix oops when defragmenting locally generated fragments
2018-10-25 10:18:26 +02:00
addrconf.c
net/ipv6: re-do dad when interface has IFF_NOARP flag change
2018-11-23 11:17:56 -08:00
addrconf_core.c
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: Move anycast init/cleanup functions out of CONFIG_PROC_FS
2018-11-05 13:36:27 -08:00
calipso.c
ipv6: make ipv6_renew_options() interrupt/kernel safe
2018-07-05 20:15:26 +09:00
datagram.c
net: add helpers checking if socket can be bound to nonlocal address
2018-08-01 09:50:04 -07:00
esp6.c
esp: remove redundant define esph
2018-08-29 08:02:43 +02:00
esp6_offload.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next
2018-07-27 09:33:37 -07:00
exthdrs.c
ipv6: make ipv6_renew_options() interrupt/kernel safe
2018-07-05 20:15:26 +09:00
exthdrs_core.c
exthdrs_offload.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
ipv6: properly check return value in inet6_dump_all()
2018-11-05 17:04:54 -08:00
ip6_flowlabel.c
ipv6: fold sockcm_cookie into ipcm6_cookie
2018-07-07 10:58:49 +09:00
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
net: remove blank lines at end of file
2018-07-24 14:10:43 -07:00
Makefile
mcast.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2018-10-19 11:03:06 -07:00
mcast_snoop.c
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
netfilter: utils: move nf_ip6_checksum* from ipv6 to utils
2018-07-16 17:51:48 +02:00
output_core.c
ping.c
ipv6: fold sockcm_cookie into ipcm6_cookie
2018-07-07 10:58:49 +09:00
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
ipv6: Fix PMTU updates for UDP/raw sockets in presence of VRF
2018-11-18 19:02:56 -08:00
seg6.c
rhashtable: split rhashtable.h
2018-06-22 13:43:27 +09:00
seg6_hmac.c
Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net
2018-07-03 10:29:26 +09:00
seg6_iptunnel.c
ipv6: sr: fix useless rol32 call on hash
2018-07-18 15:10:47 -07:00
seg6_local.c
bpf: add End.DT6 action to bpf_lwt_seg6_action helper
2018-07-31 09:22:48 +02:00
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
net/ipv6: Fix linklocal to global address with VRF
2018-07-21 19:31:46 -07:00
tcpv6_offload.c
net: Convert GRO SKB handling to list_head.
2018-06-26 11:33:04 +09:00
tunnel6.c
udp.c
net: allow traceroute with a specified interface in a vrf
2018-10-26 16:03:08 -07:00
udp_impl.h
udp_offload.c
udp: gro behind static key
2018-10-05 11:52:38 -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
ipv6: xfrm: use 64-bit timestamps
2018-07-11 15:26:35 +02:00
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