[AETHER-1032] Backport AETHER-538 to fabric.p4
AETHER-538 introduces a new design for the egress pipeline
where the tagged ports are explicitily matched in the
egress_vlan table. Moreover, no match means dropped with
this new design.
Change-Id: I4b7ac342d0650b8726f224e240933e15d9bb6e25
diff --git a/src/main/resources/p4c-out/fabric-spgw/tofino/mavericks_sde_9_0_0/p4info.txt b/src/main/resources/p4c-out/fabric-spgw/tofino/mavericks_sde_9_0_0/p4info.txt
index cff4d2f..8118037 100644
--- a/src/main/resources/p4c-out/fabric-spgw/tofino/mavericks_sde_9_0_0/p4info.txt
+++ b/src/main/resources/p4c-out/fabric-spgw/tofino/mavericks_sde_9_0_0/p4info.txt
@@ -3,179 +3,6 @@
}
tables {
preamble {
- id: 33586632
- name: "FabricIngress.spgw_ingress.downlink_filter_table"
- alias: "downlink_filter_table"
- }
- match_fields {
- id: 1
- name: "ipv4_prefix"
- bitwidth: 32
- match_type: LPM
- }
- action_refs {
- id: 16819938
- }
- const_default_action_id: 16819938
- size: 1024
-}
-tables {
- preamble {
- id: 33567046
- name: "FabricIngress.spgw_ingress.uplink_filter_table"
- alias: "uplink_filter_table"
- }
- match_fields {
- id: 1
- name: "gtp_ipv4_dst"
- bitwidth: 32
- match_type: EXACT
- }
- action_refs {
- id: 16819938
- }
- const_default_action_id: 16819938
- size: 1024
-}
-tables {
- preamble {
- id: 33586958
- name: "FabricIngress.spgw_ingress.downlink_pdr_lookup"
- alias: "downlink_pdr_lookup"
- }
- match_fields {
- id: 1
- name: "ue_addr"
- bitwidth: 32
- match_type: EXACT
- }
- action_refs {
- id: 16799934
- }
- action_refs {
- id: 16800567
- annotations: "@defaultonly"
- scope: DEFAULT_ONLY
- }
- size: 1024
-}
-tables {
- preamble {
- id: 33587070
- name: "FabricIngress.spgw_ingress.uplink_pdr_lookup"
- alias: "uplink_pdr_lookup"
- }
- match_fields {
- id: 1
- name: "tunnel_ipv4_dst"
- bitwidth: 32
- match_type: EXACT
- }
- match_fields {
- id: 2
- name: "teid"
- bitwidth: 32
- match_type: EXACT
- }
- match_fields {
- id: 3
- name: "ue_addr"
- bitwidth: 32
- match_type: EXACT
- }
- action_refs {
- id: 16799934
- }
- action_refs {
- id: 16800567
- annotations: "@defaultonly"
- scope: DEFAULT_ONLY
- }
- size: 1024
-}
-tables {
- preamble {
- id: 33582573
- name: "FabricIngress.spgw_ingress.flexible_pdr_lookup"
- alias: "flexible_pdr_lookup"
- }
- match_fields {
- id: 1
- name: "spgw_direction"
- bitwidth: 2
- match_type: TERNARY
- }
- match_fields {
- id: 2
- name: "tunnel_ipv4_dst"
- bitwidth: 32
- match_type: TERNARY
- }
- match_fields {
- id: 3
- name: "teid"
- bitwidth: 32
- match_type: TERNARY
- }
- match_fields {
- id: 4
- name: "ipv4_src"
- bitwidth: 32
- match_type: TERNARY
- }
- match_fields {
- id: 5
- name: "ipv4_dst"
- bitwidth: 32
- match_type: TERNARY
- }
- match_fields {
- id: 6
- name: "ip_proto"
- bitwidth: 8
- match_type: TERNARY
- }
- match_fields {
- id: 7
- name: "l4_sport"
- bitwidth: 16
- match_type: TERNARY
- }
- match_fields {
- id: 8
- name: "l4_dport"
- bitwidth: 16
- match_type: TERNARY
- }
- action_refs {
- id: 16799934
- }
- const_default_action_id: 16799934
- size: 1024
-}
-tables {
- preamble {
- id: 33613200
- name: "FabricIngress.spgw_ingress.far_lookup"
- alias: "far_lookup"
- }
- match_fields {
- id: 1
- name: "far_id"
- bitwidth: 32
- match_type: EXACT
- }
- action_refs {
- id: 16834935
- }
- action_refs {
- id: 16787606
- }
- const_default_action_id: 16834935
- size: 1024
-}
-tables {
- preamble {
id: 33611649
name: "FabricIngress.filtering.ingress_port_vlan"
alias: "ingress_port_vlan"
@@ -539,6 +366,109 @@
}
tables {
preamble {
+ id: 33557250
+ name: "FabricIngress.spgw.interfaces"
+ alias: "interfaces"
+ }
+ match_fields {
+ id: 1
+ name: "ipv4_dst_addr"
+ bitwidth: 32
+ match_type: LPM
+ }
+ match_fields {
+ id: 2
+ name: "gtpu_is_valid"
+ bitwidth: 1
+ match_type: EXACT
+ }
+ action_refs {
+ id: 16810012
+ }
+ action_refs {
+ id: 16783042
+ annotations: "@defaultonly"
+ scope: DEFAULT_ONLY
+ }
+ const_default_action_id: 16783042
+ size: 128
+}
+tables {
+ preamble {
+ id: 33566601
+ name: "FabricIngress.spgw.downlink_pdrs"
+ alias: "downlink_pdrs"
+ }
+ match_fields {
+ id: 1
+ name: "ue_addr"
+ bitwidth: 32
+ match_type: EXACT
+ }
+ action_refs {
+ id: 16800614
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly"
+ scope: DEFAULT_ONLY
+ }
+ size: 1024
+}
+tables {
+ preamble {
+ id: 33606410
+ name: "FabricIngress.spgw.uplink_pdrs"
+ alias: "uplink_pdrs"
+ }
+ match_fields {
+ id: 1
+ name: "tunnel_ipv4_dst"
+ bitwidth: 32
+ match_type: EXACT
+ }
+ match_fields {
+ id: 2
+ name: "teid"
+ bitwidth: 32
+ match_type: EXACT
+ }
+ action_refs {
+ id: 16800614
+ }
+ action_refs {
+ id: 16800567
+ annotations: "@defaultonly"
+ scope: DEFAULT_ONLY
+ }
+ size: 1024
+}
+tables {
+ preamble {
+ id: 33599560
+ name: "FabricIngress.spgw.fars"
+ alias: "fars"
+ }
+ match_fields {
+ id: 1
+ name: "far_id"
+ bitwidth: 32
+ match_type: EXACT
+ }
+ action_refs {
+ id: 16820307
+ }
+ action_refs {
+ id: 16814785
+ }
+ action_refs {
+ id: 16814681
+ }
+ const_default_action_id: 16820307
+ size: 2048
+}
+tables {
+ preamble {
id: 33599342
name: "FabricEgress.egress_next.egress_vlan"
alias: "egress_vlan"
@@ -556,14 +486,17 @@
match_type: EXACT
}
action_refs {
+ id: 16807339
+ }
+ action_refs {
id: 16790030
}
action_refs {
- id: 16819938
+ id: 16787838
annotations: "@defaultonly"
scope: DEFAULT_ONLY
}
- const_default_action_id: 16819938
+ const_default_action_id: 16787838
direct_resource_ids: 318827144
size: 2048
}
@@ -583,72 +516,6 @@
}
actions {
preamble {
- id: 16799934
- name: "FabricIngress.spgw_ingress.set_pdr_attributes"
- alias: "set_pdr_attributes"
- }
- params {
- id: 1
- name: "ctr_id"
- bitwidth: 32
- }
- params {
- id: 2
- name: "far_id"
- bitwidth: 32
- }
-}
-actions {
- preamble {
- id: 16834935
- name: "FabricIngress.spgw_ingress.load_normal_far_attributes"
- alias: "load_normal_far_attributes"
- }
- params {
- id: 1
- name: "drop"
- bitwidth: 1
- }
- params {
- id: 2
- name: "notify_cp"
- bitwidth: 1
- }
-}
-actions {
- preamble {
- id: 16787606
- name: "FabricIngress.spgw_ingress.load_tunnel_far_attributes"
- alias: "load_tunnel_far_attributes"
- }
- params {
- id: 1
- name: "drop"
- bitwidth: 1
- }
- params {
- id: 2
- name: "notify_cp"
- bitwidth: 1
- }
- params {
- id: 3
- name: "tunnel_src_addr"
- bitwidth: 32
- }
- params {
- id: 4
- name: "tunnel_dst_addr"
- bitwidth: 32
- }
- params {
- id: 5
- name: "teid"
- bitwidth: 32
- }
-}
-actions {
- preamble {
id: 16836487
name: "FabricIngress.filtering.deny"
alias: "deny"
@@ -763,7 +630,7 @@
preamble {
id: 16820765
name: "FabricIngress.acl.drop"
- alias: "drop"
+ alias: "acl.drop"
}
}
actions {
@@ -884,11 +751,157 @@
}
actions {
preamble {
+ id: 16810012
+ name: "FabricIngress.spgw.load_iface"
+ alias: "load_iface"
+ }
+ params {
+ id: 1
+ name: "src_iface"
+ bitwidth: 8
+ }
+}
+actions {
+ preamble {
+ id: 16783042
+ name: "FabricIngress.spgw.iface_miss"
+ alias: "iface_miss"
+ }
+}
+actions {
+ preamble {
+ id: 16800614
+ name: "FabricIngress.spgw.load_pdr"
+ alias: "load_pdr"
+ }
+ params {
+ id: 1
+ name: "ctr_id"
+ bitwidth: 32
+ }
+ params {
+ id: 2
+ name: "far_id"
+ bitwidth: 32
+ }
+ params {
+ id: 3
+ name: "needs_gtpu_decap"
+ bitwidth: 1
+ }
+}
+actions {
+ preamble {
+ id: 16820307
+ name: "FabricIngress.spgw.load_normal_far"
+ alias: "load_normal_far"
+ }
+ params {
+ id: 1
+ name: "drop"
+ bitwidth: 1
+ }
+ params {
+ id: 2
+ name: "notify_cp"
+ bitwidth: 1
+ }
+}
+actions {
+ preamble {
+ id: 16814785
+ name: "FabricIngress.spgw.load_tunnel_far"
+ alias: "load_tunnel_far"
+ }
+ params {
+ id: 1
+ name: "drop"
+ bitwidth: 1
+ }
+ params {
+ id: 2
+ name: "notify_cp"
+ bitwidth: 1
+ }
+ params {
+ id: 3
+ name: "tunnel_src_port"
+ bitwidth: 16
+ }
+ params {
+ id: 4
+ name: "tunnel_src_addr"
+ bitwidth: 32
+ }
+ params {
+ id: 5
+ name: "tunnel_dst_addr"
+ bitwidth: 32
+ }
+ params {
+ id: 6
+ name: "teid"
+ bitwidth: 32
+ }
+}
+actions {
+ preamble {
+ id: 16814681
+ name: "FabricIngress.spgw.load_dbuf_far"
+ alias: "load_dbuf_far"
+ }
+ params {
+ id: 1
+ name: "drop"
+ bitwidth: 1
+ }
+ params {
+ id: 2
+ name: "notify_cp"
+ bitwidth: 1
+ }
+ params {
+ id: 3
+ name: "tunnel_src_port"
+ bitwidth: 16
+ }
+ params {
+ id: 4
+ name: "tunnel_src_addr"
+ bitwidth: 32
+ }
+ params {
+ id: 5
+ name: "tunnel_dst_addr"
+ bitwidth: 32
+ }
+ params {
+ id: 6
+ name: "teid"
+ bitwidth: 32
+ }
+}
+actions {
+ preamble {
+ id: 16807339
+ name: "FabricEgress.egress_next.push_vlan"
+ alias: "push_vlan"
+ }
+}
+actions {
+ preamble {
id: 16790030
name: "FabricEgress.egress_next.pop_vlan"
alias: "pop_vlan"
}
}
+actions {
+ preamble {
+ id: 16787838
+ name: "FabricEgress.egress_next.drop"
+ alias: "egress_next.drop"
+ }
+}
action_profiles {
preamble {
id: 285217164
@@ -902,25 +915,25 @@
}
counters {
preamble {
- id: 302029884
- name: "FabricIngress.spgw_ingress.pdr_counter"
- alias: "spgw_ingress.pdr_counter"
+ id: 302043952
+ name: "FabricIngress.spgw.pdr_counter"
+ alias: "FabricIngress.spgw.pdr_counter"
}
spec {
unit: BOTH
}
- size: 1024
+ size: 2048
}
counters {
preamble {
- id: 302012289
- name: "FabricEgress.spgw_egress.pdr_counter"
- alias: "spgw_egress.pdr_counter"
+ id: 302049491
+ name: "FabricEgress.spgw.pdr_counter"
+ alias: "FabricEgress.spgw.pdr_counter"
}
spec {
unit: BOTH
}
- size: 1024
+ size: 2048
}
direct_counters {
preamble {