On Wed, Dec 19, 2018 at 06:59:05PM -0700, Raymond Burkholder wrote: > I have been using header file definitions found in > https://www.opennetworking.org/wp-content/uploads/2014/10/openflow-switch-v1.4.1.pdf > to build an open flow controller. > > The controller communicates successfully with openvswitch. > > But in tutorials such as > https://github.com/openvswitch/ovs/blob/master/Documentation/tutorials/ovs-conntrack.rst, > the command line examples use flow modifications using non-standard values > and parameters. > > Are these enumerations and structures available to controllers? If so, what > header files would be included to access the enumerations and structures? > > I've looked at files in /usr/include/openvswitch and /usr/include/openflow, > but nothing is obvious for working with nicira extenstions. Even searching > through a cloned github repository of ovs doesn't yield a definition for > something like CS_ESTABLISHED that I could follow through. I see > references, but I don't seem to see the original definition or enumeration. > > Or is there a better way to build a controller to use the nicira extensions?
I think that ovs-fields(7) documents all the fields. I don't think there are more elaborate structures in use for connection tracking. OVS gets the CS_* constants from the Linux datapath. You can find them in linux/openvswitch.h with an OVS_ prefix. There's also a userspace definition in lib/packets.h that isn't meant to be exported to client programs. This isn't a great way to do it but it's what we have at the moment. At any rate, these constants are an ABI so they aren't going to change. _______________________________________________ discuss mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
