ipv4: Use flowi4's {saddr,daddr} in igmpv3_newpack() and igmp_send_report()
authorDavid S. Miller <davem@davemloft.net>
Wed, 4 May 2011 03:53:12 +0000 (20:53 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 4 May 2011 03:53:12 +0000 (20:53 -0700)
Instead of rt->rt_{src,dst}

Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/igmp.c

index 7c2ef59..ec03c2f 100644 (file)
@@ -344,8 +344,8 @@ static struct sk_buff *igmpv3_newpack(struct net_device *dev, int size)
        pip->tos      = 0xc0;
        pip->frag_off = htons(IP_DF);
        pip->ttl      = 1;
-       pip->daddr    = rt->rt_dst;
-       pip->saddr    = rt->rt_src;
+       pip->daddr    = fl4.daddr;
+       pip->saddr    = fl4.saddr;
        pip->protocol = IPPROTO_IGMP;
        pip->tot_len  = 0;      /* filled in later */
        ip_select_ident(pip, &rt->dst, NULL);
@@ -687,7 +687,7 @@ static int igmp_send_report(struct in_device *in_dev, struct ip_mc_list *pmc,
        iph->frag_off = htons(IP_DF);
        iph->ttl      = 1;
        iph->daddr    = dst;
-       iph->saddr    = rt->rt_src;
+       iph->saddr    = fl4.saddr;
        iph->protocol = IPPROTO_IGMP;
        ip_select_ident(iph, &rt->dst, NULL);
        ((u8*)&iph[1])[0] = IPOPT_RA;