Commit 9a6d8762 authored by Liping Zhang's avatar Liping Zhang Committed by Pablo Neira Ayuso

netfilter: pkttype: unnecessary to check ipv6 multicast address

Since there's no broadcast address in IPV6, so in ipv6 family, the
PACKET_LOOPBACK must be multicast packets, there's no need to check
it again.
Signed-off-by: default avatarLiping Zhang <zlpnobody@gmail.com>
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent ec231890
...@@ -154,10 +154,7 @@ void nft_meta_get_eval(const struct nft_expr *expr, ...@@ -154,10 +154,7 @@ void nft_meta_get_eval(const struct nft_expr *expr,
*dest = PACKET_BROADCAST; *dest = PACKET_BROADCAST;
break; break;
case NFPROTO_IPV6: case NFPROTO_IPV6:
if (ipv6_hdr(skb)->daddr.s6_addr[0] == 0xFF) *dest = PACKET_MULTICAST;
*dest = PACKET_MULTICAST;
else
*dest = PACKET_BROADCAST;
break; break;
default: default:
WARN_ON(1); WARN_ON(1);
......
...@@ -33,8 +33,7 @@ pkttype_mt(const struct sk_buff *skb, struct xt_action_param *par) ...@@ -33,8 +33,7 @@ pkttype_mt(const struct sk_buff *skb, struct xt_action_param *par)
else if (xt_family(par) == NFPROTO_IPV4 && else if (xt_family(par) == NFPROTO_IPV4 &&
ipv4_is_multicast(ip_hdr(skb)->daddr)) ipv4_is_multicast(ip_hdr(skb)->daddr))
type = PACKET_MULTICAST; type = PACKET_MULTICAST;
else if (xt_family(par) == NFPROTO_IPV6 && else if (xt_family(par) == NFPROTO_IPV6)
ipv6_hdr(skb)->daddr.s6_addr[0] == 0xFF)
type = PACKET_MULTICAST; type = PACKET_MULTICAST;
else else
type = PACKET_BROADCAST; type = PACKET_BROADCAST;
......
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