aboutsummaryrefslogtreecommitdiff
path: root/include/uapi
diff options
context:
space:
mode:
authorGravatar Linus Lüssing <linus.luessing@c0d3.blue> 2024-03-06 15:18:04 +0100
committerGravatar Pablo Neira Ayuso <pablo@netfilter.org> 2024-05-06 11:13:56 +0200
commit4a3540a8bf3c13dc3955f0c0895332b9c653be3f (patch)
treee581dd1a016ad4fdde3f155eb7549c2d61dc2d28 /include/uapi
parentnetfilter: nf_tables: remove NETDEV_CHANGENAME from netdev chain event handler (diff)
downloadlinux-4a3540a8bf3c13dc3955f0c0895332b9c653be3f.tar.gz
linux-4a3540a8bf3c13dc3955f0c0895332b9c653be3f.tar.bz2
linux-4a3540a8bf3c13dc3955f0c0895332b9c653be3f.zip
netfilter: conntrack: fix ct-state for ICMPv6 Multicast Router Discovery
So far Multicast Router Advertisements and Multicast Router Solicitations from the Multicast Router Discovery protocol (RFC4286) would be marked as INVALID for IPv6, even if they are in fact intact and adhering to RFC4286. This broke MRA reception and by that multicast reception on IPv6 multicast routers in a Proxmox managed setup, where Proxmox would install a rule like "-m conntrack --ctstate INVALID -j DROP" at the top of the FORWARD chain with br-nf-call-ip6tables enabled by default. Similar to as it's done for MLDv1, MLDv2 and IPv6 Neighbor Discovery already, fix this issue by excluding MRD from connection tracking handling as MRD always uses predefined multicast destinations for its messages, too. This changes the ct-state for ICMPv6 MRD messages from INVALID to UNTRACKED. This issue was found and fixed with the help of the mrdisc tool (https://github.com/troglobit/mrdisc). Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'include/uapi')
-rw-r--r--include/uapi/linux/icmpv6.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/uapi/linux/icmpv6.h b/include/uapi/linux/icmpv6.h
index ecaece3af38d..4eaab89e2856 100644
--- a/include/uapi/linux/icmpv6.h
+++ b/include/uapi/linux/icmpv6.h
@@ -112,6 +112,7 @@ struct icmp6hdr {
#define ICMPV6_MOBILE_PREFIX_ADV 147
#define ICMPV6_MRDISC_ADV 151
+#define ICMPV6_MRDISC_SOL 152
#define ICMPV6_MSG_MAX 255