mirror of
https://github.com/opennetworkinglab/onos.git
synced 2026-05-06 04:36:17 +02:00
Removed fabric.p4 data plane test files
Now living in separate fabric-p4testrepo: https://github.com/opennetworkinglab/fabric-p4test Change-Id: I333906fe36b02a6ea5efed86b6dcd59405bffb17
This commit is contained in:
parent
df32beae1e
commit
8a51743927
@ -1,3 +0,0 @@
|
||||
main.json
|
||||
main.p4info
|
||||
entries.txt
|
||||
@ -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
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -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"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -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"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
2
pipelines/fabric/src/test/p4/spgw/.gitignore
vendored
2
pipelines/fabric/src/test/p4/spgw/.gitignore
vendored
@ -1,2 +0,0 @@
|
||||
main.json
|
||||
main.p4info
|
||||
@ -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
|
||||
Binary file not shown.
Binary file not shown.
@ -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"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user