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: Liping Zhang <zlpnobody@gmail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
Родитель
ec23189049
Коммит
9a6d876262
|
@ -154,10 +154,7 @@ void nft_meta_get_eval(const struct nft_expr *expr,
|
|||
*dest = PACKET_BROADCAST;
|
||||
break;
|
||||
case NFPROTO_IPV6:
|
||||
if (ipv6_hdr(skb)->daddr.s6_addr[0] == 0xFF)
|
||||
*dest = PACKET_MULTICAST;
|
||||
else
|
||||
*dest = PACKET_BROADCAST;
|
||||
*dest = PACKET_MULTICAST;
|
||||
break;
|
||||
default:
|
||||
WARN_ON(1);
|
||||
|
|
|
@ -33,8 +33,7 @@ pkttype_mt(const struct sk_buff *skb, struct xt_action_param *par)
|
|||
else if (xt_family(par) == NFPROTO_IPV4 &&
|
||||
ipv4_is_multicast(ip_hdr(skb)->daddr))
|
||||
type = PACKET_MULTICAST;
|
||||
else if (xt_family(par) == NFPROTO_IPV6 &&
|
||||
ipv6_hdr(skb)->daddr.s6_addr[0] == 0xFF)
|
||||
else if (xt_family(par) == NFPROTO_IPV6)
|
||||
type = PACKET_MULTICAST;
|
||||
else
|
||||
type = PACKET_BROADCAST;
|
||||
|
|
Загрузка…
Ссылка в новой задаче