On 6/7/19 4:05 PM, Wei Wang wrote: >> @@ -1835,6 +1848,24 @@ static int fib6_nh_remove_exception(const struct >> fib6_nh *nh, int plen, >> return err; >> } >> >> +struct fib6_nh_excptn_arg { >> + struct rt6_info *rt; >> + int plen; >> + bool found; >> +}; >> + >> +static int rt6_nh_remove_exception_rt(struct fib6_nh *nh, void *_arg) >> +{ >> + struct fib6_nh_excptn_arg *arg = _arg; >> + int err; >> + >> + err = fib6_nh_remove_exception(nh, arg->plen, arg->rt); >> + if (err == 0) >> + arg->found = true; >> + >> + return 0; >> +} >> + > Hi David, > Why not return 1 here to break the loop when > fib6_nh_remove_exception() successfully removed the rt? >
will change. update will drop the found arg and let rc == 1 indicate an entry was found.