diff options
Diffstat (limited to 'net/ipv4/igmp.c')
-rw-r--r-- | net/ipv4/igmp.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c index a1bf2f49e716..afb1e82a59f9 100644 --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c | |||
@@ -314,8 +314,7 @@ static struct sk_buff *igmpv3_newpack(struct net_device *dev, int size) | |||
314 | 314 | ||
315 | { | 315 | { |
316 | struct flowi fl = { .oif = dev->ifindex, | 316 | struct flowi fl = { .oif = dev->ifindex, |
317 | .nl_u = { .ip4_u = { | 317 | .fl4_dst = IGMPV3_ALL_MCR, |
318 | .daddr = IGMPV3_ALL_MCR } }, | ||
319 | .proto = IPPROTO_IGMP }; | 318 | .proto = IPPROTO_IGMP }; |
320 | if (ip_route_output_key(net, &rt, &fl)) { | 319 | if (ip_route_output_key(net, &rt, &fl)) { |
321 | kfree_skb(skb); | 320 | kfree_skb(skb); |
@@ -660,7 +659,7 @@ static int igmp_send_report(struct in_device *in_dev, struct ip_mc_list *pmc, | |||
660 | 659 | ||
661 | { | 660 | { |
662 | struct flowi fl = { .oif = dev->ifindex, | 661 | struct flowi fl = { .oif = dev->ifindex, |
663 | .nl_u = { .ip4_u = { .daddr = dst } }, | 662 | .fl4_dst = dst, |
664 | .proto = IPPROTO_IGMP }; | 663 | .proto = IPPROTO_IGMP }; |
665 | if (ip_route_output_key(net, &rt, &fl)) | 664 | if (ip_route_output_key(net, &rt, &fl)) |
666 | return -1; | 665 | return -1; |
@@ -1425,8 +1424,7 @@ void ip_mc_destroy_dev(struct in_device *in_dev) | |||
1425 | /* RTNL is locked */ | 1424 | /* RTNL is locked */ |
1426 | static struct in_device *ip_mc_find_dev(struct net *net, struct ip_mreqn *imr) | 1425 | static struct in_device *ip_mc_find_dev(struct net *net, struct ip_mreqn *imr) |
1427 | { | 1426 | { |
1428 | struct flowi fl = { .nl_u = { .ip4_u = | 1427 | struct flowi fl = { .fl4_dst = imr->imr_multiaddr.s_addr }; |
1429 | { .daddr = imr->imr_multiaddr.s_addr } } }; | ||
1430 | struct rtable *rt; | 1428 | struct rtable *rt; |
1431 | struct net_device *dev = NULL; | 1429 | struct net_device *dev = NULL; |
1432 | struct in_device *idev = NULL; | 1430 | struct in_device *idev = NULL; |