NSB NFVi PROX BNG and vPE losing many packets 21/60521/1
authorDanielMartinBuckley <daniel.m.buckley@intel.com>
Thu, 2 Aug 2018 13:37:29 +0000 (14:37 +0100)
committerDanielMartinBuckley <daniel.m.buckley@intel.com>
Thu, 2 Aug 2018 13:41:54 +0000 (14:41 +0100)
JIRA: YARDSTICK-1101

The traffic generated by the generator in bng-4 result in
non-symmetrical use of the cores on the SUT, as a whole
range of IP addresses is skipped.

Update cpe0 and cpe1 in gen files.

In addition, for the routing table (ipv4.lua) for the BNG
should be slighly different: while the BNG is a 4 ports
test, only 2 of the ports are used as outgoing routing
ports (the inet ports). Hence, the routing table should
only use the mac of those two ports. The bad configuration
(using 4 ports) result in an issue when BNG SUT and GEN
are connected through a switch, packets are sent by the
BNG SUT through the INET interfaces, but sometimes with
the MAC of the CPE interface...

Hence, packets are received on the wrong interface on the
Gen site (resulting in some interfaces, the CPE ones,
being overloaded)

Created ipv4_bng.lua and remove mac 0 and 2

Change-Id: I97019f0415d2f58d50ec855d04800eb705f41541
Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
samples/vnf_samples/nsut/prox/configs/gen_bng-4.cfg
samples/vnf_samples/nsut/prox/configs/gen_bng_qos-4.cfg
samples/vnf_samples/nsut/prox/configs/handle_bng-4.cfg
samples/vnf_samples/nsut/prox/configs/handle_bng_qos-4.cfg
samples/vnf_samples/nsut/prox/configs/ipv4_bng.lua [new file with mode: 0644]
samples/vnf_samples/nsut/prox/tc_prox_baremetal_bng-4.yaml
samples/vnf_samples/nsut/prox/tc_prox_baremetal_bng_qos-4.yaml
samples/vnf_samples/nsut/prox/tc_prox_heat_context_bng-4.yaml
samples/vnf_samples/nsut/prox/tc_prox_heat_context_bng_qos-4.yaml

index a70ea65..60f21bd 100644 (file)
@@ -94,7 +94,7 @@ rand_offset=14
 random=0000XXXX00XX00XX
 rand_offset=18
 ; dst_ip: [10,11].[odd 1..255].[16,48,80,112,144,176,208,240].[odd 1..255]
-random=0000101XXXXXXXX1XXX10000XXXXXXX1
+random=0000101XXXXXXXX11XXX0000XXXXXXX1
 rand_offset=38
 lat pos=42
 
@@ -113,7 +113,7 @@ rand_offset=14
 random=0000XXXX00XX00XX
 rand_offset=18
 ; dst_ip: [10,11].[odd 1..255].[16,48,80,112,144,176,208,240].[odd 1..255]
-random=0000101XXXXXXXX1XXX10000XXXXXXX1
+random=0000101XXXXXXXX11XXX0000XXXXXXX1
 rand_offset=38
 lat pos=42
 
index a70ea65..60f21bd 100644 (file)
@@ -94,7 +94,7 @@ rand_offset=14
 random=0000XXXX00XX00XX
 rand_offset=18
 ; dst_ip: [10,11].[odd 1..255].[16,48,80,112,144,176,208,240].[odd 1..255]
-random=0000101XXXXXXXX1XXX10000XXXXXXX1
+random=0000101XXXXXXXX11XXX0000XXXXXXX1
 rand_offset=38
 lat pos=42
 
@@ -113,7 +113,7 @@ rand_offset=14
 random=0000XXXX00XX00XX
 rand_offset=18
 ; dst_ip: [10,11].[odd 1..255].[16,48,80,112,144,176,208,240].[odd 1..255]
-random=0000101XXXXXXXX1XXX10000XXXXXXX1
+random=0000101XXXXXXXX11XXX0000XXXXXXX1
 rand_offset=38
 lat pos=42
 
index 7d350bd..c191d29 100644 (file)
@@ -14,7 +14,7 @@
 #
 
 [lua]
-lpm4 = dofile("ipv4.lua")
+lpm4 = dofile("ipv4_bng.lua")
 user_table = dofile("gre_table.lua")
 
 [eal options]
index f65b7cb..b873fb9 100644 (file)
@@ -14,7 +14,7 @@
 #
 
 [lua]
-lpm4 = dofile("ipv4.lua")
+lpm4 = dofile("ipv4_bng.lua")
 user_table = dofile("gre_table.lua")
 dscp_table = dofile("dscp.lua")
 
diff --git a/samples/vnf_samples/nsut/prox/configs/ipv4_bng.lua b/samples/vnf_samples/nsut/prox/configs/ipv4_bng.lua
new file mode 100644 (file)
index 0000000..22697b0
--- /dev/null
@@ -0,0 +1,99 @@
+-- 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.
+--
+
+require("parameters")
+
+local lpm4 = {}
+lpm4.next_hops = {
+   {id = 0,  port_id = 0, ip = ip("1.1.1.1"),  mac = mac(tester_mac1), mpls = 0x112},
+   {id = 1,  port_id = 1, ip = ip("2.1.1.1"),  mac = mac(tester_mac1), mpls = 0x212},
+   {id = 2,  port_id = 0, ip = ip("3.1.1.1"),  mac = mac(tester_mac3), mpls = 0x312},
+   {id = 3,  port_id = 1, ip = ip("4.1.1.1"),  mac = mac(tester_mac3), mpls = 0x412},
+   {id = 4,  port_id = 0, ip = ip("5.1.1.1"),  mac = mac(tester_mac1), mpls = 0x512},
+   {id = 5,  port_id = 1, ip = ip("6.1.1.1"),  mac = mac(tester_mac1), mpls = 0x612},
+   {id = 6,  port_id = 0, ip = ip("7.1.1.1"),  mac = mac(tester_mac3), mpls = 0x712},
+   {id = 7,  port_id = 1, ip = ip("8.1.1.1"),  mac = mac(tester_mac3), mpls = 0x812},
+   {id = 8,  port_id = 0, ip = ip("9.1.1.1"),  mac = mac(tester_mac1), mpls = 0x912},
+   {id = 9,  port_id = 1, ip = ip("10.1.1.1"), mac = mac(tester_mac1), mpls = 0x1012},
+   {id = 10, port_id = 0, ip = ip("11.1.1.1"), mac = mac(tester_mac3), mpls = 0x1112},
+   {id = 11, port_id = 1, ip = ip("12.1.1.1"), mac = mac(tester_mac3), mpls = 0x1212},
+   {id = 12, port_id = 0, ip = ip("13.1.1.1"), mac = mac(tester_mac1), mpls = 0x1312},
+   {id = 13, port_id = 1, ip = ip("14.1.1.1"), mac = mac(tester_mac1), mpls = 0x1412},
+   {id = 14, port_id = 0, ip = ip("15.1.1.1"), mac = mac(tester_mac3), mpls = 0x1512},
+   {id = 15, port_id = 1, ip = ip("16.1.1.1"), mac = mac(tester_mac3), mpls = 0x1612},
+   {id = 16, port_id = 0, ip = ip("17.1.1.1"), mac = mac(tester_mac1), mpls = 0x1712},
+   {id = 17, port_id = 1, ip = ip("18.1.1.1"), mac = mac(tester_mac1), mpls = 0x1812},
+   {id = 18, port_id = 0, ip = ip("19.1.1.1"), mac = mac(tester_mac3), mpls = 0x1912},
+   {id = 19, port_id = 1, ip = ip("20.1.1.1"), mac = mac(tester_mac3), mpls = 0x2012},
+   {id = 20, port_id = 0, ip = ip("21.1.1.1"), mac = mac(tester_mac1), mpls = 0x2112},
+   {id = 21, port_id = 1, ip = ip("22.1.1.1"), mac = mac(tester_mac1), mpls = 0x2212},
+   {id = 22, port_id = 0, ip = ip("23.1.1.1"), mac = mac(tester_mac3), mpls = 0x2312},
+   {id = 23, port_id = 1, ip = ip("24.1.1.1"), mac = mac(tester_mac3), mpls = 0x2412},
+   {id = 24, port_id = 0, ip = ip("25.1.1.1"), mac = mac(tester_mac1), mpls = 0x2512},
+   {id = 25, port_id = 1, ip = ip("26.1.1.1"), mac = mac(tester_mac1), mpls = 0x2612},
+   {id = 26, port_id = 0, ip = ip("27.1.1.1"), mac = mac(tester_mac3), mpls = 0x2712},
+   {id = 27, port_id = 1, ip = ip("28.1.1.1"), mac = mac(tester_mac3), mpls = 0x2812},
+   {id = 28, port_id = 0, ip = ip("29.1.1.1"), mac = mac(tester_mac1), mpls = 0x2912},
+   {id = 29, port_id = 1, ip = ip("30.1.1.1"), mac = mac(tester_mac1), mpls = 0x3012},
+   {id = 30, port_id = 0, ip = ip("31.1.1.1"), mac = mac(tester_mac3), mpls = 0x3112},
+   {id = 31, port_id = 1, ip = ip("32.1.1.1"), mac = mac(tester_mac3), mpls = 0x3212},
+   {id = 32, port_id = 0, ip = ip("33.1.1.1"), mac = mac(tester_mac1), mpls = 0x3312},
+   {id = 33, port_id = 1, ip = ip("34.1.1.1"), mac = mac(tester_mac1), mpls = 0x3412},
+   {id = 34, port_id = 0, ip = ip("35.1.1.1"), mac = mac(tester_mac3), mpls = 0x3512},
+   {id = 35, port_id = 1, ip = ip("36.1.1.1"), mac = mac(tester_mac3), mpls = 0x3612},
+   {id = 36, port_id = 0, ip = ip("37.1.1.1"), mac = mac(tester_mac1), mpls = 0x3712},
+   {id = 37, port_id = 1, ip = ip("38.1.1.1"), mac = mac(tester_mac1), mpls = 0x3812},
+   {id = 38, port_id = 0, ip = ip("39.1.1.1"), mac = mac(tester_mac3), mpls = 0x3912},
+   {id = 39, port_id = 1, ip = ip("40.1.1.1"), mac = mac(tester_mac3), mpls = 0x4012},
+   {id = 40, port_id = 0, ip = ip("41.1.1.1"), mac = mac(tester_mac1), mpls = 0x4112},
+   {id = 41, port_id = 1, ip = ip("42.1.1.1"), mac = mac(tester_mac1), mpls = 0x4212},
+   {id = 42, port_id = 0, ip = ip("43.1.1.1"), mac = mac(tester_mac3), mpls = 0x4312},
+   {id = 43, port_id = 1, ip = ip("44.1.1.1"), mac = mac(tester_mac3), mpls = 0x4412},
+   {id = 44, port_id = 0, ip = ip("45.1.1.1"), mac = mac(tester_mac1), mpls = 0x4512},
+   {id = 45, port_id = 1, ip = ip("46.1.1.1"), mac = mac(tester_mac1), mpls = 0x4612},
+   {id = 46, port_id = 0, ip = ip("47.1.1.1"), mac = mac(tester_mac3), mpls = 0x4712},
+   {id = 47, port_id = 1, ip = ip("48.1.1.1"), mac = mac(tester_mac3), mpls = 0x4812},
+   {id = 48, port_id = 0, ip = ip("49.1.1.1"), mac = mac(tester_mac1), mpls = 0x4912},
+   {id = 49, port_id = 1, ip = ip("50.1.1.1"), mac = mac(tester_mac1), mpls = 0x5012},
+   {id = 50, port_id = 0, ip = ip("51.1.1.1"), mac = mac(tester_mac3), mpls = 0x5112},
+   {id = 51, port_id = 1, ip = ip("52.1.1.1"), mac = mac(tester_mac3), mpls = 0x5212},
+   {id = 52, port_id = 0, ip = ip("53.1.1.1"), mac = mac(tester_mac1), mpls = 0x5312},
+   {id = 53, port_id = 1, ip = ip("54.1.1.1"), mac = mac(tester_mac1), mpls = 0x5412},
+   {id = 54, port_id = 0, ip = ip("55.1.1.1"), mac = mac(tester_mac3), mpls = 0x5512},
+   {id = 55, port_id = 1, ip = ip("56.1.1.1"), mac = mac(tester_mac3), mpls = 0x5612},
+   {id = 56, port_id = 0, ip = ip("57.1.1.1"), mac = mac(tester_mac1), mpls = 0x5712},
+   {id = 57, port_id = 1, ip = ip("58.1.1.1"), mac = mac(tester_mac1), mpls = 0x5812},
+   {id = 58, port_id = 0, ip = ip("59.1.1.1"), mac = mac(tester_mac3), mpls = 0x5912},
+   {id = 59, port_id = 1, ip = ip("60.1.1.1"), mac = mac(tester_mac3), mpls = 0x6012},
+   {id = 60, port_id = 0, ip = ip("61.1.1.1"), mac = mac(tester_mac1), mpls = 0x6112},
+   {id = 61, port_id = 1, ip = ip("62.1.1.1"), mac = mac(tester_mac1), mpls = 0x6212},
+   {id = 62, port_id = 0, ip = ip("63.1.1.1"), mac = mac(tester_mac3), mpls = 0x6312},
+   {id = 63, port_id = 1, ip = ip("64.1.1.1"), mac = mac(tester_mac3), mpls = 0x6412},
+}
+
+lpm4.routes = {};
+
+base_ip = 10 * 2^24;
+
+for i = 1,2^13 do
+   res = ip(base_ip + (1 * 2^12) * (i - 1));
+
+   lpm4.routes[i] = {
+      cidr        = {ip = res, depth = 24},
+      next_hop_id = (i - 1) % 64,
+   }
+end
+
+return lpm4
index 1711c56..f869139 100644 (file)
@@ -36,7 +36,7 @@ scenarios:
         "-t": ""
       prox_files:
         "configs/gre_table.lua" : ""
-        "configs/ipv4.lua" : ""
+        "configs/ipv4_bng.lua" : ""
       prox_generate_parameter: True
 
     tg__0:
index a7d2d38..707fc1d 100644 (file)
@@ -36,7 +36,7 @@ scenarios:
         "-t": ""
       prox_files:
         "configs/gre_table.lua" : ""
-        "configs/ipv4.lua" : ""
+        "configs/ipv4_bng.lua" : ""
         "configs/dscp.lua" : ""
       prox_generate_parameter: True
 
index e4cd546..d580bd8 100644 (file)
@@ -36,7 +36,7 @@ scenarios:
         "-t": ""
       prox_files:
         "configs/gre_table.lua" : ""
-        "configs/ipv4.lua" : ""
+        "configs/ipv4_bng.lua" : ""
       prox_generate_parameter: True
 
     tg__0:
index 60002f0..7f447b1 100644 (file)
@@ -36,7 +36,7 @@ scenarios:
         "-t": ""
       prox_files:
         "configs/gre_table.lua" : ""
-        "configs/ipv4.lua" : ""
+        "configs/ipv4_bng.lua" : ""
         "configs/dscp.lua" : ""
       prox_generate_parameter: True