aboutsummaryrefslogtreecommitdiffstats
path: root/samples/vnf_samples/nsut/vpe
diff options
context:
space:
mode:
authorDeepak S <deepak.s@linux.intel.com>2017-06-20 14:31:19 -0700
committerRoss Brattain <ross.b.brattain@intel.com>2017-08-08 08:54:23 -0700
commit5ce3b6f8c8b3217091e51a6041455738603d90b8 (patch)
treeca34e15a85d69e2b23ce498fead47761624ae42c /samples/vnf_samples/nsut/vpe
parent72778951d6b8968f562fb8fefa02a57159ea1b83 (diff)
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 <deepak.s@linux.intel.com> Signed-off-by: Edward MacGillivray <edward.s.macgillivray@intel.com> Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
Diffstat (limited to 'samples/vnf_samples/nsut/vpe')
-rw-r--r--samples/vnf_samples/nsut/vpe/ixia_traffic.cfg64
-rw-r--r--samples/vnf_samples/nsut/vpe/tc_baremetal_http_ipv4_ixload.yaml40
-rw-r--r--samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_1518B.yaml13
-rw-r--r--samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_64B.yaml13
-rw-r--r--samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_64B_ixia.yaml43
-rw-r--r--samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_64B_trex_corelated_traffic.yaml43
-rw-r--r--samples/vnf_samples/nsut/vpe/tc_baremetal_rfc2544_ipv4_1flow_IMIX.yaml13
-rw-r--r--samples/vnf_samples/nsut/vpe/vpe_config/vpe_config101
-rw-r--r--samples/vnf_samples/nsut/vpe/vpe_config/vpe_downstream41
-rw-r--r--samples/vnf_samples/nsut/vpe/vpe_config/vpe_script384
-rw-r--r--samples/vnf_samples/nsut/vpe/vpe_config/vpe_upstream64
-rw-r--r--samples/vnf_samples/nsut/vpe/vpe_vnf_topology-3node.yaml53
-rw-r--r--samples/vnf_samples/nsut/vpe/vpe_vnf_topology_ixia.yaml50
-rw-r--r--samples/vnf_samples/nsut/vpe/vpe_vnf_topology_ixload.yaml50
14 files changed, 469 insertions, 503 deletions
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