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

Reply via email to