Subject: iproute2 question on flushing addresses

From: Ben Greear <[email-masked]>
Date: Wed, 11 Aug 2010 10:01:23 -0700

I am trying to flush all secondary IPs before flushing primaries, because
otherwise it creates a flood of netlink messages as each primary is deleted
and a secondary takes over as primary (changing all routes for all other
secondaries).

I was thinking this command could work, but it does not appear to do
anything:

./local/sbin/ip addr flush dev rddVR17 secondary

While poking at the code..I saw this.  It seems to me that the check for IFA_F_SECONDARY
is reversed?

int print_addrinfo_primary(const struct sockaddr_nl *who, struct nlmsghdr *n,
			   void *arg)
{
	struct ifaddrmsg *ifa = NLMSG_DATA(n);

	if (!ifa->ifa_flags & IFA_F_SECONDARY)
		return 0;

	return print_addrinfo(who, n, arg);
}

Thanks,
Ben

-- 
Ben Greear <[email-masked]>
Candela Technologies Inc  http://www.candelatech.com