openflow_input: add BSN extensions to OF 1.4
I left out the following extensions that are no longer used or have been
superceded by the standard:
- bsn_disable_split_horizon_check
- bsn_role_status
- bsn_global_vrf_allowed
diff --git a/openflow_input/bsn-1.3 b/openflow_input/bsn-1.3
index f9340b4..5ad480c 100644
--- a/openflow_input/bsn-1.3
+++ b/openflow_input/bsn-1.3
@@ -26,6 +26,7 @@
// under the EPL.
#version 4
+#version 5
// BSN extension instruction
struct of_instruction_bsn : of_instruction_experimenter {
diff --git a/openflow_input/bsn_acl b/openflow_input/bsn_acl
index 4035904..bcca842 100644
--- a/openflow_input/bsn_acl
+++ b/openflow_input/bsn_acl
@@ -30,6 +30,7 @@
// Copyright (c) 2011, 2012 Open Networking Foundation
#version 4
+#version 5
// Instructions to express control flow in ACL tables
diff --git a/openflow_input/bsn_arp_idle b/openflow_input/bsn_arp_idle
index 26cea92..16a1782 100644
--- a/openflow_input/bsn_arp_idle
+++ b/openflow_input/bsn_arp_idle
@@ -35,6 +35,7 @@
// not remove the table entry on its own.
#version 4
+#version 5
struct of_bsn_arp_idle : of_bsn_header {
uint8_t version;
diff --git a/openflow_input/bsn_arp_offload b/openflow_input/bsn_arp_offload
index 5a229b1..f13f6ac 100644
--- a/openflow_input/bsn_arp_offload
+++ b/openflow_input/bsn_arp_offload
@@ -30,6 +30,7 @@
// Copyright (c) 2011, 2012 Open Networking Foundation
#version 4
+#version 5
struct of_instruction_bsn_arp_offload : of_instruction_bsn {
uint16_t type == 65535;
diff --git a/openflow_input/bsn_aux_cxns b/openflow_input/bsn_aux_cxns
index 247f81b..8ceaa72 100644
--- a/openflow_input/bsn_aux_cxns
+++ b/openflow_input/bsn_aux_cxns
@@ -28,6 +28,8 @@
// Request that the switch spawn and configure auxiliary OF connections.
//
#version 4
+#version 5
+
// Set the number of desired aux connections num_aux=(0-16) accompanying this main connection
// This message is only allowed on the main connection.
struct of_bsn_set_aux_cxns_request : of_bsn_header {
diff --git a/openflow_input/bsn_controller_connections b/openflow_input/bsn_controller_connections
index eae315e..845d3b8 100644
--- a/openflow_input/bsn_controller_connections
+++ b/openflow_input/bsn_controller_connections
@@ -37,6 +37,7 @@
// The URIs are of the form tcp://1.2.3.4:6553
#version 4
+#version 5
enum ofp_bsn_controller_connection_state(wire_type=uint8_t) {
OFP_BSN_CONTROLLER_CONNECTION_STATE_DISCONNECTED = 0,
diff --git a/openflow_input/bsn_debug_counter b/openflow_input/bsn_debug_counter
index 75cafcc..6c28b87 100644
--- a/openflow_input/bsn_debug_counter
+++ b/openflow_input/bsn_debug_counter
@@ -29,6 +29,7 @@
// governing permissions and limitations under the EPL.
#version 4
+#version 5
// Switches have many non-dataplane counters that are mainly useful for
// debugging. An example is the number of packet-ins dropped due to
diff --git a/openflow_input/bsn_dhcp_offload b/openflow_input/bsn_dhcp_offload
index b21b036..5352754 100644
--- a/openflow_input/bsn_dhcp_offload
+++ b/openflow_input/bsn_dhcp_offload
@@ -30,6 +30,7 @@
// Copyright (c) 2011, 2012 Open Networking Foundation
#version 4
+#version 5
struct of_instruction_bsn_dhcp_offload : of_instruction_bsn {
uint16_t type == 65535;
diff --git a/openflow_input/bsn_disable_src_mac_check b/openflow_input/bsn_disable_src_mac_check
index f75c237..6b095ca 100644
--- a/openflow_input/bsn_disable_src_mac_check
+++ b/openflow_input/bsn_disable_src_mac_check
@@ -30,6 +30,7 @@
// Copyright (c) 2011, 2012 Open Networking Foundation
#version 4
+#version 5
struct of_instruction_bsn_disable_src_mac_check : of_instruction_bsn {
uint16_t type == 65535;
diff --git a/openflow_input/bsn_disable_vlan_counters b/openflow_input/bsn_disable_vlan_counters
index 068db64..e586917 100644
--- a/openflow_input/bsn_disable_vlan_counters
+++ b/openflow_input/bsn_disable_vlan_counters
@@ -30,6 +30,7 @@
// Copyright (c) 2011, 2012 Open Networking Foundation
#version 4
+#version 5
struct of_instruction_bsn_disable_vlan_counters : of_instruction_bsn {
uint16_t type == 65535;
diff --git a/openflow_input/bsn_egr_port_group_id b/openflow_input/bsn_egr_port_group_id
index a237b49..3ba5462 100644
--- a/openflow_input/bsn_egr_port_group_id
+++ b/openflow_input/bsn_egr_port_group_id
@@ -30,6 +30,7 @@
#version 3
#version 4
+#version 5
/*
* Egress port group ID for SwitchLight
diff --git a/openflow_input/bsn_flow_checksum b/openflow_input/bsn_flow_checksum
index bfa5f3c..35b658f 100644
--- a/openflow_input/bsn_flow_checksum
+++ b/openflow_input/bsn_flow_checksum
@@ -29,6 +29,7 @@
// governing permissions and limitations under the EPL.
#version 4
+#version 5
// Retrieves the checksum for every bucket in a table. The entries are ordered
// by bucket index.
diff --git a/openflow_input/bsn_flow_idle b/openflow_input/bsn_flow_idle
index 40a95d8..e0139e2 100644
--- a/openflow_input/bsn_flow_idle
+++ b/openflow_input/bsn_flow_idle
@@ -29,6 +29,7 @@
// governing permissions and limitations under the EPL.
#version 4
+#version 5
/*
* Notification of idle flows
diff --git a/openflow_input/bsn_gentable b/openflow_input/bsn_gentable
index 6ccaac5..556ae0b 100644
--- a/openflow_input/bsn_gentable
+++ b/openflow_input/bsn_gentable
@@ -29,6 +29,7 @@
// governing permissions and limitations under the EPL.
#version 4
+#version 5
// We have a number of switch agents that need to be configured by the
// controller and report stats. Some of them will have large tables (1000+
diff --git a/openflow_input/bsn_image b/openflow_input/bsn_image
index 05a1a97..fafe8d8 100644
--- a/openflow_input/bsn_image
+++ b/openflow_input/bsn_image
@@ -29,6 +29,7 @@
// governing permissions and limitations under the EPL.
#version 4
+#version 5
struct of_bsn_image_desc_stats_request : of_bsn_stats_request {
uint8_t version;
diff --git a/openflow_input/bsn_in_ports b/openflow_input/bsn_in_ports
index b23df63..819bdde 100644
--- a/openflow_input/bsn_in_ports
+++ b/openflow_input/bsn_in_ports
@@ -30,6 +30,7 @@
#version 3
#version 4
+#version 5
/*
* Bitmap of input ports
diff --git a/openflow_input/bsn_l3_interface_class_id b/openflow_input/bsn_l3_interface_class_id
index 80d1e37..f16d333 100644
--- a/openflow_input/bsn_l3_interface_class_id
+++ b/openflow_input/bsn_l3_interface_class_id
@@ -30,6 +30,7 @@
#version 3
#version 4
+#version 5
/*
* L3 interface class ID for SwitchLight
diff --git a/openflow_input/bsn_l3_src_class_id b/openflow_input/bsn_l3_src_class_id
index 58f60c6..7e2569e 100644
--- a/openflow_input/bsn_l3_src_class_id
+++ b/openflow_input/bsn_l3_src_class_id
@@ -30,6 +30,7 @@
#version 3
#version 4
+#version 5
/*
* L3 source class ID for SwitchLight
diff --git a/openflow_input/bsn_lacp b/openflow_input/bsn_lacp
index 2a63b17..ed36b0d 100644
--- a/openflow_input/bsn_lacp
+++ b/openflow_input/bsn_lacp
@@ -29,6 +29,7 @@
// governing permissions and limitations under the EPL.
#version 4
+#version 5
// LACP Convergence Status set in of_bsn_lacp_convergence_notif message
enum of_bsn_lacp_convergence_status(wire_type=uint8_t, complete=False) {
diff --git a/openflow_input/bsn_lag_id b/openflow_input/bsn_lag_id
index 63645a3..d428933 100644
--- a/openflow_input/bsn_lag_id
+++ b/openflow_input/bsn_lag_id
@@ -30,6 +30,7 @@
#version 3
#version 4
+#version 5
/*
* Ingress LAG ID for SwitchLight
diff --git a/openflow_input/bsn_log b/openflow_input/bsn_log
index b2a9758..e636d6e 100644
--- a/openflow_input/bsn_log
+++ b/openflow_input/bsn_log
@@ -29,6 +29,7 @@
// the receiver's configured loglevel is lower than the message's loglevel.
#version 4
+#version 5
enum ofp_bsn_loglevel(wire_type=uint8_t) {
OFP_BSN_LOGLEVEL_MSG = 0,
diff --git a/openflow_input/bsn_packet_of_death b/openflow_input/bsn_packet_of_death
index e8679f0..c1ac28d 100644
--- a/openflow_input/bsn_packet_of_death
+++ b/openflow_input/bsn_packet_of_death
@@ -30,6 +30,7 @@
// Copyright (c) 2011, 2012 Open Networking Foundation
#version 4
+#version 5
struct of_instruction_bsn_packet_of_death : of_instruction_bsn {
uint16_t type == 65535;
diff --git a/openflow_input/bsn_pktin_flag b/openflow_input/bsn_pktin_flag
index fd94a49..71a4be1 100644
--- a/openflow_input/bsn_pktin_flag
+++ b/openflow_input/bsn_pktin_flag
@@ -26,6 +26,7 @@
// under the EPL.
#version 4
+#version 5
// In a realistic switch pipeline there are multiple reasons a given packet
// should be sent to the controller. The packet-in reason field is only 8 bits,
diff --git a/openflow_input/bsn_port_counter b/openflow_input/bsn_port_counter
index 83cd1c8..6cf5e10 100644
--- a/openflow_input/bsn_port_counter
+++ b/openflow_input/bsn_port_counter
@@ -29,6 +29,7 @@
// governing permissions and limitations under the EPL.
#version 4
+#version 5
enum ofp_bsn_port_counter(wire_type=uint8_t, complete=False, stable=True) {
OFP_BSN_PORT_COUNTER_RX_BYTES = 0,
diff --git a/openflow_input/bsn_prioritize_pdus b/openflow_input/bsn_prioritize_pdus
index fbec0a0..7a179a9 100644
--- a/openflow_input/bsn_prioritize_pdus
+++ b/openflow_input/bsn_prioritize_pdus
@@ -30,6 +30,7 @@
// Copyright (c) 2011, 2012 Open Networking Foundation
#version 4
+#version 5
struct of_instruction_bsn_prioritize_pdus : of_instruction_bsn {
uint16_t type == 65535;
diff --git a/openflow_input/bsn_require_vlan_xlate b/openflow_input/bsn_require_vlan_xlate
index 24cf137..32fc55c 100644
--- a/openflow_input/bsn_require_vlan_xlate
+++ b/openflow_input/bsn_require_vlan_xlate
@@ -30,6 +30,7 @@
// Copyright (c) 2011, 2012 Open Networking Foundation
#version 4
+#version 5
struct of_instruction_bsn_require_vlan_xlate : of_instruction_bsn {
uint16_t type == 65535;
diff --git a/openflow_input/bsn_span_destination b/openflow_input/bsn_span_destination
index 7fd900d..fd4f677 100644
--- a/openflow_input/bsn_span_destination
+++ b/openflow_input/bsn_span_destination
@@ -30,6 +30,7 @@
// Copyright (c) 2011, 2012 Open Networking Foundation
#version 4
+#version 5
struct of_instruction_bsn_span_destination : of_instruction_bsn {
uint16_t type == 65535;
diff --git a/openflow_input/bsn_switch_pipeline b/openflow_input/bsn_switch_pipeline
index ff2213f..d42532b 100644
--- a/openflow_input/bsn_switch_pipeline
+++ b/openflow_input/bsn_switch_pipeline
@@ -29,6 +29,7 @@
// governing permissions and limitations under the EPL.
#version 4
+#version 5
struct of_bsn_get_switch_pipeline_request : of_bsn_header {
uint8_t version;
diff --git a/openflow_input/bsn_tcp_flags b/openflow_input/bsn_tcp_flags
index e8ef2e9..1a84a90 100644
--- a/openflow_input/bsn_tcp_flags
+++ b/openflow_input/bsn_tcp_flags
@@ -30,6 +30,7 @@
#version 3
#version 4
+#version 5
/*
* TCP flags
diff --git a/openflow_input/bsn_time b/openflow_input/bsn_time
index 0a955be..d69e538 100644
--- a/openflow_input/bsn_time
+++ b/openflow_input/bsn_time
@@ -33,6 +33,7 @@
// The timestamp must be monotonic (not affected by system time updates).
#version 4
+#version 5
struct of_bsn_time_request : of_bsn_header {
uint8_t version;
diff --git a/openflow_input/bsn_tlv b/openflow_input/bsn_tlv
index 8b55b03..2fc4f86 100644
--- a/openflow_input/bsn_tlv
+++ b/openflow_input/bsn_tlv
@@ -29,6 +29,7 @@
// governing permissions and limitations under the EPL.
#version 4
+#version 5
struct of_bsn_tlv_port : of_bsn_tlv {
uint16_t type == 0;
diff --git a/openflow_input/bsn_udf b/openflow_input/bsn_udf
index f7ce9a6..12ad1cb 100644
--- a/openflow_input/bsn_udf
+++ b/openflow_input/bsn_udf
@@ -30,6 +30,7 @@
#version 3
#version 4
+#version 5
/*
* User Defined Fields
diff --git a/openflow_input/bsn_vlan_counter b/openflow_input/bsn_vlan_counter
index c5814f4..d39d35f 100644
--- a/openflow_input/bsn_vlan_counter
+++ b/openflow_input/bsn_vlan_counter
@@ -29,6 +29,7 @@
// governing permissions and limitations under the EPL.
#version 4
+#version 5
enum ofp_bsn_vlan_counter_constants {
OFP_BSN_VLAN_ALL = 0xffff,
diff --git a/openflow_input/bsn_vlan_xlate_port_group_id b/openflow_input/bsn_vlan_xlate_port_group_id
index c8e5a25..986dc0e 100644
--- a/openflow_input/bsn_vlan_xlate_port_group_id
+++ b/openflow_input/bsn_vlan_xlate_port_group_id
@@ -30,6 +30,7 @@
#version 3
#version 4
+#version 5
/*
* VLAN xlate port group ID for SwitchLight
diff --git a/openflow_input/bsn_vrf b/openflow_input/bsn_vrf
index 26959bd..c61c313 100644
--- a/openflow_input/bsn_vrf
+++ b/openflow_input/bsn_vrf
@@ -30,6 +30,7 @@
#version 3
#version 4
+#version 5
/*
* Virtual Routing/Forwarding ID for SwitchLight
diff --git a/openflow_input/bsn_vrf_counter b/openflow_input/bsn_vrf_counter
index b638ff7..012d728 100644
--- a/openflow_input/bsn_vrf_counter
+++ b/openflow_input/bsn_vrf_counter
@@ -29,6 +29,7 @@
// governing permissions and limitations under the EPL.
#version 4
+#version 5
enum ofp_bsn_vrf_counter_constants(wire_type=uint32_t) {
OFP_BSN_VRF_ALL = 0xffffffff,