diff --git a/openflow_input/bsn_port_counter b/openflow_input/bsn_port_counter
index f9ebaa7..fe230b9 100644
--- a/openflow_input/bsn_port_counter
+++ b/openflow_input/bsn_port_counter
@@ -30,8 +30,19 @@
 
 #version 4
 
-struct of_bsn_port_entry {
-    of_port_no_t port_no;
+enum ofp_bsn_port_counter(wire_type=uint8_t, complete=False) {
+  OFP_RX_BYTES = 0,
+  OFP_RX_PACKETS_UNICAST = 1,
+  OFP_RX_PACKETS_BROADCAST = 2,
+  OFP_RX_PACKETS_MULTICAST = 3,
+  OFP_RX_DROPPED = 4,
+  OFP_RX_ERRORS = 5,
+  OFP_TX_BYTES = 6,
+  OFP_TX_PACKETS_UNICAST = 7,
+  OFP_TX_PACKETS_BROADCAST = 8,
+  OFP_TX_PACKETS_MULTICAST = 9,
+  OFP_TX_DROPPED = 10,
+  OFP_TX_ERRORS = 11,
 };
 
 struct of_bsn_port_counter_stats_request : of_bsn_stats_request {
@@ -44,24 +55,14 @@
     pad(4);
     uint32_t experimenter == 0x5c16c7;
     uint32_t subtype == 8;
-    list(of_bsn_port_entry_t) port_entries; //if port_entries is empty, reply counters of all ports.
+    of_port_no_t port_no;
 };
 
 struct of_bsn_port_counter_stats_entry {
+    uint16_t length;
+    pad(2);
     of_port_no_t port_no;
-    pad(4);
-    uint64_t rx_bytes;
-    uint64_t rx_packets_unicast;
-    uint64_t rx_packets_broadcast;
-    uint64_t rx_packets_multicast;
-    uint64_t rx_dropped;
-    uint64_t rx_errors;
-    uint64_t tx_bytes;
-    uint64_t tx_packets_unicast;
-    uint64_t tx_packets_broadcast;
-    uint64_t tx_packets_multicast;
-    uint64_t tx_dropped;
-    uint64_t tx_errors;
+    list(of_uint64_t) port_values;
 };
 
 struct of_bsn_port_counter_stats_reply : of_bsn_stats_reply {
@@ -74,5 +75,5 @@
     pad(4);
     uint32_t experimenter == 0x5c16c7;
     uint32_t subtype == 8;
-    list(of_bsn_port_counter_stats_entry_t) port_counter_entries;
+    list(of_bsn_port_counter_stats_entry_t) entries;
 };
diff --git a/openflow_input/bsn_vlan_counter b/openflow_input/bsn_vlan_counter
index b775df4..fb37bc2 100644
--- a/openflow_input/bsn_vlan_counter
+++ b/openflow_input/bsn_vlan_counter
@@ -30,8 +30,11 @@
 
 #version 4
 
-struct of_bsn_vlan_entry {
-    uint16_t vlan_vid;
+enum of_bsn_vlan_counter_t(wire_type=uint8_t, complete=False) {
+  OFP_RX_BYTES = 0,
+  OFP_RX_PACKETS = 1,
+  OFP_TX_BYTES = 2,
+  OFP_TX_PACKETS = 3,
 };
 
 struct of_bsn_vlan_counter_stats_request : of_bsn_stats_request {
@@ -44,17 +47,14 @@
     pad(4);
     uint32_t experimenter == 0x5c16c7;
     uint32_t subtype == 9;
-    list(of_bsn_vlan_entry_t) vlan_entries; //if vlan_entries is empty, reply counters of all vlans.
+    uint16_t vlan_vid;
 };
 
 struct of_bsn_vlan_counter_stats_entry {
-   uint16_t vlan_vid;
-   pad(2);
-   pad(4);
-   uint64_t rx_bytes;
-   uint64_t rx_packets;
-   uint64_t tx_bytes;
-   uint64_t tx_packets;
+    uint16_t length;
+    uint16_t vlan_vid;
+    pad(4);
+    list(of_uint64_t) vlan_values;
 };
 
 struct of_bsn_vlan_counter_stats_reply : of_bsn_stats_reply {
diff --git a/openflow_input/standard-1.3 b/openflow_input/standard-1.3
index 87adcc4..b4add39 100644
--- a/openflow_input/standard-1.3
+++ b/openflow_input/standard-1.3
@@ -567,6 +567,10 @@
     uint32_t xid;
 };
 
+struct of_uint64 {
+    uint64_t value;
+};
+
 // Special structures used for managing scalar list elements
 struct of_uint32 {
     uint32_t value;
