Subject: Re: iproute2 (addr flush) infinite loop when unprivileged users

From: Stephen Hemminger <[email-masked]>
Date: Sat, 26 Jan 2008 11:11:06 -0800

On Sat, 26 Jan 2008 10:58:58 +0200
"Alon Bar-Lev" <[email-masked]> wrote:

> On 1/26/08, Alon Bar-Lev <[email-masked]> wrote:
> > On 1/26/08, Stephen Hemminger <[email-masked]> wrote:
> > > The issue is that iproute is just blindly sending the deletes and
> > > not asking for acknowledgment status. Here is a trivial patch to iproute
> > > to fix that, but the problem is that it means it will slow down bulk removal.
> > >
> > > Maybe it should just check the first, or last delete to see if there are
> > > errors?
> > >
> > > diff --git a/ip/iproute.c b/ip/iproute.c
> > > index 7a885b0..b2ae879 100644
> > > --- a/ip/iproute.c
> > > +++ b/ip/iproute.c
> >
> > This should also be applied into ip/ipaddress.c, ip/ipneigh.c
> > Or even make one common function?
> >
> > I don't quite understand how "fast" is good if not complete... But
> > anyway... I will be happy to see this fix in next version... Maybe add
> > --fast argument? :)
> >
> > Alon.
> >

I found the correct solution. The kernel will send back an error after a bad
netlink message, even without ACK. so the code now checks.  Should be checked in
and pushed for next version.

-- 
Stephen Hemminger <[email-masked]>