Subject: Re: [PATCHv4 iproute2] ip route: ignore ENOENT during save if RT_TABLE_MAIN is being dumped

From: Stephen Hemminger <[email-masked]>
Date: Wed, 7 Jul 2021 07:31:31 -0700

On Wed, 7 Jul 2021 15:22:36 +0300
Alexander Mikhalitsyn <[email-masked]> wrote:

> On Tue, 6 Jul 2021 17:05:45 -0700
> Stephen Hemminger <[email-masked]> wrote:
> 
> > On Tue, 6 Jul 2021 20:17:57 +0300
> > Alexander Mikhalitsyn <[email-masked]> wrote:
> >   
> > > On Tue, 6 Jul 2021 09:18:21 -0700
> > > Stephen Hemminger <[email-masked]> wrote:
> > >   
> > > > On Tue, 6 Jul 2021 18:44:15 +0300
> > > > Alexander Mikhalitsyn <[email-masked]> wrote:
> > > >     
> > > > > On Tue, 6 Jul 2021 08:34:07 -0700
> > > > > Stephen Hemminger <[email-masked]> wrote:
> > > > >     
> > > > > > On Tue, 29 Jun 2021 18:51:15 +0300
> > > > > > Alexander Mikhalitsyn <[email-masked]> wrote:
> > > > > >       
> > > > > > > +	const struct rtnl_dump_filter_arg a[2] = {
> > > > > > > +		{ .filter = filter, .arg1 = arg1,
> > > > > > > +		  .errhndlr = errhndlr, .arg2 = arg2, .nc_flags = nc_flags, },
> > > > > > > +		{ .filter = NULL,   .arg1 = NULL,
> > > > > > > +		  .errhndlr = NULL, .arg2 = NULL, .nc_flags = 0, },
> > > > > > >  	};      
> > > > > > 
> > > > > > I am OK with this as is. But you don't need to add initializers for fields
> > > > > > that are 0/NULL (at least in C).      
> > > > > 
> > > > > Sure, I've made such explicit initializations just because in original
> > > > > rtnl_dump_filter_nc() we already have them.
> > > > > 
> > > > > Do I need to resend with fixed initializations? ;)    
> > > > 
> > > > Not worth it    
> > > 
> > > Ok, thanks!
> > >   
> > 
> > Looks like you need to send v5 anyway.
> > 
> > 
> > checkpatch.pl ~/Downloads/PATCHv4-iproute2-ip-route-ignore-ENOENT-during-save-if-RT_TABLE_MAIN-is-being-dumped.patch 
> > WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line)
> > #62: 
> > We started to use in-kernel filtering feature which allows to get only needed
> > 
> > WARNING: 'extened' may be misspelled - perhaps 'extended'?
> > #84: 
> > easily extened by changing SUPPRESS_ERRORS_INIT macro).
> >        ^^^^^^^
> > 
> > WARNING: please, no space before tabs
> > #111: FILE: include/libnetlink.h:109:
> > + * ^Irtnl_dump_done()$
> > 
> > WARNING: please, no space before tabs
> > #112: FILE: include/libnetlink.h:110:
> > + * ^Irtnl_dump_error()$
> > 
> > WARNING: please, no space before tabs
> > #116: FILE: include/libnetlink.h:114:
> > + * ^Ierror handled as usual$
> > 
> > WARNING: please, no space before tabs
> > #118: FILE: include/libnetlink.h:116:
> > + * ^Ierror in nlmsg_type == NLMSG_DONE will be suppressed$
> > 
> > 
> > WARNING: please, no space before tabs
> > #120: FILE: include/libnetlink.h:118:
> > + * ^Ierror in nlmsg_type == NLMSG_ERROR will be suppressed$
> > 
> > WARNING: please, no space before tabs
> > #121: FILE: include/libnetlink.h:119:
> > + * ^Iand nlmsg will be skipped$
> > 
> > total: 0 errors, 8 warnings, 183 lines checked  
> 
> Oh, sorry about that. I've sent v5 and checked with checkpatch.pl
> I've send two options for v5 - with initializers fix and without :)
> 
> Regards,
> Alex

Choose which ever initializer format you think looks best