Hi Hangbin,

On Thu, Sep 27, 2018 at 10:07:51PM +0800, Hangbin Liu wrote:
> On Thu, Sep 27, 2018 at 11:27:45AM +0200, Phil Sutter wrote:
> > On Thu, Sep 27, 2018 at 03:28:36PM +0800, Hangbin Liu wrote:
> > > We should only show ttl inherit when IFLA_VXLAN_TTL_INHERIT supplied.
> > > Otherwise show the ttl number, or auto when it is 0.
> > > 
> > > Signed-off-by: Hangbin Liu <liuhang...@gmail.com>
> > > ---
> > >  ip/iplink_vxlan.c | 16 ++++++++++------
> > >  1 file changed, 10 insertions(+), 6 deletions(-)
> > > 
> > > diff --git a/ip/iplink_vxlan.c b/ip/iplink_vxlan.c
> > > index 831f39a..7fc0e2b 100644
> > > --- a/ip/iplink_vxlan.c
> > > +++ b/ip/iplink_vxlan.c
> > > @@ -145,7 +145,7 @@ static int vxlan_parse_opt(struct link_util *lu, int 
> > > argc, char **argv,
> > >                   NEXT_ARG();
> > >                   check_duparg(&attrs, IFLA_VXLAN_TTL, "ttl", *argv);
> > >                   if (strcmp(*argv, "inherit") == 0) {
> > > -                         addattr_l(n, 1024, IFLA_VXLAN_TTL_INHERIT, 
> > > NULL, 0);
> > > +                         addattr(n, 1024, IFLA_VXLAN_TTL_INHERIT);
> > 
> > So for VXLAN, the attribute is just added but with a zero value. Looking
> > at respective kernel code, this seems fine. Now I wonder why for Geneve,
> > you set the value to 1 and when displaying explicitly check whether the
> > attribute is there *and* non-zero. OK, looks like Geneve driver always
> > exports IFLA_GENEVE_TTL_INHERIT. Oddly, I can't find where VXLAN driver
> > in kernel does export the IFLA_VXLAN_TTL_INHERIT attribute. Am I missing
> > something?
> 
> Hi Phil,
> 
> The vxlan ttl inherit exportation is just fixed by
> net commit 8fd78069874 ("vxlan: fill ttl inherit info") yesterday.

Ah, thanks!

> > Do you know why handling of the attributes in both drivers differ?
> 
> That's because I set IFLA_VXLAN_TTL_INHERIT type to NLA_FLAG. But when fix
> the geneve issue, I forgot this and set IFLA_GENEVE_TTL_INHERIT type to
> NLA_U8... :(
> 
> I noticed this when post the iproute2 patch. But I thought this should have
> no much influence, so I just leave it as it is.
> 
> If you think we'd better have a same behaver. We can drop the geneve iproute2
> patch and post a fix to net kernel tree.

I guess it doesn't make much difference, but NLA_FLAG would be more
appropriate. If you want to spend the extra effort to fix it, I guess
now's the time - later it can't be changed anymore due to compatibility
issues (I guess).

Thanks, Phil

Reply via email to