[ovs-dev] [PATCH] ofp-monitor: Extend Flow Monitoring support for OF 1.0+ with Nicira Extensions

Ben Pfaff blp at ovn.org
Mon May 10 19:27:07 UTC 2021


On Sat, May 08, 2021 at 07:12:27AM -0400, Vasu Dasari wrote:
> Currently OVS supports flow-monitoring for OpenFlow 1.0 and Nicira Extenstions.
> Any other OpenFlow versioned messages are not accepted. This checkin will allow
> OpenFlow1.0+ Flow Monitoring wth Nicira extensions be accepted. Also made sure
> that flow-monitoring updates, flow monitoring pause messages, resume messages
> are sent in the same OpenFlow version as that of flow-monitor request.
> 
> Description of changes:
> 
> 1. Generate ofp-msgs.inc to be able to support 1.0+ Flow Monitoring messages.
> include/openvswitch/ofp-msgs.h
> 
> 2. Support vconn to accept user specified version and use it for vconn flow-monitoring session
> ofproto/ofproto.c
> 
> 3. Modify APIs to use protocol as an argument to encode and decode messages
> include/openvswitch/ofp-monitor.h
> include/openvswitch/vlog.h
> lib/ofp-monitor.c
> ofproto/connmgr.c
> ofproto/connmgr.h
> ofproto/ofproto.c
> 
>  4. Testcase for verification
> tests/ofproto.at
> 
> Signed-off-by: Vasu Dasari <vdasari at gmail.com>
> Reported-at: https://mail.openvswitch.org/pipermail/ovs-discuss/2020-December/050820.html
> Signed-off-by: Vasu Dasari <vdasari at gmail.com>

Thanks for working on this.

OpenFlow 1.1-1.3 don't have flow monitoring support built into the
protocol, so it makes sense to support it as an extension.  This commit
adds the entension for 1.4 and 1.5 as well.  I am not convinced that
makes sense, since OF1.4+ has its own support.  It's not great to
duplicate functionality if we can avoid it.

This should add an item in NEWS.  I think an update to documentation for
ovs-ofctl might be warranted too, although I didn't look.

The update to the tests here just check that the extension appears
available.  There are multiple other flow monitoring tests:

   4579:AT_SETUP([ofproto - flow monitoring])
   4716:AT_SETUP([ofproto - flow monitoring with !own])
   4757:AT_SETUP([ofproto - flow monitoring with out_port])
   4809:AT_SETUP([ofproto - flow monitoring pause and resume])

It would be good to run at least some of these tests with those other
versions as well.  They are fairly big, so cutting and pasting wouldn't
be ideal; perhaps some m4 macro work or shell function work would be
better.

Thanks,

Ben.


More information about the dev mailing list