Skip to content

Commit

Permalink
ofp-msgs: Move most OpenFlow header definitions here.
Browse files Browse the repository at this point in the history
This code was the only user for OpenFlow header definitions other than
struct ofp_header itself.

Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Jarno Rajahalme <jarno@ovn.org>
  • Loading branch information
blp committed Feb 19, 2016
1 parent 2123bc8 commit df63a14
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 39 deletions.
9 changes: 0 additions & 9 deletions include/openflow/nicira-ext.h
Expand Up @@ -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. */
Expand Down
20 changes: 0 additions & 20 deletions include/openflow/openflow-1.0.h
Expand Up @@ -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. */
Expand Down Expand Up @@ -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 */
11 changes: 1 addition & 10 deletions 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
Expand Down Expand Up @@ -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),
Expand Down
39 changes: 39 additions & 0 deletions lib/ofp-msgs.c
Expand Up @@ -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. */
Expand All @@ -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
Expand Down

0 comments on commit df63a14

Please sign in to comment.