From 5ce3b6f8c8b3217091e51a6041455738603d90b8 Mon Sep 17 00:00:00 2001 From: Deepak S Date: Tue, 20 Jun 2017 14:31:19 -0700 Subject: NSB update Refactored main NSB VNF classes accroding to class diagram https://wiki.opnfv.org/display/yardstick/NSB+class+diagram All the SampleVNFs have been separated and placed under the SampleVNF class. Added AutoConnectSSH to automatically create SSH conneciton on demand. Added VnfdHelper class to wrap the VNFD dictionary in prepartion for class-based modeling. Extracted DpdkVnfSetupEnvHelper for DPDK based VNF setup. Extracted Stats and other client config to ResourceHelper Had to replace dict_key_flatten with deepgetitem due to Python 2.7 Jinja2 infinite recursion. Change-Id: Ia8840e9c44cdbdf39aab6b02e6d2176b31937dc9 Signed-off-by: Deepak S Signed-off-by: Edward MacGillivray Signed-off-by: Ross Brattain --- samples/vnf_samples/nsut/vpe/ixia_traffic.cfg | 64 ++++ .../nsut/vpe/tc_baremetal_http_ipv4_ixload.yaml | 40 +++ .../vpe/tc_baremetal_rfc2544_ipv4_1flow_1518B.yaml | 13 +- .../vpe/tc_baremetal_rfc2544_ipv4_1flow_64B.yaml | 13 +- .../tc_baremetal_rfc2544_ipv4_1flow_64B_ixia.yaml | 43 +++ ...2544_ipv4_1flow_64B_trex_corelated_traffic.yaml | 43 +++ .../vpe/tc_baremetal_rfc2544_ipv4_1flow_IMIX.yaml | 13 +- samples/vnf_samples/nsut/vpe/vpe_config/vpe_config | 101 ------ .../vnf_samples/nsut/vpe/vpe_config/vpe_downstream | 41 +++ samples/vnf_samples/nsut/vpe/vpe_config/vpe_script | 384 --------------------- .../vnf_samples/nsut/vpe/vpe_config/vpe_upstream | 64 ++++ .../nsut/vpe/vpe_vnf_topology-3node.yaml | 53 +++ .../nsut/vpe/vpe_vnf_topology_ixia.yaml | 50 +++ .../nsut/vpe/vpe_vnf_topology_ixload.yaml | 50 +++ 14 files changed, 469 insertions(+), 503 deletions(-) create mode 100644 samples/vnf_samples/nsut/vpe/ixia_traffic.cfg create mode 100644 samples/vnf_samples/nsut/vpe/tc_baremetal_http_ipv4_ixload.yaml create mode 100644 samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_64B_ixia.yaml create mode 100644 samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_64B_trex_corelated_traffic.yaml delete mode 100644 samples/vnf_samples/nsut/vpe/vpe_config/vpe_config create mode 100644 samples/vnf_samples/nsut/vpe/vpe_config/vpe_downstream delete mode 100644 samples/vnf_samples/nsut/vpe/vpe_config/vpe_script create mode 100644 samples/vnf_samples/nsut/vpe/vpe_config/vpe_upstream create mode 100644 samples/vnf_samples/nsut/vpe/vpe_vnf_topology-3node.yaml create mode 100644 samples/vnf_samples/nsut/vpe/vpe_vnf_topology_ixia.yaml create mode 100644 samples/vnf_samples/nsut/vpe/vpe_vnf_topology_ixload.yaml (limited to 'samples/vnf_samples/nsut/vpe') diff --git a/samples/vnf_samples/nsut/vpe/ixia_traffic.cfg b/samples/vnf_samples/nsut/vpe/ixia_traffic.cfg new file mode 100644 index 000000000..cdeee6e35 --- /dev/null +++ b/samples/vnf_samples/nsut/vpe/ixia_traffic.cfg @@ -0,0 +1,64 @@ +# Copyright (c) 2016-2017 Intel Corporation +# +# 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. +{ + "private_1": { + "id": 1, + "bidir": "False", + "duration": 60, + "iload": "100", + "outer_l2": { + "dstmac": "00:00:00:00:00:03", + "framesPerSecond": true, + "framesize": 64, + "srcmac": "00:00:00:00:00:01" + }, + "outer_l3": { + "dscp": 0, + "dstip4": "152.16.40.20", + "proto": "udp", + "srcip4": "152.16.100.20", + "ttl": 32 + }, + "outer_l4": { + "dstport": "2001", + "srcport": "1234" + }, + "traffic_type": "continuous" + }, + "public_1": { + "id": 2, + "bidir": "False", + "duration": 60, + "iload": "100", + "outer_l2": { + "dstmac": "00:00:00:00:00:04", + "framesPerSecond": true, + "framesize": 64, + "srcmac": "00:00:00:00:00:01" + }, + "outer_l3": { + "count": 1024, + "dscp": 0, + "dstip4": "152.16.100.20", + "proto": "udp", + "srcip4": "152.16.40.20", + "ttl": 32 + }, + "outer_l4": { + "dstport": "1234", + "srcport": "2001" + }, + "traffic_type": "continuous" + } +} diff --git a/samples/vnf_samples/nsut/vpe/tc_baremetal_http_ipv4_ixload.yaml b/samples/vnf_samples/nsut/vpe/tc_baremetal_http_ipv4_ixload.yaml new file mode 100644 index 000000000..7b251395b --- /dev/null +++ b/samples/vnf_samples/nsut/vpe/tc_baremetal_http_ipv4_ixload.yaml @@ -0,0 +1,40 @@ +# Copyright (c) 2016-2017 Intel Corporation +# +# 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. + +--- +schema: yardstick:task:0.1 +scenarios: +- type: NSPerf + traffic_profile: "../../traffic_profiles/ipv4_throughput_vpe.yaml" + topology: vpe_vnf_topology_ixload.yaml + nodes: + tg__1: trafficgen_1.yardstick + vnf__1: vnf.yardstick + options: + packetsize: 64 + traffic_type: 4 + vnf__1: + cfg: vpe_config + runner: + type: Duration + duration: 4 + traffic_options: + flow: "../../traffic_profiles/ipv4_1flow_Packets_vpe.yaml" + imix: "../../traffic_profiles/imix_voice.yaml" + ixia_profile: ../../traffic_profiles/vpe/HTTP-vPE_IPv4_2Ports.rxf # Need vlan update +context: + type: Node + name: yardstick + nfvi_type: baremetal + file: /etc/yardstick/nodes/pod.yaml diff --git a/samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_1518B.yaml b/samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_1518B.yaml index 37687613c..4652a62d5 100644 --- a/samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_1518B.yaml +++ b/samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_1518B.yaml @@ -21,15 +21,16 @@ scenarios: nodes: tg__1: trafficgen_1.yardstick vnf__1: vnf.yardstick - tc_options: + options: + packetsize: 64 + traffic_type: 4 rfc2544: - allowed_drop_rate: 0.8 - 1 - vnf_options: - vpe: + allowed_drop_rate: 0.0001 - 0.0001 + vnf__1: cfg: vpe_config runner: - type: Duration - duration: 400 + type: Iteration + iterations: 10 interval: 35 traffic_options: flow: "../../traffic_profiles/ipv4_1flow_Packets_vpe.yaml" diff --git a/samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_64B.yaml b/samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_64B.yaml index fb1be35c1..bd64a45f3 100644 --- a/samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_64B.yaml +++ b/samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_64B.yaml @@ -21,15 +21,16 @@ scenarios: nodes: tg__1: trafficgen_1.yardstick vnf__1: vnf.yardstick - tc_options: + options: + packetsize: 64 + traffic_type: 4 rfc2544: - allowed_drop_rate: 0.8 - 1 - vnf_options: - vpe: + allowed_drop_rate: 0.0001 - 0.0001 + vnf__1: cfg: vpe_config runner: - type: Duration - duration: 400 + type: Iteration + iterations: 10 interval: 35 traffic_options: flow: "../../traffic_profiles/ipv4_1flow_Packets_vpe.yaml" diff --git a/samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_64B_ixia.yaml b/samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_64B_ixia.yaml new file mode 100644 index 000000000..0257886fb --- /dev/null +++ b/samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_64B_ixia.yaml @@ -0,0 +1,43 @@ +# Copyright (c) 2016-2017 Intel Corporation +# +# 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. + +--- +schema: yardstick:task:0.1 +scenarios: +- type: NSPerf + traffic_profile: "../../traffic_profiles/ixia_ipv4_latency_vpe.yaml" + topology: vpe_vnf_topology_ixia.yaml + nodes: + tg__1: trafficgen_1.yardstick + vnf__1: vnf.yardstick + options: + packetsize: 64 + traffic_type: 4 + rfc2544: + allowed_drop_rate: 0.0001 - 0.0001 + vnf__1: + cfg: vpe_config + runner: + type: Iteration + iterations: 10 + interval: 35 + traffic_options: + flow: "../../traffic_profiles/ipv4_1flow_Packets_vpe.yaml" + imix: "../../traffic_profiles/imix_voice.yaml" + ixia_profile: ../../traffic_profiles/vpe/vpe_ipv4_profile_1flows.ixncfg +context: + type: Node + name: yardstick + nfvi_type: baremetal + file: /etc/yardstick/nodes/pod.yaml diff --git a/samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_64B_trex_corelated_traffic.yaml b/samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_64B_trex_corelated_traffic.yaml new file mode 100644 index 000000000..2c48d0ef9 --- /dev/null +++ b/samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_64B_trex_corelated_traffic.yaml @@ -0,0 +1,43 @@ +# Copyright (c) 2016-2017 Intel Corporation +# +# 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. + +--- +schema: yardstick:task:0.1 +scenarios: +- type: NSPerf + traffic_profile: "../../traffic_profiles/ipv4_throughput_vpe.yaml" + topology: vpe_vnf_topology-3node.yaml + nodes: + tg__1: trafficgen_1.yardstick + vnf__1: vnf.yardstick + options: + packetsize: 64 + traffic_type: 4 + rfc2544: + allowed_drop_rate: 0.0001 - 0.0001 + corelated_traffic: true + vnf__1: + cfg: vpe_config + runner: + type: Iteration + iterations: 10 + interval: 35 + traffic_options: + flow: "../../traffic_profiles/ipv4_1flow_Packets_vpe.yaml" + imix: "../../traffic_profiles/imix_voice.yaml" +context: + type: Node + name: yardstick + nfvi_type: baremetal + file: /etc/yardstick/nodes/pod.yaml diff --git a/samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_IMIX.yaml b/samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_IMIX.yaml index c481f812b..674fa95f4 100644 --- a/samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_IMIX.yaml +++ b/samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_IMIX.yaml @@ -21,15 +21,16 @@ scenarios: nodes: tg__1: trafficgen_1.yardstick vnf__1: vnf.yardstick - tc_options: + options: + packetsize: 64 + traffic_type: 4 rfc2544: - allowed_drop_rate: 0.8 - 1 - vnf_options: - vpe: + allowed_drop_rate: 0.0001 - 0.0001 + vnf__1: cfg: vpe_config runner: - type: Duration - duration: 400 + type: Iteration + iterations: 10 interval: 35 traffic_options: flow: "../../traffic_profiles/ipv4_1flow_Packets_vpe.yaml" diff --git a/samples/vnf_samples/nsut/vpe/vpe_config/vpe_config b/samples/vnf_samples/nsut/vpe/vpe_config/vpe_config deleted file mode 100644 index 17ebc6a76..000000000 --- a/samples/vnf_samples/nsut/vpe/vpe_config/vpe_config +++ /dev/null @@ -1,101 +0,0 @@ -[EAL] -log_level = 0 - -[PIPELINE0] -type = MASTER -core = s{socket}c0 - -[MEMPOOL0] -pool_size = 256K - -[MEMPOOL1] -pool_size = 2M - -[RXQ1.0] -mempool = MEMPOOL1 - -;;;;;;;;;;Begin of upstream 0;;;;;;;;;;;;;;;;;; -[PIPELINE1] -type = FIREWALL -core = s{socket}c1 -pktq_in = RXQ0.0 -pktq_out = SWQ0 SINK0 -n_rules = 4096 -pkt_type = qinq_ipv4 - -[PIPELINE2] -type = FLOW_CLASSIFICATION -core = s{socket}c1 -pktq_in = SWQ0 -pktq_out = SWQ1 SINK1 -n_flows = 65536 -key_size = 8; dma_size -key_offset = 268; dma_dst_offset -key_mask = 00000FFF00000FFF; qinq -flowid_offset = 172; mbuf (128) + 64 - -[PIPELINE3] -type = FLOW_ACTIONS -core = s{socket}c1h -pktq_in = SWQ1 -pktq_out = SWQ2 -n_flows = 65536 -n_meters_per_flow = 1;dscp is not considered for per user metering -flow_id_offset = 172; mbuf (128) + 64 -ip_hdr_offset = 278 ; should not needed, but who knows? -color_offset = 176 - -[PIPELINE4] -type = FLOW_ACTIONS -core = s{socket}c1h -pktq_in = SWQ2 -pktq_out = SWQ3 -n_flows = 65536 -n_meters_per_flow = 4; Use dscp to classify into 1 out of 4 TC -flow_id_offset = 172; mbuf (128) + 64 -ip_hdr_offset = 278 ; should not needed, but who knows? -color_offset = 176 - -[PIPELINE5] -type = ROUTING -core = s{socket}c1 -pktq_in = SWQ3 -pktq_out = TXQ1.0 SINK2 -encap = ethernet_mpls -mpls_color_mark = yes -ip_hdr_offset = 278 ; should not needed, but who knows? -color_offset = 176 - -;;;;;;;;;;Begin of downstream 0;;;;;;;;;;;;;;;;;; -[PIPELINE6] -type = ROUTING -core = s{socket}c2 -pktq_in = RXQ1.0 -pktq_out = SWQ4 SINK3 -encap = ethernet_qinq -qinq_sched = yes -ip_hdr_offset = 270; mbuf (128) + headroom (128) + ethernet header (14) = 270 - - -[PIPELINE7] -type = PASS-THROUGH -core = s{socket}c2h -pktq_in = SWQ4 -pktq_out = SWQ5 - -[PIPELINE8] -type = PASS-THROUGH -core = s{socket}c2h -pktq_in = SWQ5 TM0 -pktq_out = TM0 SWQ6 - -[PIPELINE9] -type = PASS-THROUGH -core = s{socket}c2 -pktq_in = SWQ6 -pktq_out = TXQ0.0 - -[TM0] -burst_read = 24;dequeue should be slightly slower then enqueue to create buffer -burst_write = 32 -cfg = /tmp/full_tm_profile_10G.cfg diff --git a/samples/vnf_samples/nsut/vpe/vpe_config/vpe_downstream b/samples/vnf_samples/nsut/vpe/vpe_config/vpe_downstream new file mode 100644 index 000000000..540518d17 --- /dev/null +++ b/samples/vnf_samples/nsut/vpe/vpe_config/vpe_downstream @@ -0,0 +1,41 @@ +# Copyright (c) 2016-2017 Intel Corporation +# +# 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. + +[PIPELINE6] +type = ROUTING +core = s{socket}c4 +pktq_in = RXQ1.0 +pktq_out = SWQ4 SINK3 +encap = ethernet_qinq +qinq_sched = yes +ip_hdr_offset = 270 + + +[PIPELINE7] +type = PASS-THROUGH +core = s{socket}c5h +pktq_in = SWQ4 +pktq_out = SWQ5 + +[PIPELINE8] +type = PASS-THROUGH +core = s{socket}c5h +pktq_in = SWQ5 TM0 +pktq_out = TM0 SWQ6 + +[PIPELINE9] +type = PASS-THROUGH +core = s{socket}c5h +pktq_in = SWQ6 +pktq_out = TXQ0.0 diff --git a/samples/vnf_samples/nsut/vpe/vpe_config/vpe_script b/samples/vnf_samples/nsut/vpe/vpe_config/vpe_script deleted file mode 100644 index 740eb6586..000000000 --- a/samples/vnf_samples/nsut/vpe/vpe_config/vpe_script +++ /dev/null @@ -1,384 +0,0 @@ -#================================================================= -#Pipeline 1 : 256 Firewall Rules for 1 port with 0.0.X.0/24 for destination IP -#================================================================= -p 1 firewall add bulk /tmp/fw_bulk_inst0_256.txt -p 1 firewall add default 1 - -#================================================================= -#Pipeline 2 : 512 flow classfication Rules for 1 port using QinQ as input. Flow id = SVLAN * 512 + CVLAN -#================================================================= -p 2 flow add qinq 128 512 port 0 id 1 -p 2 flow add default 1 - -#================================================================= -#Pipeline 3 : 512 metering Rules for 1 port -#================================================================= -p 3 action flow bulk /tmp/action_bulk_512.txt -p 3 flows 512 ports 1 - -#================================================================= -#Pipeline 4 : 512 metering Rules and 4 traffic classes for 1 port -#================================================================= -p 4 action flow bulk /tmp/action_bulk_512.txt -p 4 flows 512 ports 1 -p 4 action dscp 0 class 0 color G -p 4 action dscp 1 class 1 color Y -p 4 action dscp 2 class 2 color R -p 4 action dscp 3 class 3 color G -p 4 action dscp 4 class 0 color Y -p 4 action dscp 5 class 1 color R -p 4 action dscp 6 class 2 color G -p 4 action dscp 7 class 3 color Y -p 4 action dscp 8 class 0 color R -p 4 action dscp 9 class 1 color G -p 4 action dscp 10 class 2 color Y -p 4 action dscp 11 class 3 color R -p 4 action dscp 12 class 0 color G -p 4 action dscp 13 class 1 color Y -p 4 action dscp 14 class 2 color R -p 4 action dscp 15 class 3 color G -p 4 action dscp 16 class 0 color Y -p 4 action dscp 17 class 1 color R -p 4 action dscp 18 class 2 color G -p 4 action dscp 19 class 3 color Y -p 4 action dscp 20 class 0 color R -p 4 action dscp 21 class 1 color G -p 4 action dscp 22 class 2 color Y -p 4 action dscp 23 class 3 color R -p 4 action dscp 24 class 0 color G -p 4 action dscp 25 class 1 color Y -p 4 action dscp 26 class 2 color R -p 4 action dscp 27 class 3 color G -p 4 action dscp 28 class 0 color Y -p 4 action dscp 29 class 1 color R -p 4 action dscp 30 class 2 color G -p 4 action dscp 31 class 3 color Y -p 4 action dscp 32 class 0 color R -p 4 action dscp 33 class 1 color G -p 4 action dscp 34 class 2 color Y -p 4 action dscp 35 class 3 color R -p 4 action dscp 36 class 0 color G -p 4 action dscp 37 class 1 color Y -p 4 action dscp 38 class 2 color R -p 4 action dscp 39 class 3 color G -p 4 action dscp 40 class 0 color Y -p 4 action dscp 41 class 1 color R -p 4 action dscp 42 class 2 color G -p 4 action dscp 43 class 3 color Y -p 4 action dscp 44 class 0 color R -p 4 action dscp 45 class 1 color G -p 4 action dscp 46 class 2 color Y -p 4 action dscp 47 class 3 color R -p 4 action dscp 48 class 0 color G -p 4 action dscp 49 class 1 color Y -p 4 action dscp 50 class 2 color R -p 4 action dscp 51 class 3 color G -p 4 action dscp 52 class 0 color Y -p 4 action dscp 53 class 1 color R -p 4 action dscp 54 class 2 color G -p 4 action dscp 55 class 3 color Y -p 4 action dscp 56 class 0 color R -p 4 action dscp 57 class 1 color G -p 4 action dscp 58 class 2 color Y -p 4 action dscp 59 class 3 color R -p 4 action dscp 60 class 0 color G -p 4 action dscp 61 class 1 color Y -p 4 action dscp 62 class 2 color R -p 4 action dscp 63 class 3 color G -#================================================================= -#Pipeline 5 : 32 Upstream Routing Rules for 1 ports with dst_ip : 0.0.0.0 to 0.0.255.255 -#================================================================= -p 5 route add 152.40.0.0 21 port 0 ether {port1_dst_mac} mpls 0:0 -p 5 route add 152.40.8.0 21 port 0 ether {port1_dst_mac} mpls 0:1 -p 5 route add 152.40.16.0 21 port 0 ether {port1_dst_mac} mpls 0:2 -p 5 route add 152.40.24.0 21 port 0 ether {port1_dst_mac} mpls 0:3 -p 5 route add 152.40.32.0 21 port 0 ether {port1_dst_mac} mpls 0:4 -p 5 route add 152.40.40.0 21 port 0 ether {port1_dst_mac} mpls 0:5 -p 5 route add 152.40.48.0 21 port 0 ether {port1_dst_mac} mpls 0:6 -p 5 route add 152.40.56.0 21 port 0 ether {port1_dst_mac} mpls 0:7 -p 5 route add 152.40.64.0 21 port 0 ether {port1_dst_mac} mpls 0:8 -p 5 route add 152.40.72.0 21 port 0 ether {port1_dst_mac} mpls 0:9 -p 5 route add 152.40.80.0 21 port 0 ether {port1_dst_mac} mpls 0:10 -p 5 route add 152.40.88.0 21 port 0 ether {port1_dst_mac} mpls 0:11 -p 5 route add 152.40.96.0 21 port 0 ether {port1_dst_mac} mpls 0:12 -p 5 route add 152.40.104.0 21 port 0 ether {port1_dst_mac} mpls 0:13 -p 5 route add 152.40.112.0 21 port 0 ether {port1_dst_mac} mpls 0:14 -p 5 route add 152.40.120.0 21 port 0 ether {port1_dst_mac} mpls 0:15 -p 5 route add 152.40.128.0 21 port 0 ether {port1_dst_mac} mpls 0:16 -p 5 route add 152.40.136.0 21 port 0 ether {port1_dst_mac} mpls 0:17 -p 5 route add 152.40.144.0 21 port 0 ether {port1_dst_mac} mpls 0:18 -p 5 route add 152.40.152.0 21 port 0 ether {port1_dst_mac} mpls 0:19 -p 5 route add 152.40.160.0 21 port 0 ether {port1_dst_mac} mpls 0:20 -p 5 route add 152.40.168.0 21 port 0 ether {port1_dst_mac} mpls 0:21 -p 5 route add 152.40.176.0 21 port 0 ether {port1_dst_mac} mpls 0:22 -p 5 route add 152.40.184.0 21 port 0 ether {port1_dst_mac} mpls 0:23 -p 5 route add 152.40.192.0 21 port 0 ether {port1_dst_mac} mpls 0:24 -p 5 route add 152.40.200.0 21 port 0 ether {port1_dst_mac} mpls 0:25 -p 5 route add 152.40.208.0 21 port 0 ether {port1_dst_mac} mpls 0:26 -p 5 route add 152.40.216.0 21 port 0 ether {port1_dst_mac} mpls 0:27 -p 5 route add 152.40.224.0 21 port 0 ether {port1_dst_mac} mpls 0:28 -p 5 route add 152.40.232.0 21 port 0 ether {port1_dst_mac} mpls 0:29 -p 5 route add 152.40.240.0 21 port 0 ether {port1_dst_mac} mpls 0:30 -p 5 route add 152.40.248.0 21 port 0 ether {port1_dst_mac} mpls 0:31 -p 5 route add default 1 - -#================================================================= -#Pipeline 6 : 256 Downstream Routing Rules for 1 ports with dst_ip : 0.0.0.0 to 0.0.255.255 -#================================================================= -p 6 route add 152.16.0.0 24 port 0 ether {port0_dst_mac} qinq 0 0 -p 6 route add 152.16.1.0 24 port 0 ether {port0_dst_mac} qinq 0 1 -p 6 route add 152.16.2.0 24 port 0 ether {port0_dst_mac} qinq 0 2 -p 6 route add 152.16.3.0 24 port 0 ether {port0_dst_mac} qinq 0 3 -p 6 route add 152.16.4.0 24 port 0 ether {port0_dst_mac} qinq 0 4 -p 6 route add 152.16.5.0 24 port 0 ether {port0_dst_mac} qinq 0 5 -p 6 route add 152.16.6.0 24 port 0 ether {port0_dst_mac} qinq 0 6 -p 6 route add 152.16.7.0 24 port 0 ether {port0_dst_mac} qinq 0 7 -p 6 route add 152.16.8.0 24 port 0 ether {port0_dst_mac} qinq 0 8 -p 6 route add 152.16.9.0 24 port 0 ether {port0_dst_mac} qinq 0 9 -p 6 route add 152.16.10.0 24 port 0 ether {port0_dst_mac} qinq 0 10 -p 6 route add 152.16.11.0 24 port 0 ether {port0_dst_mac} qinq 0 11 -p 6 route add 152.16.12.0 24 port 0 ether {port0_dst_mac} qinq 0 12 -p 6 route add 152.16.13.0 24 port 0 ether {port0_dst_mac} qinq 0 13 -p 6 route add 152.16.14.0 24 port 0 ether {port0_dst_mac} qinq 0 14 -p 6 route add 152.16.15.0 24 port 0 ether {port0_dst_mac} qinq 0 15 -p 6 route add 152.16.16.0 24 port 0 ether {port0_dst_mac} qinq 0 16 -p 6 route add 152.16.17.0 24 port 0 ether {port0_dst_mac} qinq 0 17 -p 6 route add 152.16.18.0 24 port 0 ether {port0_dst_mac} qinq 0 18 -p 6 route add 152.16.19.0 24 port 0 ether {port0_dst_mac} qinq 0 19 -p 6 route add 152.16.20.0 24 port 0 ether {port0_dst_mac} qinq 0 20 -p 6 route add 152.16.21.0 24 port 0 ether {port0_dst_mac} qinq 0 21 -p 6 route add 152.16.22.0 24 port 0 ether {port0_dst_mac} qinq 0 22 -p 6 route add 152.16.23.0 24 port 0 ether {port0_dst_mac} qinq 0 23 -p 6 route add 152.16.24.0 24 port 0 ether {port0_dst_mac} qinq 0 24 -p 6 route add 152.16.25.0 24 port 0 ether {port0_dst_mac} qinq 0 25 -p 6 route add 152.16.26.0 24 port 0 ether {port0_dst_mac} qinq 0 26 -p 6 route add 152.16.27.0 24 port 0 ether {port0_dst_mac} qinq 0 27 -p 6 route add 152.16.28.0 24 port 0 ether {port0_dst_mac} qinq 0 28 -p 6 route add 152.16.29.0 24 port 0 ether {port0_dst_mac} qinq 0 29 -p 6 route add 152.16.30.0 24 port 0 ether {port0_dst_mac} qinq 0 30 -p 6 route add 152.16.31.0 24 port 0 ether {port0_dst_mac} qinq 0 31 -p 6 route add 152.16.32.0 24 port 0 ether {port0_dst_mac} qinq 0 32 -p 6 route add 152.16.33.0 24 port 0 ether {port0_dst_mac} qinq 0 33 -p 6 route add 152.16.34.0 24 port 0 ether {port0_dst_mac} qinq 0 34 -p 6 route add 152.16.35.0 24 port 0 ether {port0_dst_mac} qinq 0 35 -p 6 route add 152.16.36.0 24 port 0 ether {port0_dst_mac} qinq 0 36 -p 6 route add 152.16.37.0 24 port 0 ether {port0_dst_mac} qinq 0 37 -p 6 route add 152.16.38.0 24 port 0 ether {port0_dst_mac} qinq 0 38 -p 6 route add 152.16.39.0 24 port 0 ether {port0_dst_mac} qinq 0 39 -p 6 route add 152.16.40.0 24 port 0 ether {port0_dst_mac} qinq 0 40 -p 6 route add 152.16.41.0 24 port 0 ether {port0_dst_mac} qinq 0 41 -p 6 route add 152.16.42.0 24 port 0 ether {port0_dst_mac} qinq 0 42 -p 6 route add 152.16.43.0 24 port 0 ether {port0_dst_mac} qinq 0 43 -p 6 route add 152.16.44.0 24 port 0 ether {port0_dst_mac} qinq 0 44 -p 6 route add 152.16.45.0 24 port 0 ether {port0_dst_mac} qinq 0 45 -p 6 route add 152.16.46.0 24 port 0 ether {port0_dst_mac} qinq 0 46 -p 6 route add 152.16.47.0 24 port 0 ether {port0_dst_mac} qinq 0 47 -p 6 route add 152.16.48.0 24 port 0 ether {port0_dst_mac} qinq 0 48 -p 6 route add 152.16.49.0 24 port 0 ether {port0_dst_mac} qinq 0 49 -p 6 route add 152.16.50.0 24 port 0 ether {port0_dst_mac} qinq 0 50 -p 6 route add 152.16.51.0 24 port 0 ether {port0_dst_mac} qinq 0 51 -p 6 route add 152.16.52.0 24 port 0 ether {port0_dst_mac} qinq 0 52 -p 6 route add 152.16.53.0 24 port 0 ether {port0_dst_mac} qinq 0 53 -p 6 route add 152.16.54.0 24 port 0 ether {port0_dst_mac} qinq 0 54 -p 6 route add 152.16.55.0 24 port 0 ether {port0_dst_mac} qinq 0 55 -p 6 route add 152.16.56.0 24 port 0 ether {port0_dst_mac} qinq 0 56 -p 6 route add 152.16.57.0 24 port 0 ether {port0_dst_mac} qinq 0 57 -p 6 route add 152.16.58.0 24 port 0 ether {port0_dst_mac} qinq 0 58 -p 6 route add 152.16.59.0 24 port 0 ether {port0_dst_mac} qinq 0 59 -p 6 route add 152.16.60.0 24 port 0 ether {port0_dst_mac} qinq 0 60 -p 6 route add 152.16.61.0 24 port 0 ether {port0_dst_mac} qinq 0 61 -p 6 route add 152.16.62.0 24 port 0 ether {port0_dst_mac} qinq 0 62 -p 6 route add 152.16.63.0 24 port 0 ether {port0_dst_mac} qinq 0 63 -p 6 route add 152.16.64.0 24 port 0 ether {port0_dst_mac} qinq 0 64 -p 6 route add 152.16.65.0 24 port 0 ether {port0_dst_mac} qinq 0 65 -p 6 route add 152.16.66.0 24 port 0 ether {port0_dst_mac} qinq 0 66 -p 6 route add 152.16.67.0 24 port 0 ether {port0_dst_mac} qinq 0 67 -p 6 route add 152.16.68.0 24 port 0 ether {port0_dst_mac} qinq 0 68 -p 6 route add 152.16.69.0 24 port 0 ether {port0_dst_mac} qinq 0 69 -p 6 route add 152.16.70.0 24 port 0 ether {port0_dst_mac} qinq 0 70 -p 6 route add 152.16.71.0 24 port 0 ether {port0_dst_mac} qinq 0 71 -p 6 route add 152.16.72.0 24 port 0 ether {port0_dst_mac} qinq 0 72 -p 6 route add 152.16.73.0 24 port 0 ether {port0_dst_mac} qinq 0 73 -p 6 route add 152.16.74.0 24 port 0 ether {port0_dst_mac} qinq 0 74 -p 6 route add 152.16.75.0 24 port 0 ether {port0_dst_mac} qinq 0 75 -p 6 route add 152.16.76.0 24 port 0 ether {port0_dst_mac} qinq 0 76 -p 6 route add 152.16.77.0 24 port 0 ether {port0_dst_mac} qinq 0 77 -p 6 route add 152.16.78.0 24 port 0 ether {port0_dst_mac} qinq 0 78 -p 6 route add 152.16.79.0 24 port 0 ether {port0_dst_mac} qinq 0 79 -p 6 route add 152.16.80.0 24 port 0 ether {port0_dst_mac} qinq 0 80 -p 6 route add 152.16.81.0 24 port 0 ether {port0_dst_mac} qinq 0 81 -p 6 route add 152.16.82.0 24 port 0 ether {port0_dst_mac} qinq 0 82 -p 6 route add 152.16.83.0 24 port 0 ether {port0_dst_mac} qinq 0 83 -p 6 route add 152.16.84.0 24 port 0 ether {port0_dst_mac} qinq 0 84 -p 6 route add 152.16.85.0 24 port 0 ether {port0_dst_mac} qinq 0 85 -p 6 route add 152.16.86.0 24 port 0 ether {port0_dst_mac} qinq 0 86 -p 6 route add 152.16.87.0 24 port 0 ether {port0_dst_mac} qinq 0 87 -p 6 route add 152.16.88.0 24 port 0 ether {port0_dst_mac} qinq 0 88 -p 6 route add 152.16.89.0 24 port 0 ether {port0_dst_mac} qinq 0 89 -p 6 route add 152.16.90.0 24 port 0 ether {port0_dst_mac} qinq 0 90 -p 6 route add 152.16.91.0 24 port 0 ether {port0_dst_mac} qinq 0 91 -p 6 route add 152.16.92.0 24 port 0 ether {port0_dst_mac} qinq 0 92 -p 6 route add 152.16.93.0 24 port 0 ether {port0_dst_mac} qinq 0 93 -p 6 route add 152.16.94.0 24 port 0 ether {port0_dst_mac} qinq 0 94 -p 6 route add 152.16.95.0 24 port 0 ether {port0_dst_mac} qinq 0 95 -p 6 route add 152.16.96.0 24 port 0 ether {port0_dst_mac} qinq 0 96 -p 6 route add 152.16.97.0 24 port 0 ether {port0_dst_mac} qinq 0 97 -p 6 route add 152.16.98.0 24 port 0 ether {port0_dst_mac} qinq 0 98 -p 6 route add 152.16.99.0 24 port 0 ether {port0_dst_mac} qinq 0 99 -p 6 route add 152.16.100.0 24 port 0 ether {port0_dst_mac} qinq 0 100 -p 6 route add 152.16.101.0 24 port 0 ether {port0_dst_mac} qinq 0 101 -p 6 route add 152.16.102.0 24 port 0 ether {port0_dst_mac} qinq 0 102 -p 6 route add 152.16.103.0 24 port 0 ether {port0_dst_mac} qinq 0 103 -p 6 route add 152.16.104.0 24 port 0 ether {port0_dst_mac} qinq 0 104 -p 6 route add 152.16.105.0 24 port 0 ether {port0_dst_mac} qinq 0 105 -p 6 route add 152.16.106.0 24 port 0 ether {port0_dst_mac} qinq 0 106 -p 6 route add 152.16.107.0 24 port 0 ether {port0_dst_mac} qinq 0 107 -p 6 route add 152.16.108.0 24 port 0 ether {port0_dst_mac} qinq 0 108 -p 6 route add 152.16.109.0 24 port 0 ether {port0_dst_mac} qinq 0 109 -p 6 route add 152.16.110.0 24 port 0 ether {port0_dst_mac} qinq 0 110 -p 6 route add 152.16.111.0 24 port 0 ether {port0_dst_mac} qinq 0 111 -p 6 route add 152.16.112.0 24 port 0 ether {port0_dst_mac} qinq 0 112 -p 6 route add 152.16.113.0 24 port 0 ether {port0_dst_mac} qinq 0 113 -p 6 route add 152.16.114.0 24 port 0 ether {port0_dst_mac} qinq 0 114 -p 6 route add 152.16.115.0 24 port 0 ether {port0_dst_mac} qinq 0 115 -p 6 route add 152.16.116.0 24 port 0 ether {port0_dst_mac} qinq 0 116 -p 6 route add 152.16.117.0 24 port 0 ether {port0_dst_mac} qinq 0 117 -p 6 route add 152.16.118.0 24 port 0 ether {port0_dst_mac} qinq 0 118 -p 6 route add 152.16.119.0 24 port 0 ether {port0_dst_mac} qinq 0 119 -p 6 route add 152.16.120.0 24 port 0 ether {port0_dst_mac} qinq 0 120 -p 6 route add 152.16.121.0 24 port 0 ether {port0_dst_mac} qinq 0 121 -p 6 route add 152.16.122.0 24 port 0 ether {port0_dst_mac} qinq 0 122 -p 6 route add 152.16.123.0 24 port 0 ether {port0_dst_mac} qinq 0 123 -p 6 route add 152.16.124.0 24 port 0 ether {port0_dst_mac} qinq 0 124 -p 6 route add 152.16.125.0 24 port 0 ether {port0_dst_mac} qinq 0 125 -p 6 route add 152.16.126.0 24 port 0 ether {port0_dst_mac} qinq 0 126 -p 6 route add 152.16.127.0 24 port 0 ether {port0_dst_mac} qinq 0 127 -p 6 route add 152.16.128.0 24 port 0 ether {port0_dst_mac} qinq 0 128 -p 6 route add 152.16.129.0 24 port 0 ether {port0_dst_mac} qinq 0 129 -p 6 route add 152.16.130.0 24 port 0 ether {port0_dst_mac} qinq 0 130 -p 6 route add 152.16.131.0 24 port 0 ether {port0_dst_mac} qinq 0 131 -p 6 route add 152.16.132.0 24 port 0 ether {port0_dst_mac} qinq 0 132 -p 6 route add 152.16.133.0 24 port 0 ether {port0_dst_mac} qinq 0 133 -p 6 route add 152.16.134.0 24 port 0 ether {port0_dst_mac} qinq 0 134 -p 6 route add 152.16.135.0 24 port 0 ether {port0_dst_mac} qinq 0 135 -p 6 route add 152.16.136.0 24 port 0 ether {port0_dst_mac} qinq 0 136 -p 6 route add 152.16.137.0 24 port 0 ether {port0_dst_mac} qinq 0 137 -p 6 route add 152.16.138.0 24 port 0 ether {port0_dst_mac} qinq 0 138 -p 6 route add 152.16.139.0 24 port 0 ether {port0_dst_mac} qinq 0 139 -p 6 route add 152.16.140.0 24 port 0 ether {port0_dst_mac} qinq 0 140 -p 6 route add 152.16.141.0 24 port 0 ether {port0_dst_mac} qinq 0 141 -p 6 route add 152.16.142.0 24 port 0 ether {port0_dst_mac} qinq 0 142 -p 6 route add 152.16.143.0 24 port 0 ether {port0_dst_mac} qinq 0 143 -p 6 route add 152.16.144.0 24 port 0 ether {port0_dst_mac} qinq 0 144 -p 6 route add 152.16.145.0 24 port 0 ether {port0_dst_mac} qinq 0 145 -p 6 route add 152.16.146.0 24 port 0 ether {port0_dst_mac} qinq 0 146 -p 6 route add 152.16.147.0 24 port 0 ether {port0_dst_mac} qinq 0 147 -p 6 route add 152.16.148.0 24 port 0 ether {port0_dst_mac} qinq 0 148 -p 6 route add 152.16.149.0 24 port 0 ether {port0_dst_mac} qinq 0 149 -p 6 route add 152.16.150.0 24 port 0 ether {port0_dst_mac} qinq 0 150 -p 6 route add 152.16.151.0 24 port 0 ether {port0_dst_mac} qinq 0 151 -p 6 route add 152.16.152.0 24 port 0 ether {port0_dst_mac} qinq 0 152 -p 6 route add 152.16.153.0 24 port 0 ether {port0_dst_mac} qinq 0 153 -p 6 route add 152.16.154.0 24 port 0 ether {port0_dst_mac} qinq 0 154 -p 6 route add 152.16.155.0 24 port 0 ether {port0_dst_mac} qinq 0 155 -p 6 route add 152.16.156.0 24 port 0 ether {port0_dst_mac} qinq 0 156 -p 6 route add 152.16.157.0 24 port 0 ether {port0_dst_mac} qinq 0 157 -p 6 route add 152.16.158.0 24 port 0 ether {port0_dst_mac} qinq 0 158 -p 6 route add 152.16.159.0 24 port 0 ether {port0_dst_mac} qinq 0 159 -p 6 route add 152.16.160.0 24 port 0 ether {port0_dst_mac} qinq 0 160 -p 6 route add 152.16.161.0 24 port 0 ether {port0_dst_mac} qinq 0 161 -p 6 route add 152.16.162.0 24 port 0 ether {port0_dst_mac} qinq 0 162 -p 6 route add 152.16.163.0 24 port 0 ether {port0_dst_mac} qinq 0 163 -p 6 route add 152.16.164.0 24 port 0 ether {port0_dst_mac} qinq 0 164 -p 6 route add 152.16.165.0 24 port 0 ether {port0_dst_mac} qinq 0 165 -p 6 route add 152.16.166.0 24 port 0 ether {port0_dst_mac} qinq 0 166 -p 6 route add 152.16.167.0 24 port 0 ether {port0_dst_mac} qinq 0 167 -p 6 route add 152.16.168.0 24 port 0 ether {port0_dst_mac} qinq 0 168 -p 6 route add 152.16.169.0 24 port 0 ether {port0_dst_mac} qinq 0 169 -p 6 route add 152.16.170.0 24 port 0 ether {port0_dst_mac} qinq 0 170 -p 6 route add 152.16.171.0 24 port 0 ether {port0_dst_mac} qinq 0 171 -p 6 route add 152.16.172.0 24 port 0 ether {port0_dst_mac} qinq 0 172 -p 6 route add 152.16.173.0 24 port 0 ether {port0_dst_mac} qinq 0 173 -p 6 route add 152.16.174.0 24 port 0 ether {port0_dst_mac} qinq 0 174 -p 6 route add 152.16.175.0 24 port 0 ether {port0_dst_mac} qinq 0 175 -p 6 route add 152.16.176.0 24 port 0 ether {port0_dst_mac} qinq 0 176 -p 6 route add 152.16.177.0 24 port 0 ether {port0_dst_mac} qinq 0 177 -p 6 route add 152.16.178.0 24 port 0 ether {port0_dst_mac} qinq 0 178 -p 6 route add 152.16.179.0 24 port 0 ether {port0_dst_mac} qinq 0 179 -p 6 route add 152.16.180.0 24 port 0 ether {port0_dst_mac} qinq 0 180 -p 6 route add 152.16.181.0 24 port 0 ether {port0_dst_mac} qinq 0 181 -p 6 route add 152.16.182.0 24 port 0 ether {port0_dst_mac} qinq 0 182 -p 6 route add 152.16.183.0 24 port 0 ether {port0_dst_mac} qinq 0 183 -p 6 route add 152.16.184.0 24 port 0 ether {port0_dst_mac} qinq 0 184 -p 6 route add 152.16.185.0 24 port 0 ether {port0_dst_mac} qinq 0 185 -p 6 route add 152.16.186.0 24 port 0 ether {port0_dst_mac} qinq 0 186 -p 6 route add 152.16.187.0 24 port 0 ether {port0_dst_mac} qinq 0 187 -p 6 route add 152.16.188.0 24 port 0 ether {port0_dst_mac} qinq 0 188 -p 6 route add 152.16.189.0 24 port 0 ether {port0_dst_mac} qinq 0 189 -p 6 route add 152.16.190.0 24 port 0 ether {port0_dst_mac} qinq 0 190 -p 6 route add 152.16.191.0 24 port 0 ether {port0_dst_mac} qinq 0 191 -p 6 route add 152.16.192.0 24 port 0 ether {port0_dst_mac} qinq 0 192 -p 6 route add 152.16.193.0 24 port 0 ether {port0_dst_mac} qinq 0 193 -p 6 route add 152.16.194.0 24 port 0 ether {port0_dst_mac} qinq 0 194 -p 6 route add 152.16.195.0 24 port 0 ether {port0_dst_mac} qinq 0 195 -p 6 route add 152.16.196.0 24 port 0 ether {port0_dst_mac} qinq 0 196 -p 6 route add 152.16.197.0 24 port 0 ether {port0_dst_mac} qinq 0 197 -p 6 route add 152.16.198.0 24 port 0 ether {port0_dst_mac} qinq 0 198 -p 6 route add 152.16.199.0 24 port 0 ether {port0_dst_mac} qinq 0 199 -p 6 route add 152.16.200.0 24 port 0 ether {port0_dst_mac} qinq 0 200 -p 6 route add 152.16.201.0 24 port 0 ether {port0_dst_mac} qinq 0 201 -p 6 route add 152.16.202.0 24 port 0 ether {port0_dst_mac} qinq 0 202 -p 6 route add 152.16.203.0 24 port 0 ether {port0_dst_mac} qinq 0 203 -p 6 route add 152.16.204.0 24 port 0 ether {port0_dst_mac} qinq 0 204 -p 6 route add 152.16.205.0 24 port 0 ether {port0_dst_mac} qinq 0 205 -p 6 route add 152.16.206.0 24 port 0 ether {port0_dst_mac} qinq 0 206 -p 6 route add 152.16.207.0 24 port 0 ether {port0_dst_mac} qinq 0 207 -p 6 route add 152.16.208.0 24 port 0 ether {port0_dst_mac} qinq 0 208 -p 6 route add 152.16.209.0 24 port 0 ether {port0_dst_mac} qinq 0 209 -p 6 route add 152.16.210.0 24 port 0 ether {port0_dst_mac} qinq 0 210 -p 6 route add 152.16.211.0 24 port 0 ether {port0_dst_mac} qinq 0 211 -p 6 route add 152.16.212.0 24 port 0 ether {port0_dst_mac} qinq 0 212 -p 6 route add 152.16.213.0 24 port 0 ether {port0_dst_mac} qinq 0 213 -p 6 route add 152.16.214.0 24 port 0 ether {port0_dst_mac} qinq 0 214 -p 6 route add 152.16.215.0 24 port 0 ether {port0_dst_mac} qinq 0 215 -p 6 route add 152.16.216.0 24 port 0 ether {port0_dst_mac} qinq 0 216 -p 6 route add 152.16.217.0 24 port 0 ether {port0_dst_mac} qinq 0 217 -p 6 route add 152.16.218.0 24 port 0 ether {port0_dst_mac} qinq 0 218 -p 6 route add 152.16.219.0 24 port 0 ether {port0_dst_mac} qinq 0 219 -p 6 route add 152.16.220.0 24 port 0 ether {port0_dst_mac} qinq 0 220 -p 6 route add 152.16.221.0 24 port 0 ether {port0_dst_mac} qinq 0 221 -p 6 route add 152.16.222.0 24 port 0 ether {port0_dst_mac} qinq 0 222 -p 6 route add 152.16.223.0 24 port 0 ether {port0_dst_mac} qinq 0 223 -p 6 route add 152.16.224.0 24 port 0 ether {port0_dst_mac} qinq 0 224 -p 6 route add 152.16.225.0 24 port 0 ether {port0_dst_mac} qinq 0 225 -p 6 route add 152.16.226.0 24 port 0 ether {port0_dst_mac} qinq 0 226 -p 6 route add 152.16.227.0 24 port 0 ether {port0_dst_mac} qinq 0 227 -p 6 route add 152.16.228.0 24 port 0 ether {port0_dst_mac} qinq 0 228 -p 6 route add 152.16.229.0 24 port 0 ether {port0_dst_mac} qinq 0 229 -p 6 route add 152.16.230.0 24 port 0 ether {port0_dst_mac} qinq 0 230 -p 6 route add 152.16.231.0 24 port 0 ether {port0_dst_mac} qinq 0 231 -p 6 route add 152.16.232.0 24 port 0 ether {port0_dst_mac} qinq 0 232 -p 6 route add 152.16.233.0 24 port 0 ether {port0_dst_mac} qinq 0 233 -p 6 route add 152.16.234.0 24 port 0 ether {port0_dst_mac} qinq 0 234 -p 6 route add 152.16.235.0 24 port 0 ether {port0_dst_mac} qinq 0 235 -p 6 route add 152.16.236.0 24 port 0 ether {port0_dst_mac} qinq 0 236 -p 6 route add 152.16.237.0 24 port 0 ether {port0_dst_mac} qinq 0 237 -p 6 route add 152.16.238.0 24 port 0 ether {port0_dst_mac} qinq 0 238 -p 6 route add 152.16.239.0 24 port 0 ether {port0_dst_mac} qinq 0 239 -p 6 route add 152.16.240.0 24 port 0 ether {port0_dst_mac} qinq 0 240 -p 6 route add 152.16.241.0 24 port 0 ether {port0_dst_mac} qinq 0 241 -p 6 route add 152.16.242.0 24 port 0 ether {port0_dst_mac} qinq 0 242 -p 6 route add 152.16.243.0 24 port 0 ether {port0_dst_mac} qinq 0 243 -p 6 route add 152.16.244.0 24 port 0 ether {port0_dst_mac} qinq 0 244 -p 6 route add 152.16.245.0 24 port 0 ether {port0_dst_mac} qinq 0 245 -p 6 route add 152.16.246.0 24 port 0 ether {port0_dst_mac} qinq 0 246 -p 6 route add 152.16.247.0 24 port 0 ether {port0_dst_mac} qinq 0 247 -p 6 route add 152.16.248.0 24 port 0 ether {port0_dst_mac} qinq 0 248 -p 6 route add 152.16.249.0 24 port 0 ether {port0_dst_mac} qinq 0 249 -p 6 route add 152.16.250.0 24 port 0 ether {port0_dst_mac} qinq 0 250 -p 6 route add 152.16.251.0 24 port 0 ether {port0_dst_mac} qinq 0 251 -p 6 route add 152.16.252.0 24 port 0 ether {port0_dst_mac} qinq 0 252 -p 6 route add 152.16.253.0 24 port 0 ether {port0_dst_mac} qinq 0 253 -p 6 route add 152.16.254.0 24 port 0 ether {port0_dst_mac} qinq 0 254 -p 6 route add 152.16.255.0 24 port 0 ether {port0_dst_mac} qinq 0 255 -p 6 route add default 1 diff --git a/samples/vnf_samples/nsut/vpe/vpe_config/vpe_upstream b/samples/vnf_samples/nsut/vpe/vpe_config/vpe_upstream new file mode 100644 index 000000000..a571c514f --- /dev/null +++ b/samples/vnf_samples/nsut/vpe/vpe_config/vpe_upstream @@ -0,0 +1,64 @@ +# Copyright (c) 2016-2017 Intel Corporation +# +# 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. + +[PIPELINE1] +type = FIREWALL +core = s{socket}c1 +pktq_in = RXQ0.0 +pktq_out = SWQ0 SINK0 +n_rules = 4096 +pkt_type = qinq_ipv4 + +[PIPELINE2] +type = FLOW_CLASSIFICATION +core = s{socket}c2 +pktq_in = SWQ0 +pktq_out = SWQ1 SINK1 +n_flows = 65536 +key_size = 8 +key_offset = 268 +key_mask = 00000FFF00000FFF +flowid_offset = 172 + +[PIPELINE3] +type = FLOW_ACTIONS +core = s{socket}c2h +pktq_in = SWQ1 +pktq_out = SWQ2 +n_flows = 65536 +n_meters_per_flow = 1 +flow_id_offset = 172 +ip_hdr_offset = 278 +color_offset = 176 + +[PIPELINE4] +type = FLOW_ACTIONS +core = s{socket}c1h +pktq_in = SWQ2 +pktq_out = SWQ3 +n_flows = 65536 +n_meters_per_flow = 4 +flow_id_offset = 172 +ip_hdr_offset = 278 +color_offset = 176 + +[PIPELINE5] +type = ROUTING +core = s0c3 +pktq_in = SWQ3 +pktq_out = TXQ1.0 SINK2 +encap = ethernet_mpls +mpls_color_mark = yes +ip_hdr_offset = 278 +color_offset = 176 diff --git a/samples/vnf_samples/nsut/vpe/vpe_vnf_topology-3node.yaml b/samples/vnf_samples/nsut/vpe/vpe_vnf_topology-3node.yaml new file mode 100644 index 000000000..c56a7e173 --- /dev/null +++ b/samples/vnf_samples/nsut/vpe/vpe_vnf_topology-3node.yaml @@ -0,0 +1,53 @@ +# Copyright (c) 2016-2017 Intel Corporation +# +# 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. + +nsd:nsd-catalog: + nsd: + - id: VPE + name: VPE + short-name: VPE + description: scenario with VPE,L3fwd and VNF + constituent-vnfd: + - member-vnf-index: '1' + vnfd-id-ref: tg__1 + VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #tg_vpe_upstream.yaml #VPE VNF + - member-vnf-index: '2' + vnfd-id-ref: vnf__1 + VNF model: ../../vnf_descriptors/vpe_vnf.yaml #tg_l3fwd.yaml #tg_trex_tpl.yaml #TREX + - member-vnf-index: '3' + vnfd-id-ref: tg__2 + VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #tg_vpe_upstream.yaml #VPE VNF + + vld: + - id: private + name: tg__1 to vnf__1 link 1 + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: tg__1 #TREX + - member-vnf-index-ref: '2' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__1 #VNF + + - id: public + name: vnf__1 to tg__2 link 2 + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '2' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__1 #L3fwd + - member-vnf-index-ref: '3' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: tg__2 #VPE VNF diff --git a/samples/vnf_samples/nsut/vpe/vpe_vnf_topology_ixia.yaml b/samples/vnf_samples/nsut/vpe/vpe_vnf_topology_ixia.yaml new file mode 100644 index 000000000..610805d3b --- /dev/null +++ b/samples/vnf_samples/nsut/vpe/vpe_vnf_topology_ixia.yaml @@ -0,0 +1,50 @@ +# Copyright (c) 2016-2017 Intel Corporation +# +# 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. + +nsd:nsd-catalog: + nsd: + - id: VPE + name: VPE + short-name: VPE + description: scenario with VPE,L3fwd and VNF + constituent-vnfd: + - member-vnf-index: '1' + vnfd-id-ref: tg__1 + VNF model: ../../vnf_descriptors/ixia_rfc2544_tpl.yaml + - member-vnf-index: '2' + vnfd-id-ref: vnf__1 + VNF model: ../../vnf_descriptors/vpe_vnf.yaml + + vld: + - id: private + name: tg__1 to vnf__1 link 1 + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: tg__1 #TREX + - member-vnf-index-ref: '2' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__1 #VNF + + - id: public + name: vnf__1 to tg__1 link 2 + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '2' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__1 #L3fwd + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: tg__1 #VPE VNF diff --git a/samples/vnf_samples/nsut/vpe/vpe_vnf_topology_ixload.yaml b/samples/vnf_samples/nsut/vpe/vpe_vnf_topology_ixload.yaml new file mode 100644 index 000000000..5505a832b --- /dev/null +++ b/samples/vnf_samples/nsut/vpe/vpe_vnf_topology_ixload.yaml @@ -0,0 +1,50 @@ +# Copyright (c) 2016-2017 Intel Corporation +# +# 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. + +nsd:nsd-catalog: + nsd: + - id: VPE + name: VPE + short-name: VPE + description: scenario with VPE,L3fwd and VNF + constituent-vnfd: + - member-vnf-index: '1' + vnfd-id-ref: tg__1 + VNF model: ../../vnf_descriptors/tg_ixload.yaml + - member-vnf-index: '2' + vnfd-id-ref: vnf__1 + VNF model: ../../vnf_descriptors/vpe_vnf.yaml + + vld: + - id: private + name: tg__1 to vnf__1 link 1 + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: tg__1 #TREX + - member-vnf-index-ref: '2' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__1 #VNF + + - id: public + name: vnf__1 to tg__1 link 2 + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '2' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__1 #L3fwd + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: tg__1 #VPE VNF -- cgit 1.2.3-korg