[ovs-dev] [PATCH V2] feature: Create specific types for ofp and odp port

Ben Pfaff blp at nicira.com
Wed Jun 19 20:48:29 UTC 2013


On Wed, Jun 19, 2013 at 01:46:17PM -0700, Alex Wang wrote:
> On Tue, Jun 18, 2013 at 1:10 PM, Ben Pfaff <blp at nicira.com> wrote:
> 
> > Thanks again for working on this.
> >
> > It looks like your test builds are not configured to build a kernel
> > module: this patch triggers tons of errors in the kernel build due to
> > the change to OVSP_LOCAL, because OVS_FORCE is not defined in the
> > kernel.  I am not sure of that is the best possible fix (we are
> > constrained by the kernel API here), but the following incremental
> > does work:
> >
> > diff --git a/include/linux/openvswitch.h b/include/linux/openvswitch.h
> > index add1287..bde3ba2 100644
> > --- a/include/linux/openvswitch.h
> > +++ b/include/linux/openvswitch.h
> > @@ -116,7 +116,7 @@ struct ovs_vport_stats {
> >  };
> >
> >  /* Fixed logical ports. */
> > -#define OVSP_LOCAL      ((OVS_FORCE odp_port_t) 0)
> > +#define OVSP_LOCAL      ((__u32)0)
> >
> 
> 
> OVSP_LOCAL is mostly used in kernel module. OVSP_NONE is only used in user
> space to indicate unknown odp port.
> 
> I want to rename OVSP_NONE to ODPP_NONE and change its type to odp_port_t.
> Does it make sense?

That's a pretty clean solution.  If you do that, then you can also:
        #define ODPP_LOCAL ((OVS_FORCE odp_port_t) OVSP_LOCAL)
and use ODPP_LOCAL where we currently use OVSP_LOCAL.

Thanks,

Ben.



More information about the dev mailing list