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

Commit b76d0789 authored by Zoltan Kiss's avatar Zoltan Kiss Committed by David S. Miller
Browse files

IPv4: Send gratuitous ARP for secondary IP addresses also



If a device event generates gratuitous ARP messages, only primary
address is used for sending. This patch iterates through the whole
list. Tested with 2 IP addresses configuration on bonding interface.

Signed-off-by: default avatarZoltan Kiss <schaman@sch.bme.hu>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 32019e65
Loading
Loading
Loading
Loading
+8 −8
Original line number Original line Diff line number Diff line
@@ -1134,16 +1134,16 @@ static void inetdev_send_gratuitous_arp(struct net_device *dev,
					struct in_device *in_dev)
					struct in_device *in_dev)


{
{
	struct in_ifaddr *ifa = in_dev->ifa_list;
	struct in_ifaddr *ifa;

	if (!ifa)
		return;


	for (ifa = in_dev->ifa_list; ifa;
	     ifa = ifa->ifa_next) {
		arp_send(ARPOP_REQUEST, ETH_P_ARP,
		arp_send(ARPOP_REQUEST, ETH_P_ARP,
			 ifa->ifa_local, dev,
			 ifa->ifa_local, dev,
			 ifa->ifa_local, NULL,
			 ifa->ifa_local, NULL,
			 dev->dev_addr, NULL);
			 dev->dev_addr, NULL);
	}
	}
}


/* Called only under RTNL semaphore */
/* Called only under RTNL semaphore */