Commit 9fd07841 authored by Daniel Borkmann's avatar Daniel Borkmann Committed by David S. Miller

net: ipv6: mcast: minor: use defines for rfc3810/8.1 lengths

Instead of hard-coding length values, use a define to make it clear
where those lengths come from.
Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
Acked-by: default avatarHannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c2cef4e8
...@@ -107,9 +107,12 @@ static int ip6_mc_add_src(struct inet6_dev *idev, const struct in6_addr *pmca, ...@@ -107,9 +107,12 @@ static int ip6_mc_add_src(struct inet6_dev *idev, const struct in6_addr *pmca,
static int ip6_mc_leave_src(struct sock *sk, struct ipv6_mc_socklist *iml, static int ip6_mc_leave_src(struct sock *sk, struct ipv6_mc_socklist *iml,
struct inet6_dev *idev); struct inet6_dev *idev);
#define MLD_QRV_DEFAULT 2 #define MLD_QRV_DEFAULT 2
/* RFC3810, 8.1 Query Version Distinctions */
#define MLD_V1_QUERY_LEN 24
#define MLD_V2_QUERY_LEN_MIN 28
#define MLD_V1_SEEN(idev) (dev_net((idev)->dev)->ipv6.devconf_all->force_mld_version == 1 || \ #define MLD_V1_SEEN(idev) (dev_net((idev)->dev)->ipv6.devconf_all->force_mld_version == 1 || \
(idev)->cnf.force_mld_version == 1 || \ (idev)->cnf.force_mld_version == 1 || \
((idev)->mc_v1_seen && \ ((idev)->mc_v1_seen && \
...@@ -1146,7 +1149,7 @@ int igmp6_event_query(struct sk_buff *skb) ...@@ -1146,7 +1149,7 @@ int igmp6_event_query(struct sk_buff *skb)
!(group_type&IPV6_ADDR_MULTICAST)) !(group_type&IPV6_ADDR_MULTICAST))
return -EINVAL; return -EINVAL;
if (len == 24) { if (len == MLD_V1_QUERY_LEN) {
int switchback; int switchback;
/* MLDv1 router present */ /* MLDv1 router present */
...@@ -1160,7 +1163,7 @@ int igmp6_event_query(struct sk_buff *skb) ...@@ -1160,7 +1163,7 @@ int igmp6_event_query(struct sk_buff *skb)
__in6_dev_put(idev); __in6_dev_put(idev);
/* clear deleted report items */ /* clear deleted report items */
mld_clear_delrec(idev); mld_clear_delrec(idev);
} else if (len >= 28) { } else if (len >= MLD_V2_QUERY_LEN_MIN) {
int srcs_offset = sizeof(struct mld2_query) - int srcs_offset = sizeof(struct mld2_query) -
sizeof(struct icmp6hdr); sizeof(struct icmp6hdr);
if (!pskb_may_pull(skb, srcs_offset)) if (!pskb_may_pull(skb, srcs_offset))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment