X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=net%2Fipv4%2Figmp.c;h=ec03c2fda6ce9204bdfc6099e3e2033060364fc9;hb=492f64ce12e259abd85714d05b885e105bd8aeef;hp=7c2ef59e3f7dba5368e814ee58b0190dc87187ed;hpb=f4bfd99f8519e2d35541cc4fc383b1b3141a657a;p=deliverable%2Flinux.git diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c index 7c2ef59e3f7d..ec03c2fda6ce 100644 --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c @@ -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;