Merge into master from pull request #291:
Add vrf counter request/reply. (https://github.com/floodlight/loxigen/pull/291)
diff --git a/c_gen/codegen.py b/c_gen/codegen.py
index b8a6757..ea05826 100644
--- a/c_gen/codegen.py
+++ b/c_gen/codegen.py
@@ -263,7 +263,7 @@
"of_flow_stats_entry", "of_bucket", "of_table_features",
"of_bsn_port_counter_stats_entry", "of_bsn_vlan_counter_stats_entry",
"of_bsn_gentable_entry_desc_stats_entry", "of_bsn_gentable_entry_stats_entry",
- "of_bsn_gentable_desc_stats_entry"]:
+ "of_bsn_gentable_desc_stats_entry", "of_bsn_vrf_counter_stats_entry"]:
wire_length_get = "of_u16_len_wire_length_get"
wire_length_set = "of_u16_len_wire_length_set"
elif uclass.name == 'of_match_v3':
diff --git a/c_gen/loxi_utils_legacy.py b/c_gen/loxi_utils_legacy.py
index f898957..4472ffa 100644
--- a/c_gen/loxi_utils_legacy.py
+++ b/c_gen/loxi_utils_legacy.py
@@ -132,7 +132,7 @@
"of_flow_stats_entry", "of_bucket", "of_table_features",
"of_bsn_port_counter_stats_entry", "of_bsn_vlan_counter_stats_entry",
"of_bsn_gentable_entry_desc_stats_entry", "of_bsn_gentable_entry_stats_entry",
- "of_bsn_gentable_desc_stats_entry"]
+ "of_bsn_gentable_desc_stats_entry", "of_bsn_vrf_counter_stats_entry"]
def class_is_list(cls):
"""
diff --git a/c_gen/templates/loci_show.h b/c_gen/templates/loci_show.h
index 2a1925d..868e555 100644
--- a/c_gen/templates/loci_show.h
+++ b/c_gen/templates/loci_show.h
@@ -413,5 +413,6 @@
#define LOCI_SHOW_desc_str_startup_config_checksum(write, cookie, val) LOCI_SHOW_desc_str(writer, cookie, val)
#define LOCI_SHOW_u16_bsn_tcp_flags(write, cookie, val) LOCI_SHOW_x16(writer, cookie, val)
#define LOCI_SHOW_u8_loglevel(writer, cookie, val) LOCI_SHOW_u8(writer, cookie, val)
+#define LOCI_SHOW_u32_vrf(write, cookie, val) LOCI_SHOW_u32(writer, cookie, val)
#endif /* _LOCI_SHOW_H_ */
diff --git a/openflow_input/bsn_vlan_counter b/openflow_input/bsn_vlan_counter
index 51dd356..5d90724 100644
--- a/openflow_input/bsn_vlan_counter
+++ b/openflow_input/bsn_vlan_counter
@@ -1,4 +1,4 @@
-// Copyright 2013, Big Switch Networks, Inc.
+// Copyright 2013-2014, Big Switch Networks, Inc.
//
// LoxiGen is licensed under the Eclipse Public License,
// version 1.0 (EPL), with the following special exception:
@@ -30,6 +30,10 @@
#version 4
+enum ofp_bsn_vlan_counter_constants {
+ OFP_BSN_VLAN_ALL = 0xffff,
+};
+
enum of_bsn_vlan_counter_t(wire_type=uint8_t, complete=False) {
OFP_BSN_VLAN_COUNTER_RX_BYTES = 0,
OFP_BSN_VLAN_COUNTER_RX_PACKETS = 1,
diff --git a/openflow_input/bsn_vrf_counter b/openflow_input/bsn_vrf_counter
new file mode 100644
index 0000000..7676e69
--- /dev/null
+++ b/openflow_input/bsn_vrf_counter
@@ -0,0 +1,73 @@
+// Copyright 2014, Big Switch Networks, Inc.
+//
+// LoxiGen is licensed under the Eclipse Public License,
+// version 1.0 (EPL), with the following special exception:
+//
+// LOXI Exception
+//
+// As a special exception to the terms of the EPL, you may
+// distribute libraries generated by LoxiGen (LoxiGen Libraries)
+// under the terms of your choice, provided that copyright and
+// licensing notices generated by LoxiGen are not altered or removed
+// from the LoxiGen Libraries and the notice provided below is (i)
+// included in the LoxiGen Libraries, if distributed in source code
+// form and (ii) included in any documentation for the LoxiGen
+// Libraries, if distributed in binary form.
+//
+// Notice: "Copyright 2013, Big Switch Networks, Inc.
+// This library was generated by the LoxiGen Compiler."
+//
+// You may not use this file except in compliance with the EPL or
+// LOXI Exception. You may obtain a copy of the EPL at:
+//
+// http://www.eclipse.org/legal/epl-v10.html
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an "AS
+// IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+// express or implied. See the EPL for the specific language
+// governing permissions and limitations under the EPL.
+
+#version 4
+
+enum ofp_bsn_vrf_counter_constants(wire_type=uint32_t) {
+ OFP_BSN_VRF_ALL = 0xffffffff,
+};
+
+enum of_bsn_vrf_counter_t(wire_type=uint8_t, complete=False) {
+ OFP_BSN_VRF_COUNTER_BYTES = 0,
+ OFP_BSN_VRF_COUNTER_PACKETS = 1,
+};
+
+struct of_bsn_vrf_counter_stats_request : of_bsn_stats_request {
+ uint8_t version;
+ uint8_t type == 18;
+ uint16_t length;
+ uint32_t xid;
+ uint16_t stats_type == 0xffff;
+ enum ofp_stats_request_flags flags;
+ pad(4);
+ uint32_t experimenter == 0x5c16c7;
+ uint32_t subtype == 15;
+ uint32_t vrf;
+};
+
+struct of_bsn_vrf_counter_stats_entry {
+ uint16_t length;
+ pad(2);
+ uint32_t vrf;
+ list(of_uint64_t) values;
+};
+
+struct of_bsn_vrf_counter_stats_reply : of_bsn_stats_reply {
+ uint8_t version;
+ uint8_t type == 19;
+ uint16_t length;
+ uint32_t xid;
+ uint16_t stats_type == 0xffff;
+ enum ofp_stats_reply_flags flags;
+ pad(4);
+ uint32_t experimenter == 0x5c16c7;
+ uint32_t subtype == 15;
+ list(of_bsn_vrf_counter_stats_entry_t) entries;
+};