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 16efdec..0000000
--- 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 71dc23c..0000000
--- 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 0f2d27b..0000000
--- a/pipelines/fabric/src/test/p4/fabric-spgw/downlink-post-mpls.pcap
+++ /dev/null
Binary files 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 a3b76a7d..0000000
--- a/pipelines/fabric/src/test/p4/fabric-spgw/downlink-post.pcap
+++ /dev/null
Binary files 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 465ab03..0000000
--- a/pipelines/fabric/src/test/p4/fabric-spgw/downlink-pre.pcap
+++ /dev/null
Binary files 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 6bc9bce..0000000
--- 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 77baf91..0000000
--- 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 c02e7c6..0000000
--- a/pipelines/fabric/src/test/p4/fabric-spgw/uplink-post.pcap
+++ /dev/null
Binary files 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 78064fa..0000000
--- a/pipelines/fabric/src/test/p4/fabric-spgw/uplink-pre.pcap
+++ /dev/null
Binary files differ
diff --git a/pipelines/fabric/src/test/p4/spgw/.gitignore b/pipelines/fabric/src/test/p4/spgw/.gitignore
deleted file mode 100644
index 43474cc..0000000
--- 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 6b1e705..0000000
--- 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 a3b76a7d..0000000
--- a/pipelines/fabric/src/test/p4/spgw/downlink-post.pcap
+++ /dev/null
Binary files 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 465ab03..0000000
--- a/pipelines/fabric/src/test/p4/spgw/downlink-pre.pcap
+++ /dev/null
Binary files 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 ea3d201..0000000
--- 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 916412c..0000000
--- 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 <core.p4>
-#include <v1model.p4>
-
-#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 c02e7c6..0000000
--- a/pipelines/fabric/src/test/p4/spgw/uplink-post.pcap
+++ /dev/null
Binary files 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 78064fa..0000000
--- a/pipelines/fabric/src/test/p4/spgw/uplink-pre.pcap
+++ /dev/null
Binary files differ
