diff --git a/net/netfilter/xt_pkttype.c b/net/netfilter/xt_pkttype.c index 276244902ab..080f3246eee 100644 --- a/net/netfilter/xt_pkttype.c +++ b/net/netfilter/xt_pkttype.c @@ -31,7 +31,8 @@ pkttype_mt(const struct sk_buff *skb, const struct net_device *in, const struct xt_pkttype_info *info = matchinfo; if (skb->pkt_type == PACKET_LOOPBACK) - type = ipv4_is_multicast(ip_hdr(skb)->daddr) + type = match->family == AF_INET && + ipv4_is_multicast(ip_hdr(skb)->daddr) ? PACKET_MULTICAST : PACKET_BROADCAST; else