diff options
author | Ben Pfaff <blp@nicira.com> | 2014-05-09 08:57:31 -0700 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2014-05-14 10:31:42 -0700 |
commit | 18cc69d926518d53d3bbdeaff3f3b164a7fe4c5f (patch) | |
tree | 951e69829ce73cc86ed9c7f8b328e8c3bc570fd5 /include | |
parent | 8c3cc78538c22db9f78abbd374503a2e9034ac0a (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.h | 44 |
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_*. */ |