ipv4: Use flowi4's {saddr,daddr} in igmpv3_newpack() and igmp_send_report()
Instead of rt->rt_{src,dst} Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f4bfd99f85
commit
492f64ce12
@ -344,8 +344,8 @@ static struct sk_buff *igmpv3_newpack(struct net_device *dev, int size)
|
|||||||
pip->tos = 0xc0;
|
pip->tos = 0xc0;
|
||||||
pip->frag_off = htons(IP_DF);
|
pip->frag_off = htons(IP_DF);
|
||||||
pip->ttl = 1;
|
pip->ttl = 1;
|
||||||
pip->daddr = rt->rt_dst;
|
pip->daddr = fl4.daddr;
|
||||||
pip->saddr = rt->rt_src;
|
pip->saddr = fl4.saddr;
|
||||||
pip->protocol = IPPROTO_IGMP;
|
pip->protocol = IPPROTO_IGMP;
|
||||||
pip->tot_len = 0; /* filled in later */
|
pip->tot_len = 0; /* filled in later */
|
||||||
ip_select_ident(pip, &rt->dst, NULL);
|
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->frag_off = htons(IP_DF);
|
||||||
iph->ttl = 1;
|
iph->ttl = 1;
|
||||||
iph->daddr = dst;
|
iph->daddr = dst;
|
||||||
iph->saddr = rt->rt_src;
|
iph->saddr = fl4.saddr;
|
||||||
iph->protocol = IPPROTO_IGMP;
|
iph->protocol = IPPROTO_IGMP;
|
||||||
ip_select_ident(iph, &rt->dst, NULL);
|
ip_select_ident(iph, &rt->dst, NULL);
|
||||||
((u8*)&iph[1])[0] = IPOPT_RA;
|
((u8*)&iph[1])[0] = IPOPT_RA;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user