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

Ben Pfaff blp at ovn.org
Mon Jun 14 18:30:55 UTC 2021


There are a number of ONF extensions already:

[bpfaff at sigfpe _build]$ git grep -h -E 'ONFS?T' ../include/openvswitch/ofp-msgs.h
 *          * ONFT: Open Networking Foundation extension message.
 *          * ONFST: Open Networking Foundation multipart message.
 *         For NXT or ONFT, the 'subtype' in struct ofp_vendor_header.
 *         For NXST or ONFST, the 'subtype' in an appropriate vendor stats
    /* ONFT 1.3 (1911): struct ofp14_role_status, uint8_t[8][]. */
    OFPRAW_ONFT13_ROLE_STATUS,
    /* ONFT 1.3 (2350): struct ofp14_requestforward, uint8_t[8][]. */
    OFPRAW_ONFT13_REQUESTFORWARD,
    /* ONFT 1.3 (2300): struct ofp14_bundle_ctrl_msg, uint8_t[8][]. */
    OFPRAW_ONFT13_BUNDLE_CONTROL,
    /* ONFT 1.3 (2301): struct ofp14_bundle_ctrl_msg, uint8_t[]. */
    OFPRAW_ONFT13_BUNDLE_ADD_MESSAGE,
    OFPTYPE_ROLE_STATUS,          /* OFPRAW_ONFT13_ROLE_STATUS.
                                   * OFPRAW_ONFT13_REQUESTFORWARD.
                                   * OFPRAW_ONFT13_BUNDLE_CONTROL. */
                                   * OFPRAW_ONFT13_BUNDLE_ADD_MESSAGE. */

The ONF standardized extension is the one we should use.

On Mon, Jun 14, 2021 at 08:03:04AM -0400, Vasu Dasari wrote:
> Hi Ben,
> 
> I see that the flow monitoring is added as an ONF extension. I am looking
> at ofp-msgs.h, I do not see any ONF_ related extensions added in that file.
> If we were to add ONF flow monitoring support to OVS this will be the first
> one. Let me know if this is a desired one.
> 
> Or, we could continue with the Nicira extension till 1.3 and then follow
> with a standardized one from 1.4.
> 
> Let me know what you think.
> 
> Thanks
> -Vasu
> 
> *Vasu Dasari*
> 
> 
> On Thu, Jun 10, 2021 at 8:25 PM Ben Pfaff <blp at ovn.org> wrote:
> 
> > On Fri, May 14, 2021 at 04:15:25PM -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-1.3 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
> >
> > Thanks for the patch!
> >
> > This change here isn't quite accurate since only OF1.0-OF1.3 are
> > currently supported:
> >
> >     @@ -515,13 +517,10 @@ parse_flow_monitor_request__(struct
> > ofputil_flow_monitor_request *fmr,
> >              }
> >
> >              if (error) {
> >                  return error;
> >              }
> >     -        /* Flow Monitor is supported in OpenFlow 1.0 or can be
> > further reduced
> >     -         * to a few 1.0 flavors by a match field. */
> >     -        *usable_protocols &= OFPUTIL_P_OF10_ANY;
> >          }
> >          return NULL;
> >      }
> >
> >      /* Convert 'str_' (as described in the documentation for the
> > "monitor" command
> >
> > Actually, it occurs to me that this shouldn't add support for OF1.3
> > either, only for OF1.1 and OF1.2, because OF1.3 has a standardized
> > extension, which you can find here:
> >
> > https://opennetworking.org/wp-content/uploads/2014/10/openflow-extensions-1.3.x-pack2.zip
> > in the pdf inside for extension 187.  It would be better to implement
> > that for 1.3 rather than to invent our own.
> >
> > Thanks,
> >
> > Ben.
> >


More information about the dev mailing list