Subject: Re: [PATCH] iplink_geneve: add UDP destination port configuration at link creation

From: "John W. Linville" <[email-masked]>
Date: Fri, 18 Sep 2015 10:26:18 -0400

On Thu, Sep 17, 2015 at 01:49:49PM -0700, Eric Dumazet wrote:
> On Thu, 2015-09-17 at 15:27 -0400, John W. Linville wrote:
> > Signed-off-by: John W. Linville <[email-masked]>
> > ---
> 
> >  }
> >  
> > @@ -150,6 +159,10 @@ static void geneve_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
> >  		else
> >  			fprintf(f, "tos %#x ", tos);
> >  	}
> > +
> > +	if (tb[IFLA_GENEVE_PORT])
> > +		fprintf(f, "dstport %u ",
> > +			ntohs(rta_getattr_u16(tb[IFLA_GENEVE_PORT])));
> 
> This looks strange.
> 
> Kernel does :
> 
> if (nla_put_u16(skb, IFLA_GENEVE_PORT, ntohs(geneve->dst_port)))
>         goto nla_put_failure;

Indeed, you are right.  I had essentially copied some vxlan code when
I did my version of adding the port attribute, and didn't take much
care when adapting that code for the version that actually got merged.

The current geneve code is using host byte-order for the UDP port in
the netlink messages.  But, I see that vxlan, gre, iptnl, etc are using
network byte order for specifying UDP ports in their netlink stuff.
Should geneve follow that practice as well?  Or does it matter?

John
-- 
John W. Linville		Someday the world will need a hero, and you
[email-masked]			might be all we have.  Be ready.