[ovs-discuss] external ovs c++ controller
ray at oneunified.net
Fri Nov 9 16:58:58 UTC 2018
On 2018-11-09 3:27 a.m., Boris Ouretskey wrote:
> What would be the preferred API for controlling open switch bridges
> from c++ user space application. (both Windows and Linux version of
> ovs should be supported). the controller should run on both windows
> and linux also.
> 1. reverse engineering ovs-vsctl (or test controller) and use the same
> API it does.
RFC 7047, also see https://github.com/John-Lin/OVS-Cheat-Sheet for how
the various ovs apps work together
> 2. use some open-source c++ openflow stack (if exists)
This controls the flows, and is probably the most efficient mechanism
for controlling the flows
> 3. just run System("ovs-vsctl ...") from the application
two different commands sets would be required, and are probably less
efficient due to the requirement for parsing text commands (ovs-vsctl
for ports, ovs-ofctl for flows)
> The application mostly opens and configures the ports. Controlling the
> openflow tables is of less priority.
In summary, two mechansims are involved.
The ovs database/schema deals with port configuration and management.
RFC 7047 defines how one communicates with the database.
Flow control happens via the flow controller. github has at least two
c++ controllers, one of which is mine which I am slowly building up in
Hope this helps.
More information about the discuss