[ovs-dev] [PATCH 2/2] ofp-msgs: Move most OpenFlow header definitions here.

Ben Pfaff blp at ovn.org
Fri Feb 19 20:54:59 UTC 2016


Thanks for the reviews.  I applied these to master.

On Thu, Feb 18, 2016 at 10:47:06AM -0800, Jarno Rajahalme wrote:
> Acked-by: Jarno Rajahalme <jarno at ovn.org>
> 
> > On Jan 27, 2016, at 3:50 PM, Ben Pfaff <blp at ovn.org> wrote:
> > 
> > This code was the only user for OpenFlow header definitions other than
> > struct ofp_header itself.
> > 
> > Signed-off-by: Ben Pfaff <blp at ovn.org>
> > ---
> > include/openflow/nicira-ext.h   |  9 ---------
> > include/openflow/openflow-1.0.h | 20 --------------------
> > include/openflow/openflow-1.1.h | 11 +----------
> > lib/ofp-msgs.c                  | 39 +++++++++++++++++++++++++++++++++++++++
> > 4 files changed, 40 insertions(+), 39 deletions(-)
> > 
> > diff --git a/include/openflow/nicira-ext.h b/include/openflow/nicira-ext.h
> > index fdee330..a209e6a 100644
> > --- a/include/openflow/nicira-ext.h
> > +++ b/include/openflow/nicira-ext.h
> > @@ -68,15 +68,6 @@ struct nx_vendor_error {
> > 
> > /* Nicira vendor requests and replies. */
> > 
> > -/* Header for Nicira vendor stats request and reply messages in OpenFlow
> > - * 1.0. */
> > -struct nicira10_stats_msg {
> > -    struct ofp10_vendor_stats_msg vsm; /* Vendor NX_VENDOR_ID. */
> > -    ovs_be32 subtype;           /* One of NXST_* below. */
> > -    uint8_t pad[4];             /* Align to 64-bits. */
> > -};
> > -OFP_ASSERT(sizeof(struct nicira10_stats_msg) == 24);
> > -
> > /* Fields to use when hashing flows. */
> > enum nx_hash_fields {
> >     /* Ethernet source address (NXM_OF_ETH_SRC) only. */
> > diff --git a/include/openflow/openflow-1.0.h b/include/openflow/openflow-1.0.h
> > index db629f7..68c7952 100644
> > --- a/include/openflow/openflow-1.0.h
> > +++ b/include/openflow/openflow-1.0.h
> > @@ -331,15 +331,6 @@ struct ofp10_flow_removed {
> > };
> > OFP_ASSERT(sizeof(struct ofp10_flow_removed) == 80);
> > 
> > -/* Statistics request or reply message. */
> > -struct ofp10_stats_msg {
> > -    struct ofp_header header;
> > -    ovs_be16 type;              /* One of the OFPST_* constants. */
> > -    ovs_be16 flags;             /* Requests: always 0.
> > -                                 * Replies: 0 or OFPSF_REPLY_MORE. */
> > -};
> > -OFP_ASSERT(sizeof(struct ofp10_stats_msg) == 12);
> > -
> > /* Stats request of type OFPST_AGGREGATE or OFPST_FLOW. */
> > struct ofp10_flow_stats_request {
> >     struct ofp10_match match; /* Fields to match. */
> > @@ -444,15 +435,4 @@ struct ofp10_queue_stats {
> > };
> > OFP_ASSERT(sizeof(struct ofp10_queue_stats) == 32);
> > 
> > -/* Vendor extension stats message. */
> > -struct ofp10_vendor_stats_msg {
> > -    struct ofp10_stats_msg osm; /* Type OFPST_VENDOR. */
> > -    ovs_be32 vendor;            /* Vendor ID:
> > -                                 * - MSB 0: low-order bytes are IEEE OUI.
> > -                                 * - MSB != 0: defined by OpenFlow
> > -                                 *   consortium. */
> > -    /* Followed by vendor-defined arbitrary additional data. */
> > -};
> > -OFP_ASSERT(sizeof(struct ofp10_vendor_stats_msg) == 16);
> > -
> > #endif /* openflow/openflow-1.0.h */
> > diff --git a/include/openflow/openflow-1.1.h b/include/openflow/openflow-1.1.h
> > index 63d8b41..805f222 100644
> > --- a/include/openflow/openflow-1.1.h
> > +++ b/include/openflow/openflow-1.1.h
> > @@ -1,4 +1,4 @@
> > -/* Copyright (c) 2008, 2011, 2012, 2013, 2014 The Board of Trustees of The Leland Stanford
> > +/* Copyright (c) 2008, 2011, 2012, 2013, 2014, 2016 The Board of Trustees of The Leland Stanford
> >  * Junior University
> >  *
> >  * We are making the OpenFlow specification and associated documentation
> > @@ -382,15 +382,6 @@ struct ofp11_queue_get_config_reply {
> > };
> > OFP_ASSERT(sizeof(struct ofp11_queue_get_config_reply) == 8);
> > 
> > -struct ofp11_stats_msg {
> > -    struct ofp_header header;
> > -    ovs_be16 type;              /* One of the OFPST_* constants. */
> > -    ovs_be16 flags;             /* OFPSF_REQ_* flags (none yet defined). */
> > -    uint8_t pad[4];
> > -    /* Followed by the body of the request. */
> > -};
> > -OFP_ASSERT(sizeof(struct ofp11_stats_msg) == 16);
> > -
> > /* Stats request of type OFPST_FLOW. */
> > struct ofp11_flow_stats_request {
> >     uint8_t table_id;         /* ID of table to read (from ofp_table_stats),
> > diff --git a/lib/ofp-msgs.c b/lib/ofp-msgs.c
> > index fcfbb50..bc38f40 100644
> > --- a/lib/ofp-msgs.c
> > +++ b/lib/ofp-msgs.c
> > @@ -52,6 +52,35 @@ struct ofp_vendor_header {
> > };
> > OFP_ASSERT(sizeof(struct ofp_vendor_header) == 16);
> > 
> > +/* Statistics request or reply message. */
> > +struct ofp10_stats_msg {
> > +    struct ofp_header header;
> > +    ovs_be16 type;              /* One of the OFPST_* constants. */
> > +    ovs_be16 flags;             /* Requests: always 0.
> > +                                 * Replies: 0 or OFPSF_REPLY_MORE. */
> > +};
> > +OFP_ASSERT(sizeof(struct ofp10_stats_msg) == 12);
> > +
> > +/* Vendor extension stats message. */
> > +struct ofp10_vendor_stats_msg {
> > +    struct ofp10_stats_msg osm; /* Type OFPST_VENDOR. */
> > +    ovs_be32 vendor;            /* Vendor ID:
> > +                                 * - MSB 0: low-order bytes are IEEE OUI.
> > +                                 * - MSB != 0: defined by OpenFlow
> > +                                 *   consortium. */
> > +    /* Followed by vendor-defined arbitrary additional data. */
> > +};
> > +OFP_ASSERT(sizeof(struct ofp10_vendor_stats_msg) == 16);
> > +
> > +struct ofp11_stats_msg {
> > +    struct ofp_header header;
> > +    ovs_be16 type;              /* One of the OFPST_* constants. */
> > +    ovs_be16 flags;             /* OFPSF_REQ_* flags (none yet defined). */
> > +    uint8_t pad[4];
> > +    /* Followed by the body of the request. */
> > +};
> > +OFP_ASSERT(sizeof(struct ofp11_stats_msg) == 16);
> > +
> > /* Vendor extension stats message. */
> > struct ofp11_vendor_stats_msg {
> >     struct ofp11_stats_msg osm; /* Type OFPST_VENDOR. */
> > @@ -68,6 +97,16 @@ struct ofp11_vendor_stats_msg {
> >     /* Followed by vendor-defined additional data. */
> > };
> > OFP_ASSERT(sizeof(struct ofp11_vendor_stats_msg) == 24);
> > +
> > +/* Header for Nicira vendor stats request and reply messages in OpenFlow
> > + * 1.0. */
> > +struct nicira10_stats_msg {
> > +    struct ofp10_vendor_stats_msg vsm; /* Vendor NX_VENDOR_ID. */
> > +    ovs_be32 subtype;           /* One of NXST_* below. */
> > +    uint8_t pad[4];             /* Align to 64-bits. */
> > +};
> > +OFP_ASSERT(sizeof(struct nicira10_stats_msg) == 24);
> > +
> > /* A thin abstraction of OpenFlow headers:
> >  *
> >  *   - 'version' and 'type' come straight from struct ofp_header, so these are
> > -- 
> > 2.1.3
> > 
> > _______________________________________________
> > dev mailing list
> > dev at openvswitch.org
> > http://openvswitch.org/mailman/listinfo/dev
> 



More information about the dev mailing list