[ovs-dev] [PATCH 1/4] Add OpenFlow command to flush conntrack table entries.

Joe Stringer joe at ovn.org
Fri Sep 23 17:10:52 UTC 2016


On 23 September 2016 at 01:53, Justin Pettit <jpettit at ovn.org> wrote:
> Signed-off-by: Justin Pettit <jpettit at ovn.org>
> ---
>  NEWS                           |  1 +
>  debian/changelog               | 10 ++++++++++
>  include/openflow/nicira-ext.h  |  9 +++++++++
>  include/openvswitch/ofp-msgs.h |  4 ++++
>  lib/dpif.c                     | 14 ++++++++++++++
>  lib/dpif.h                     |  1 +
>  lib/ofp-print.c                | 10 ++++++++++
>  lib/ofp-util.c                 |  1 +
>  lib/rconn.c                    |  1 +
>  ofproto/ofproto-dpif.c         |  9 +++++++++
>  ofproto/ofproto-provider.h     |  7 +++++++
>  ofproto/ofproto.c              | 23 +++++++++++++++++++++++
>  tests/ofp-print.at             | 10 ++++++++++
>  tests/ovs-ofctl.at             | 13 +++++++++++++
>  utilities/ovs-ofctl.8.in       |  6 ++++++
>  utilities/ovs-ofctl.c          | 25 +++++++++++++++++++++++++
>  16 files changed, 144 insertions(+)
>
> diff --git a/NEWS b/NEWS
> index bb32c47..dba1950 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -71,6 +71,7 @@ v2.6.0 - xx xxx xxxx
>         already expected to work properly in cases where the switch can
>         not buffer packets, so this change should not affect existing
>         users.
> +     * New OpenFlow extension NXT_CT_FLUSH_ZONE to flush conntrack zones.
>     - Improved OpenFlow version compatibility for actions:
>       * New OpenFlow extension to support the "group" action in OpenFlow 1.0.
>       * OpenFlow 1.0 "enqueue" action now properly translated to OpenFlow 1.1+.
> diff --git a/debian/changelog b/debian/changelog
> index d73e636..7f38d53 100644
> --- a/debian/changelog
> +++ b/debian/changelog
> @@ -33,6 +33,16 @@ openvswitch (2.6.0-1) unstable; urgency=low
>         packet to size M bytes when outputting to port N.
>       * New command OFPGC_ADD_OR_MOD for OFPT_GROUP_MOD message that adds a
>         new group or modifies an existing groups
> +     * The optional OpenFlow packet buffering feature is deprecated in
> +       this release, and will be removed in the next OVS release
> +       (2.7).  After the change OVS always sends the 'buffer_id' as
> +       0xffffffff in packet-in messages and will send an error
> +       response if any other value of this field is included in
> +       packet-out and flow mod sent by a controller.  Controllers are
> +       already expected to work properly in cases where the switch can
> +       not buffer packets, so this change should not affect existing
> +       users.
> +     * New OpenFlow extension NXT_CT_FLUSH_ZONE to flush conntrack zones.
>     - Improved OpenFlow version compatibility for actions:
>       * New OpenFlow extension to support the "group" action in OpenFlow 1.0.
>       * OpenFlow 1.0 "enqueue" action now properly translated to OpenFlow 1.1+.
> diff --git a/include/openflow/nicira-ext.h b/include/openflow/nicira-ext.h
> index 5ab026c..9d53623 100644
> --- a/include/openflow/nicira-ext.h
> +++ b/include/openflow/nicira-ext.h
> @@ -1128,5 +1128,14 @@ struct nx_tlv_table_reply {
>                                  from the length field in the header. */
>  };
>  OFP_ASSERT(sizeof(struct nx_tlv_table_reply) == 16);
> +
> +/* NXT_CT_FLUSH_ZONE.
> + *
> + * Flushes the connection tracking table. */
> +struct nx_zone_id {
> +    uint8_t zero[6];            /* Must be zero. */
> +    ovs_be16 zone_id;           /* Connection tracking zone. */
> +};
> +OFP_ASSERT(sizeof(struct nx_zone_id) == 8);

Can we use OXMs for this? I could foresee people wanting to apply
additional constraints such as mark, label, and potentially other
fields in future. We can reject the others for now, but since this is
an OpenFlow (extension) API change it'd be good to provide something
extensible.



More information about the dev mailing list