Commit 492f64ce authored by David S. Miller's avatar David S. Miller

ipv4: Use flowi4's {saddr,daddr} in igmpv3_newpack() and igmp_send_report()

Instead of rt->rt_{src,dst}
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f4bfd99f
...@@ -344,8 +344,8 @@ static struct sk_buff *igmpv3_newpack(struct net_device *dev, int size) ...@@ -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, ...@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment