linux-kernelorg-stable/net/core
Ido Schimmel da654c80a0 rtnetlink: bridge: mcast: Relax group address validation in common code
In the upcoming VXLAN MDB implementation, the 0.0.0.0 and :: MDB entries
will act as catchall entries for unregistered IP multicast traffic in a
similar fashion to the 00:00:00:00:00:00 VXLAN FDB entry that is used to
transmit BUM traffic.

In deployments where inter-subnet multicast forwarding is used, not all
the VTEPs in a tenant domain are members in all the broadcast domains.
It is therefore advantageous to transmit BULL (broadcast, unknown
unicast and link-local multicast) and unregistered IP multicast traffic
on different tunnels. If the same tunnel was used, a VTEP only
interested in IP multicast traffic would also pull all the BULL traffic
and drop it as it is not a member in the originating broadcast domain
[1].

Prepare for this change by allowing the 0.0.0.0 group address in the
common rtnetlink MDB code and forbid it in the bridge driver. A similar
change is not needed for IPv6 because the common code only validates
that the group address is not the all-nodes address.

[1] https://datatracker.ietf.org/doc/html/draft-ietf-bess-evpn-irb-mcast#section-2.6

Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-03-17 08:05:49 +00:00
..
Makefile netdev-genl: create a simple family for netdev stuff 2023-02-02 20:48:23 -08:00
bpf_sk_storage.c bpf, net: bpf_local_storage memory usage 2023-03-07 09:33:43 -08:00
datagram.c
dev.c net: remove enum skb_free_reason 2023-03-07 23:57:19 -08:00
dev.h net-sysctl: factor-out rpm mask manipulation helpers 2023-02-09 17:45:55 -08:00
dev_addr_lists.c
dev_addr_lists_test.c
dev_ioctl.c
drop_monitor.c
dst.c ipv6: remove max_size check inline with ipv4 2023-01-13 20:59:14 -08:00
dst_cache.c
failover.c net: failover: use IFF_NO_ADDRCONF flag to prevent ipv6 addrconf 2022-12-12 15:18:25 -08:00
fib_notifier.c
fib_rules.c
filter.c neighbour: annotate lockless accesses to n->nud_state 2023-03-15 00:37:32 -07:00
flow_dissector.c
flow_offload.c
gen_estimator.c treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
gen_stats.c
gro.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-02-02 14:49:55 -08:00
gro_cells.c
hwbm.c
link_watch.c
lwt_bpf.c
lwtunnel.c
neighbour.c neighbour: annotate lockless accesses to n->nud_state 2023-03-15 00:37:32 -07:00
net-procfs.c
net-sysfs.c net: make default_rps_mask a per netns attribute 2023-02-20 11:22:54 +00:00
net-sysfs.h
net-traces.c net: bridge: Add a tracepoint for MDB overflows 2023-02-06 08:48:25 +00:00
net_namespace.c net: initialize net->notrefcnt_tracker earlier 2023-02-09 22:49:25 -08:00
netclassid_cgroup.c
netdev-genl-gen.c ynl: re-license uniformly under GPL-2.0 OR BSD-3-Clause 2023-03-07 13:44:30 -08:00
netdev-genl-gen.h ynl: re-license uniformly under GPL-2.0 OR BSD-3-Clause 2023-03-07 13:44:30 -08:00
netdev-genl.c netdev-genl: create a simple family for netdev stuff 2023-02-02 20:48:23 -08:00
netevent.c
netpoll.c netpoll: Remove 4s sleep during carrier detection 2023-01-27 23:24:07 -08:00
netprio_cgroup.c
of_net.c
page_pool.c net: page_pool: use in_softirq() instead 2023-02-06 09:15:22 +00:00
pktgen.c
ptp_classifier.c
request_sock.c
rtnetlink.c rtnetlink: bridge: mcast: Relax group address validation in common code 2023-03-17 08:05:49 +00:00
scm.c scm: add user copy checks to put_cmsg() 2023-02-20 11:39:59 +00:00
secure_seq.c
selftests.c
skbuff.c skbuff: Add likely to skb pointer in build_skb() 2023-03-10 16:49:21 -08:00
skmsg.c net/sock: Introduce trace_sk_data_ready() 2023-01-23 11:26:50 +00:00
sock.c net: use indirect calls helpers for sk_exit_memory_pressure() 2023-03-02 11:35:06 +01:00
sock_destructor.h
sock_diag.c
sock_map.c bpf, net: sock_map memory usage 2023-03-07 09:33:43 -08:00
sock_reuseport.c
stream.c net: Remove WARN_ON_ONCE(sk->sk_forward_alloc) from sk_stream_kill_queues(). 2023-02-10 19:53:42 -08:00
sysctl_net_core.c net: make default_rps_mask a per netns attribute 2023-02-20 11:22:54 +00:00
timestamping.c
tso.c
utils.c
xdp.c bpf-next-for-netdev 2023-02-10 17:51:27 -08:00