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
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss