Fix bugs from fabric.p4
- Incorrect selector for hashed table
- Incorrect counter type for port counter
Change-Id: I04af95bfbb17b9ca407313b3b3bfdfa9efbf1fa4
diff --git a/pipelines/fabric/src/main/resources/include/control/next.p4 b/pipelines/fabric/src/main/resources/include/control/next.p4
index e0ebbe8..c76fc65 100644
--- a/pipelines/fabric/src/main/resources/include/control/next.p4
+++ b/pipelines/fabric/src/main/resources/include/control/next.p4
@@ -103,8 +103,8 @@
table hashed {
key = {
fabric_metadata.next_id: exact;
- hdr.ethernet.dst_addr: selector;
- hdr.ethernet.src_addr: selector;
+ hdr.ipv4.dst_addr: selector;
+ hdr.ipv4.src_addr: selector;
fabric_metadata.ip_proto: selector;
fabric_metadata.l4_src_port: selector;
fabric_metadata.l4_dst_port: selector;
diff --git a/pipelines/fabric/src/main/resources/include/control/port_counter.p4 b/pipelines/fabric/src/main/resources/include/control/port_counter.p4
index 80ec64f..3e9ea00 100644
--- a/pipelines/fabric/src/main/resources/include/control/port_counter.p4
+++ b/pipelines/fabric/src/main/resources/include/control/port_counter.p4
@@ -20,8 +20,8 @@
#include "../header.p4"
control PortCountersControl(inout parsed_headers_t hdr, inout fabric_metadata_t fabric_metadata, inout standard_metadata_t standard_metadata) {
- counter(MAX_PORTS, CounterType.packets) egress_port_counter;
- counter(MAX_PORTS, CounterType.packets) ingress_port_counter;
+ counter(MAX_PORTS, CounterType.packets_and_bytes) egress_port_counter;
+ counter(MAX_PORTS, CounterType.packets_and_bytes) ingress_port_counter;
apply {
if (standard_metadata.egress_spec < MAX_PORTS) {