mirror of
https://github.com/openvswitch/ovs
synced 2025-10-27 15:18:06 +00:00
ofp-msgs: Add support for ONF extension messages.
ONF introduced a number of "standard extensions" that use its own vendor (experimenter) ID. This commit adds support for such extensions to ofp-msgs. These extensions were already half-supported, so there's barely any change to build-aux/extract-ofp-msgs. This isn't fully tested, since nothing adds support for such a message yet. Requested-by: Jarno Rajahalme <jarno@ovn.org> Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Jarno Rajahalme <jarno@ovn.org>
This commit is contained in:
@@ -68,14 +68,6 @@ struct nx_vendor_error {
|
||||
|
||||
/* Nicira vendor requests and replies. */
|
||||
|
||||
/* Header for Nicira vendor requests and replies. */
|
||||
struct nicira_header {
|
||||
struct ofp_header header;
|
||||
ovs_be32 vendor; /* NX_VENDOR_ID. */
|
||||
ovs_be32 subtype; /* See the NXT numbers in ofp-msgs.h. */
|
||||
};
|
||||
OFP_ASSERT(sizeof(struct nicira_header) == 16);
|
||||
|
||||
/* Header for Nicira vendor stats request and reply messages in OpenFlow
|
||||
* 1.0. */
|
||||
struct nicira10_stats_msg {
|
||||
@@ -85,14 +77,6 @@ struct nicira10_stats_msg {
|
||||
};
|
||||
OFP_ASSERT(sizeof(struct nicira10_stats_msg) == 24);
|
||||
|
||||
/* Header for Nicira vendor stats request and reply messages in OpenFlow
|
||||
* 1.1. */
|
||||
struct nicira11_stats_msg {
|
||||
struct ofp11_vendor_stats_msg vsm; /* Vendor NX_VENDOR_ID. */
|
||||
ovs_be32 subtype; /* One of NXST_* below. */
|
||||
};
|
||||
OFP_ASSERT(sizeof(struct nicira11_stats_msg) == 24);
|
||||
|
||||
/* Fields to use when hashing flows. */
|
||||
enum nx_hash_fields {
|
||||
/* Ethernet source address (NXM_OF_ETH_SRC) only. */
|
||||
|
||||
@@ -391,17 +391,6 @@ struct ofp11_stats_msg {
|
||||
};
|
||||
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. */
|
||||
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 ofp11_vendor_stats_msg) == 20);
|
||||
|
||||
/* Stats request of type OFPST_FLOW. */
|
||||
struct ofp11_flow_stats_request {
|
||||
uint8_t table_id; /* ID of table to read (from ofp_table_stats),
|
||||
|
||||
@@ -428,17 +428,6 @@ struct ofp_hello_elem_header {
|
||||
};
|
||||
OFP_ASSERT(sizeof(struct ofp_hello_elem_header) == 4);
|
||||
|
||||
/* Vendor extension. */
|
||||
struct ofp_vendor_header {
|
||||
struct ofp_header header; /* Type OFPT_VENDOR or OFPT_EXPERIMENTER. */
|
||||
ovs_be32 vendor; /* Vendor ID:
|
||||
* - MSB 0: low-order bytes are IEEE OUI.
|
||||
* - MSB != 0: defined by OpenFlow
|
||||
* consortium. */
|
||||
/* Vendor-defined arbitrary additional data. */
|
||||
};
|
||||
OFP_ASSERT(sizeof(struct ofp_vendor_header) == 12);
|
||||
|
||||
/* Table numbering. Tables can use any number up to OFPT_MAX. */
|
||||
enum ofp_table {
|
||||
/* Last usable table number. */
|
||||
|
||||
Reference in New Issue
Block a user