aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2014-05-09 08:57:31 -0700
committerBen Pfaff <blp@nicira.com>2014-05-14 10:31:42 -0700
commit18cc69d926518d53d3bbdeaff3f3b164a7fe4c5f (patch)
tree951e69829ce73cc86ed9c7f8b328e8c3bc570fd5 /include
parent8c3cc78538c22db9f78abbd374503a2e9034ac0a (diff)
Implement OpenFlow 1.4 port_mod messages.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'include')
-rw-r--r--include/openflow/openflow-1.4.h44
1 files changed, 41 insertions, 3 deletions
diff --git a/include/openflow/openflow-1.4.h b/include/openflow/openflow-1.4.h
index 9c03cf462..08f98f95a 100644
--- a/include/openflow/openflow-1.4.h
+++ b/include/openflow/openflow-1.4.h
@@ -38,9 +38,11 @@
#define OPENFLOW_14_H 1
#include "openflow/openflow-1.3.h"
-/*
- * OpenFlow 1.4 is more extensible by using TLV structures
- */
+
+
+/* ## ---------- ## */
+/* ## ofp14_port ## */
+/* ## ---------- ## */
/* Port description property types. */
enum ofp_port_desc_prop_type {
@@ -81,6 +83,42 @@ struct ofp14_port {
};
OFP_ASSERT(sizeof(struct ofp14_port) == 40);
+
+/* ## -------------- ## */
+/* ## ofp14_port_mod ## */
+/* ## -------------- ## */
+
+enum ofp14_port_mod_prop_type {
+ OFPPMPT14_ETHERNET = 0, /* Ethernet property. */
+ OFPPMPT14_OPTICAL = 1, /* Optical property. */
+ OFPPMPT14_EXPERIMENTER = 0xFFFF, /* Experimenter property. */
+};
+
+/* Ethernet port mod property. */
+struct ofp14_port_mod_prop_ethernet {
+ ovs_be16 type; /* OFPPMPT14_ETHERNET. */
+ ovs_be16 length; /* Length in bytes of this property. */
+ ovs_be32 advertise; /* Bitmap of OFPPF_*. Zero all bits to prevent
+ any action taking place. */
+};
+OFP_ASSERT(sizeof(struct ofp14_port_mod_prop_ethernet) == 8);
+
+struct ofp14_port_mod {
+ ovs_be32 port_no;
+ uint8_t pad[4];
+ uint8_t hw_addr[OFP_ETH_ALEN];
+ uint8_t pad2[2];
+ ovs_be32 config; /* Bitmap of OFPPC_* flags. */
+ ovs_be32 mask; /* Bitmap of OFPPC_* flags to be changed. */
+ /* Followed by 0 or more OFPPMPT14_* properties. */
+};
+OFP_ASSERT(sizeof(struct ofp14_port_mod) == 24);
+
+
+/* ## -------------- ## */
+/* ## Miscellaneous. ## */
+/* ## -------------- ## */
+
/* Common header for all async config Properties */
struct ofp14_async_config_prop_header {
ovs_be16 type; /* One of OFPACPT_*. */