Re: [PATCH net-next v6] net: openvswitch: IPv6: Add IPv6 extension header support

Cpp Code
2021-09-30T16:13:13Z

On Tue, Sep 28, 2021 at 5:48 PM Jakub Kicinski <kuba@kernel.org> wrote:
>
> On Tue, 28 Sep 2021 12:47:27 -0700 Toms Atteka wrote:
> > diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h
> > index a87b44cd5590..dc6eb5f6399f 100644
> > --- a/include/uapi/linux/openvswitch.h
> > +++ b/include/uapi/linux/openvswitch.h
> > @@ -346,6 +346,13 @@ enum ovs_key_attr {
> > #ifdef __KERNEL__
> > OVS_KEY_ATTR_TUNNEL_INFO, /* struct ip_tunnel_info */
> > #endif
> > +
> > +#ifndef __KERNEL__
>
> #else
>
> > + PADDING, /* Padding so kernel and non kernel field count would match */
>
> The name PADDING seems rather risky, collisions will be likely.
> OVS_KEY_ATTR_PADDING maybe?
>
> But maybe we don't need to define this special value and bake it into
> the uAPI, why can't we add something like this to the kernel header
> (i.e. include/linux/openvswitch.h):
>
> /* Insert a kernel only KEY_ATTR */
> #define OVS_KEY_ATTR_TUNNEL_INFO __OVS_KEY_ATTR_MAX
> #undef OVS_KEY_ATTR_MAX
> #define OVS_KEY_ATTR_MAX __OVS_KEY_ATTR_MAX
>
> > +#endif

Agree, name should be changed, I think I will go with __OVS_KEY_ATTR_PADDING