diff --git a/pipelines/fabric/src/test/p4/fabric-spgw/.gitignore b/pipelines/fabric/src/test/p4/fabric-spgw/.gitignore deleted file mode 100644 index 16efdec801..0000000000 --- a/pipelines/fabric/src/test/p4/fabric-spgw/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -main.json -main.p4info -entries.txt diff --git a/pipelines/fabric/src/test/p4/fabric-spgw/Makefile b/pipelines/fabric/src/test/p4/fabric-spgw/Makefile deleted file mode 100644 index 71dc23cc2c..0000000000 --- a/pipelines/fabric/src/test/p4/fabric-spgw/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: - p4c-bm2-ss -o main.json \ - -DWITH_SPGW -I ../../../main/resources/ \ - --p4runtime-file main.p4info \ - --p4runtime-format text ../../../main/resources/fabric.p4 diff --git a/pipelines/fabric/src/test/p4/fabric-spgw/downlink-post-mpls.pcap b/pipelines/fabric/src/test/p4/fabric-spgw/downlink-post-mpls.pcap deleted file mode 100644 index 0f2d27b60a..0000000000 Binary files a/pipelines/fabric/src/test/p4/fabric-spgw/downlink-post-mpls.pcap and /dev/null differ diff --git a/pipelines/fabric/src/test/p4/fabric-spgw/downlink-post.pcap b/pipelines/fabric/src/test/p4/fabric-spgw/downlink-post.pcap deleted file mode 100644 index a3b76a7db7..0000000000 Binary files a/pipelines/fabric/src/test/p4/fabric-spgw/downlink-post.pcap and /dev/null differ diff --git a/pipelines/fabric/src/test/p4/fabric-spgw/downlink-pre.pcap b/pipelines/fabric/src/test/p4/fabric-spgw/downlink-pre.pcap deleted file mode 100644 index 465ab03fb2..0000000000 Binary files a/pipelines/fabric/src/test/p4/fabric-spgw/downlink-pre.pcap and /dev/null differ diff --git a/pipelines/fabric/src/test/p4/fabric-spgw/entries-mpls-dl.json b/pipelines/fabric/src/test/p4/fabric-spgw/entries-mpls-dl.json deleted file mode 100644 index 6bc9bce78c..0000000000 --- a/pipelines/fabric/src/test/p4/fabric-spgw/entries-mpls-dl.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "fabric-spgw": { - "addr": "localhost:50051", - "flows": [ - { - "table_name": "filtering.ingress_port_vlan", - "match_fields": { - "standard_metadata.ingress_port": 1, - "hdr.vlan_tag.is_valid": 0, - "hdr.vlan_tag.vlan_id": [0, 0] - }, - "action_name": "filtering.push_internal_vlan", - "action_params": { - "new_vlan_id": 4094 - } - }, - { - "table_name": "filtering.fwd_classifier", - "match_fields": { - "standard_metadata.ingress_port": 1, - "hdr.ethernet.dst_addr": "c2:42:59:2d:3a:84", - "fabric_metadata.original_ether_type": 2048 - }, - "action_name": "filtering.set_forwarding_type", - "action_params": { - "fwd_type": 2 - } - }, - { - "table_name": "forwarding.unicast_v4", - "match_fields": { - "hdr.ipv4.dst_addr": ["192.168.103.11", 32] - }, - "action_name": "forwarding.set_next_id", - "action_params": { - "next_id": 1 - } - }, - { - "table_name": "next.simple", - "match_fields": { - "fabric_metadata.next_id": 1 - }, - "action_name": "next.l3_routing", - "action_params": { - "port_num": 2, - "smac": "3a:c1:e2:53:e1:50", - "dmac": "52:54:00:29:c9:b7" - } - }, - { - "table_name": "filtering.ingress_port_vlan", - "match_fields": { - "standard_metadata.ingress_port": 2, - "hdr.vlan_tag.is_valid": 0, - "hdr.vlan_tag.vlan_id": [0, 0] - }, - "action_name": "filtering.push_internal_vlan", - "action_params": { - "new_vlan_id": 20 - } - }, - { - "table_name": "filtering.fwd_classifier", - "match_fields": { - "standard_metadata.ingress_port": 2, - "hdr.ethernet.dst_addr": "3a:c1:e2:53:e1:50", - "fabric_metadata.original_ether_type": 2048 - }, - "action_name": "filtering.set_forwarding_type", - "action_params": { - "fwd_type": 2 - } - }, - { - "table_name": "forwarding.unicast_v4", - "match_fields": { - "hdr.ipv4.dst_addr": ["16.255.255.252", 32] - }, - "action_name": "forwarding.set_next_id", - "action_params": { - "next_id": 2 - } - }, - { - "table_name": "next.simple", - "match_fields": { - "fabric_metadata.next_id": 2 - }, - "action_name": "next.mpls_routing_v4", - "action_params": { - "port_num": 1, - "smac": "c2:42:59:2d:3a:84", - "dmac": "52:54:00:05:7b:59", - "label": 204 - } - }, - { - "table_name": "spgw_ingress.ue_filter_table", - "match_fields": { - "ipv4.dst_addr": ["16.255.255.252", 32] - }, - "action_name": "NoAction", - "action_params": { - } - }, - { - "table_name": "spgw_ingress.s1u_filter_table", - "match_fields": { - "spgw_meta.s1u_sgw_addr": "192.168.102.13" - }, - "action_name": "NoAction", - "action_params": { - } - }, - { - "table_name": "spgw_ingress.dl_sess_lookup", - "match_fields": { - "ipv4.dst_addr": "16.255.255.252" - }, - "action_name": "spgw_ingress.set_dl_sess_info", - "action_params": { - "teid": 1, - "s1u_enb_addr": "192.168.102.11", - "s1u_sgw_addr": "192.168.102.13" - } - } - ] - } -} diff --git a/pipelines/fabric/src/test/p4/fabric-spgw/entries.json b/pipelines/fabric/src/test/p4/fabric-spgw/entries.json deleted file mode 100644 index 77baf91441..0000000000 --- a/pipelines/fabric/src/test/p4/fabric-spgw/entries.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "fabric-spgw": { - "addr": "localhost:5051", - "flows": [ - { - "table_name": "filtering.fwd_classifier", - "match_fields": { - "standard_metadata.ingress_port": 1, - "hdr.ethernet.dst_addr": "c2:42:59:2d:3a:84", - "fabric_metadata.original_ether_type": 2048 - }, - "action_name": "filtering.set_forwarding_type", - "action_params": { - "fwd_type": 2 - } - }, - { - "table_name": "forwarding.unicast_v4", - "match_fields": { - "hdr.ipv4.dst_addr": ["192.168.103.11", 32] - }, - "action_name": "forwarding.set_next_id", - "action_params": { - "next_id": 1 - } - }, - { - "table_name": "next.simple", - "match_fields": { - "fabric_metadata.next_id": 1 - }, - "action_name": "next.l3_routing", - "action_params": { - "port_num": 2, - "smac": "3a:c1:e2:53:e1:50", - "dmac": "52:54:00:29:c9:b7" - } - }, - { - "table_name": "filtering.fwd_classifier", - "match_fields": { - "standard_metadata.ingress_port": 2, - "hdr.ethernet.dst_addr": "3a:c1:e2:53:e1:50", - "fabric_metadata.original_ether_type": 2048 - }, - "action_name": "filtering.set_forwarding_type", - "action_params": { - "fwd_type": 2 - } - }, - { - "table_name": "forwarding.unicast_v4", - "match_fields": { - "hdr.ipv4.dst_addr": ["16.255.255.252", 32] - }, - "action_name": "forwarding.set_next_id", - "action_params": { - "next_id": 2 - } - }, - { - "table_name": "next.simple", - "match_fields": { - "fabric_metadata.next_id": 2 - }, - "action_name": "next.l3_routing", - "action_params": { - "port_num": 1, - "smac": "c2:42:59:2d:3a:84", - "dmac": "52:54:00:05:7b:59" - } - }, - { - "table_name": "spgw_ingress.ue_filter_table", - "match_fields": { - "ipv4.dst_addr": ["16.255.255.252", 32] - }, - "action_name": "NoAction", - "action_params": { - } - }, - { - "table_name": "spgw_ingress.s1u_filter_table", - "match_fields": { - "spgw_meta.s1u_sgw_addr": "192.168.102.13" - }, - "action_name": "NoAction", - "action_params": { - } - }, - { - "table_name": "spgw_ingress.dl_sess_lookup", - "match_fields": { - "ipv4.dst_addr": "16.255.255.252" - }, - "action_name": "spgw_ingress.set_dl_sess_info", - "action_params": { - "teid": 1, - "s1u_enb_addr": "192.168.102.11", - "s1u_sgw_addr": "192.168.102.13" - } - } - ] - } -} diff --git a/pipelines/fabric/src/test/p4/fabric-spgw/uplink-post.pcap b/pipelines/fabric/src/test/p4/fabric-spgw/uplink-post.pcap deleted file mode 100644 index c02e7c6870..0000000000 Binary files a/pipelines/fabric/src/test/p4/fabric-spgw/uplink-post.pcap and /dev/null differ diff --git a/pipelines/fabric/src/test/p4/fabric-spgw/uplink-pre.pcap b/pipelines/fabric/src/test/p4/fabric-spgw/uplink-pre.pcap deleted file mode 100644 index 78064fa961..0000000000 Binary files a/pipelines/fabric/src/test/p4/fabric-spgw/uplink-pre.pcap and /dev/null differ diff --git a/pipelines/fabric/src/test/p4/spgw/.gitignore b/pipelines/fabric/src/test/p4/spgw/.gitignore deleted file mode 100644 index 43474cc406..0000000000 --- a/pipelines/fabric/src/test/p4/spgw/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -main.json -main.p4info diff --git a/pipelines/fabric/src/test/p4/spgw/Makefile b/pipelines/fabric/src/test/p4/spgw/Makefile deleted file mode 100644 index 6b1e705276..0000000000 --- a/pipelines/fabric/src/test/p4/spgw/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: - p4c-bm2-ss -o main.json \ - -DWITH_SPGW -I ../../../main/resources/ \ - --p4runtime-file main.p4info \ - --p4runtime-format text main.p4 diff --git a/pipelines/fabric/src/test/p4/spgw/downlink-post.pcap b/pipelines/fabric/src/test/p4/spgw/downlink-post.pcap deleted file mode 100644 index a3b76a7db7..0000000000 Binary files a/pipelines/fabric/src/test/p4/spgw/downlink-post.pcap and /dev/null differ diff --git a/pipelines/fabric/src/test/p4/spgw/downlink-pre.pcap b/pipelines/fabric/src/test/p4/spgw/downlink-pre.pcap deleted file mode 100644 index 465ab03fb2..0000000000 Binary files a/pipelines/fabric/src/test/p4/spgw/downlink-pre.pcap and /dev/null differ diff --git a/pipelines/fabric/src/test/p4/spgw/entries.json b/pipelines/fabric/src/test/p4/spgw/entries.json deleted file mode 100644 index ea3d2014b0..0000000000 --- a/pipelines/fabric/src/test/p4/spgw/entries.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "spgw": { - "addr": "localhost:5051", - "flows": [ - { - "table_name": "spgw_ingress.ue_filter_table", - "match_fields": { - "ipv4.dst_addr": ["16.255.255.252", 32] - }, - "action_name": "NoAction", - "action_params": { - } - }, - { - "table_name": "spgw_ingress.s1u_filter_table", - "match_fields": { - "spgw_meta.s1u_sgw_addr": "192.168.102.13" - }, - "action_name": "NoAction", - "action_params": { - } - }, - { - "table_name": "spgw_ingress.dl_sess_lookup", - "match_fields": { - "ipv4.dst_addr": "16.255.255.252" - }, - "action_name": "spgw_ingress.set_dl_sess_info", - "action_params": { - "teid": 1, - "s1u_enb_addr": "192.168.102.11", - "s1u_sgw_addr": "192.168.102.13" - } - } - ] - } -} diff --git a/pipelines/fabric/src/test/p4/spgw/main.p4 b/pipelines/fabric/src/test/p4/spgw/main.p4 deleted file mode 100644 index 916412c848..0000000000 --- a/pipelines/fabric/src/test/p4/spgw/main.p4 +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright 2017-present Open Networking Foundation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * 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 License for the specific language governing permissions and - * limitations under the License. - * - */ - -#define S1U_PORT 1 -#define SGI_PORT 2 -#define AS_MAC_ADDR 0x52540029c9b7 -#define S1U_MAC_ADDR 0xc242592d3a84 -#define SGI_MAC_ADDR 0x3ac1e253e150 -#define ENB_MAC_ADDR 0x525400057b59 - -#include -#include - -#include "include/define.p4" -#include "include/header.p4" -#include "include/checksum.p4" -#include "include/parser.p4" -#include "include/control/packetio.p4" - -#include "include/spgw.p4" - -control table0_control(inout parsed_headers_t hdr, - inout fabric_metadata_t fabric_metadata, - inout standard_metadata_t standard_metadata) { - - action send_to_cpu() { - standard_metadata.egress_spec = CPU_PORT; - exit; - } - - table table0 { - key = { - standard_metadata.ingress_port : ternary; - hdr.ethernet.src_addr : ternary; - hdr.ethernet.dst_addr : ternary; - hdr.ethernet.ether_type : ternary; - hdr.ipv4.src_addr : ternary; - hdr.ipv4.dst_addr : ternary; - hdr.ipv4.protocol : ternary; - fabric_metadata.l4_src_port : ternary; - fabric_metadata.l4_dst_port : ternary; - } - actions = { - send_to_cpu(); - NoAction(); - } - const default_action = NoAction(); - } - - apply { - table0.apply(); - } -} - -//------------------------------------------------------------------------------ -// INGRESS PIPELINE -//------------------------------------------------------------------------------ - -control ingress_impl(inout parsed_headers_t hdr, - inout fabric_metadata_t fabric_metadata, - inout standard_metadata_t standard_metadata) { - - apply { - - PacketIoIngress.apply(hdr, fabric_metadata, standard_metadata); - - // Drop garbage, so we get a clean pcap. - if (standard_metadata.ingress_port == S1U_PORT - && hdr.ethernet.src_addr != ENB_MAC_ADDR) { - mark_to_drop(); - exit; - } else if (standard_metadata.ingress_port == SGI_PORT - && hdr.ethernet.src_addr != AS_MAC_ADDR) { - mark_to_drop(); - exit; - } - - table0_control.apply(hdr, fabric_metadata, standard_metadata); - - if (standard_metadata.egress_spec == CPU_PORT) { - return; - } - - if (standard_metadata.ingress_port == S1U_PORT) { - if (hdr.ethernet.dst_addr != S1U_MAC_ADDR) { - mark_to_drop(); - exit; - } - standard_metadata.egress_spec = SGI_PORT; - hdr.ethernet.src_addr = SGI_MAC_ADDR; - hdr.ethernet.dst_addr = AS_MAC_ADDR; - } else if (standard_metadata.ingress_port == SGI_PORT) { - if (hdr.ethernet.dst_addr != SGI_MAC_ADDR) { - mark_to_drop(); - exit; - } - standard_metadata.egress_spec = S1U_PORT; - hdr.ethernet.src_addr = S1U_MAC_ADDR; - hdr.ethernet.dst_addr = ENB_MAC_ADDR; - } - -#ifdef WITH_SPGW_PCC_GATING - fabric_metadata.spgw.l4_src_port = fabric_metadata.l4_src_port; - fabric_metadata.spgw.l4_dst_port = fabric_metadata.l4_dst_port; -#endif // WITH_SPGW_PCC_GATING - spgw_ingress.apply(hdr.gtpu_ipv4, hdr.gtpu_udp, hdr.gtpu, - hdr.ipv4, hdr.udp, fabric_metadata.spgw); - } -} - -//------------------------------------------------------------------------------ -// EGRESS PIPELINE -//------------------------------------------------------------------------------ - -control egress_impl(inout parsed_headers_t hdr, - inout fabric_metadata_t fabric_metadata, - inout standard_metadata_t standard_metadata) { - apply { - PacketIoEgress.apply(hdr, fabric_metadata, standard_metadata); - spgw_egress.apply(hdr.gtpu_ipv4, hdr.gtpu_udp, hdr.gtpu, - fabric_metadata.spgw, standard_metadata); - } -} - -//------------------------------------------------------------------------------ -// SWITCH INSTANTIATION -//------------------------------------------------------------------------------ - -V1Switch(FabricParser(), - FabricVerifyChecksum(), - ingress_impl(), - egress_impl(), - FabricComputeChecksum(), - FabricDeparser()) main; diff --git a/pipelines/fabric/src/test/p4/spgw/uplink-post.pcap b/pipelines/fabric/src/test/p4/spgw/uplink-post.pcap deleted file mode 100644 index c02e7c6870..0000000000 Binary files a/pipelines/fabric/src/test/p4/spgw/uplink-post.pcap and /dev/null differ diff --git a/pipelines/fabric/src/test/p4/spgw/uplink-pre.pcap b/pipelines/fabric/src/test/p4/spgw/uplink-pre.pcap deleted file mode 100644 index 78064fa961..0000000000 Binary files a/pipelines/fabric/src/test/p4/spgw/uplink-pre.pcap and /dev/null differ