Backport fabric-spgw TNA changes to v1model
Allow building fabric.p4 with custom S1U_SGW_PREFIX
Change-Id: I4fcaf3f2b56e6d024e54f8897467c280be73e001
Backport fabric-spgw TNA changes to v1model
This branch ports the SPGW pipeline of fabric-tna back to v1model to
make the tables and actions consistent across the two versions. This
consistency will allow for testing of ONOS apps on both software and
hardware targets, since the only available software target that works
with ONOS requires v1model p4 programs. Changes to the fabric testing
suite (fabric-p4test) will be pushed in parallel.
Change-Id: Iad393b27f08a4fcd29f82e59d181871475ef2b10
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt
index 7a83ba9..4fd6025 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/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: 33581620
name: "FabricIngress.process_set_source_sink.tb_set_source"
alias: "tb_set_source"
@@ -870,6 +697,99 @@
}
tables {
preamble {
+ id: 33584493
+ name: "FabricIngress.spgw_ingress.interface_lookup"
+ alias: "interface_lookup"
+ }
+ 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: 16797935
+ }
+ const_default_action_id: 16797935
+ size: 128
+}
+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
+ }
+ const_default_action_id: 16799934
+ 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
+ }
+ 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: 2048
+}
+tables {
+ preamble {
id: 33612258
name: "FabricEgress.process_int_main.process_int_source.tb_int_source"
alias: "tb_int_source"
@@ -988,79 +908,6 @@
}
actions {
preamble {
- id: 16800567
- name: "NoAction"
- alias: "NoAction"
- }
-}
-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: 16778827
name: "FabricIngress.process_set_source_sink.int_set_source"
alias: "int_set_source"
@@ -1473,6 +1320,139 @@
}
actions {
preamble {
+ id: 16797935
+ name: "FabricIngress.spgw_ingress.set_source_iface"
+ alias: "set_source_iface"
+ }
+ params {
+ id: 1
+ name: "src_iface"
+ bitwidth: 8
+ }
+ params {
+ id: 2
+ name: "direction"
+ bitwidth: 2
+ }
+ params {
+ id: 3
+ name: "skip_spgw"
+ bitwidth: 1
+ }
+}
+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
+ }
+ params {
+ id: 3
+ name: "needs_gtpu_decap"
+ bitwidth: 1
+ }
+}
+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_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: 16829280
+ name: "FabricIngress.spgw_ingress.decap_inner_tcp"
+ alias: "decap_inner_tcp"
+ }
+}
+actions {
+ preamble {
+ id: 16815878
+ name: "FabricIngress.spgw_ingress.decap_inner_udp"
+ alias: "decap_inner_udp"
+ }
+}
+actions {
+ preamble {
+ id: 16801274
+ name: "FabricIngress.spgw_ingress.decap_inner_icmp"
+ alias: "decap_inner_icmp"
+ }
+}
+actions {
+ preamble {
+ id: 16830582
+ name: "FabricIngress.spgw_ingress.decap_inner_unknown"
+ alias: "decap_inner_unknown"
+ }
+}
+actions {
+ preamble {
+ id: 16800567
+ name: "NoAction"
+ alias: "NoAction"
+ }
+}
+actions {
+ preamble {
id: 16784000
name: "FabricEgress.bng_egress.downstream.encap_v4"
alias: "encap_v4"
@@ -1576,17 +1556,6 @@
}
counters {
preamble {
- id: 302029884
- name: "FabricIngress.spgw_ingress.pdr_counter"
- alias: "spgw_ingress.pdr_counter"
- }
- spec {
- unit: BOTH
- }
- size: 1024
-}
-counters {
- preamble {
id: 302022672
name: "FabricIngress.bng_ingress.upstream.c_terminated"
alias: "c_terminated"
@@ -1653,14 +1622,14 @@
}
counters {
preamble {
- id: 302012289
- name: "FabricEgress.spgw_egress.pdr_counter"
- alias: "spgw_egress.pdr_counter"
+ id: 302029884
+ name: "FabricIngress.spgw_ingress.pdr_counter"
+ alias: "spgw_ingress.pdr_counter"
}
spec {
unit: BOTH
}
- size: 1024
+ size: 2048
}
counters {
preamble {
@@ -1673,6 +1642,17 @@
}
size: 8192
}
+counters {
+ preamble {
+ id: 302012289
+ name: "FabricEgress.spgw_egress.pdr_counter"
+ alias: "spgw_egress.pdr_counter"
+ }
+ spec {
+ unit: BOTH
+ }
+ size: 2048
+}
direct_counters {
preamble {
id: 318787614