diff options
Diffstat (limited to 'net/ipv6/mcast.c')
-rw-r--r-- | net/ipv6/mcast.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c index fac1f27e428e..083b2927fc67 100644 --- a/net/ipv6/mcast.c +++ b/net/ipv6/mcast.c | |||
@@ -1644,8 +1644,9 @@ static void mld_sendpack(struct sk_buff *skb) | |||
1644 | 1644 | ||
1645 | payload_len = skb->len; | 1645 | payload_len = skb->len; |
1646 | 1646 | ||
1647 | err = NF_HOOK(NFPROTO_IPV6, NF_INET_LOCAL_OUT, skb, NULL, skb->dev, | 1647 | err = NF_HOOK(NFPROTO_IPV6, NF_INET_LOCAL_OUT, |
1648 | dst_output); | 1648 | net->ipv6.igmp_sk, skb, NULL, skb->dev, |
1649 | dst_output_sk); | ||
1649 | out: | 1650 | out: |
1650 | if (!err) { | 1651 | if (!err) { |
1651 | ICMP6MSGOUT_INC_STATS(net, idev, ICMPV6_MLD2_REPORT); | 1652 | ICMP6MSGOUT_INC_STATS(net, idev, ICMPV6_MLD2_REPORT); |
@@ -2007,8 +2008,8 @@ static void igmp6_send(struct in6_addr *addr, struct net_device *dev, int type) | |||
2007 | } | 2008 | } |
2008 | 2009 | ||
2009 | skb_dst_set(skb, dst); | 2010 | skb_dst_set(skb, dst); |
2010 | err = NF_HOOK(NFPROTO_IPV6, NF_INET_LOCAL_OUT, skb, NULL, skb->dev, | 2011 | err = NF_HOOK(NFPROTO_IPV6, NF_INET_LOCAL_OUT, sk, skb, |
2011 | dst_output); | 2012 | NULL, skb->dev, dst_output_sk); |
2012 | out: | 2013 | out: |
2013 | if (!err) { | 2014 | if (!err) { |
2014 | ICMP6MSGOUT_INC_STATS(net, idev, type); | 2015 | ICMP6MSGOUT_INC_STATS(net, idev, type); |