|
@@ -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;
|