Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -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;