aboutsummaryrefslogtreecommitdiffstats
path: root/tools/pkt_gen/prox/templates/params-vineperf.lua.j2
diff options
context:
space:
mode:
authorSridhar Rao <sridhar.rao@spirent.com>2021-10-01 02:44:43 +0000
committerGerrit Code Review <gerrit@opnfv.org>2021-10-01 02:44:43 +0000
commit467a22c1c2cbfc3c4a8448b7170d84dc26d658ec (patch)
tree590f6e7fb7fbbd2c6c0dd7e3fd7864234da3f17c /tools/pkt_gen/prox/templates/params-vineperf.lua.j2
parent17e20bfa70d1a9ce5e6ee6687245e3e22f3633a8 (diff)
parent48f947e94e36e877aa6889e10cda0bbdcd573ef4 (diff)
Merge "Integrating DPPD-Prox with Vineperf"
Diffstat (limited to 'tools/pkt_gen/prox/templates/params-vineperf.lua.j2')
-rw-r--r--tools/pkt_gen/prox/templates/params-vineperf.lua.j279
1 files changed, 79 insertions, 0 deletions
diff --git a/tools/pkt_gen/prox/templates/params-vineperf.lua.j2 b/tools/pkt_gen/prox/templates/params-vineperf.lua.j2
new file mode 100644
index 00000000..b389a51a
--- /dev/null
+++ b/tools/pkt_gen/prox/templates/params-vineperf.lua.j2
@@ -0,0 +1,79 @@
+function convertIPToHex(ip)
+ local address_chunks = {}
+ if type(ip) ~= "string" then
+ print ("IP ADDRESS ERROR: ", ip)
+ return "IP ADDRESS ERROR"
+ end
+
+ local chunks = {ip:match("^(%d+)%.(%d+)%.(%d+)%.(%d+)(\/%d+)$")}
+ if #chunks == 5 then
+ for i,v in ipairs(chunks) do
+ if i < 5 then
+ if tonumber(v) > 255 then
+ print ("IPV4 ADDRESS ERROR: ", ip)
+ return "IPV4 ADDRESS ERROR"
+ end
+ address_chunks[#address_chunks + 1] = string.format ("%02x", v)
+ end
+ end
+ result = table.concat(address_chunks, " ")
+ print ("Hex IPV4: ", result)
+ return result
+ end
+
+ local chunks = {ip:match("^(%d+)%.(%d+)%.(%d+)%.(%d+)$")}
+ if #chunks == 4 then
+ for i,v in ipairs(chunks) do
+ if tonumber(v) > 255 then
+ print ("IPV4 ADDRESS ERROR: ", ip)
+ return "IPV4 ADDRESS ERROR"
+ end
+ address_chunks[#address_chunks + 1] = string.format ("%02x", v)
+ end
+ result = table.concat(address_chunks, " ")
+ print ("Hex IPV4: ", result)
+ return result
+ end
+
+ delimiter = ":"
+ for match in (ip..delimiter):gmatch("(.-)"..delimiter) do
+ if match ~= "" then
+ number = tonumber(match, 16)
+ if number <= 65535 then
+ table.insert(address_chunks, string.format("%02x %02x",number/256,number % 256))
+ end
+ else
+ table.insert(address_chunks, "")
+ end
+ end
+ for i, chunk in ipairs(address_chunks) do
+ if chunk =="" then
+ table.remove(address_chunks, i)
+ for j = 1,(8-#address_chunks) do
+ table.insert(address_chunks, i, "00 00")
+ end
+ break
+ end
+ end
+ result = table.concat(address_chunks, " ")
+ print ("Hex IPV6: ", result)
+ return result
+end
+
+eal="--socket-mem=256,0 --file-prefix Generator -w {{data.pci1}} -w {{data.pci2}}"
+name="Generator"
+local_ip1={{data.local_ip1|tojson}}
+local_hex_ip1=convertIPToHex(local_ip1)
+local_ip2={{data.local_ip2|tojson}}
+local_hex_ip2=convertIPToHex(local_ip2)
+mcore={{data.mcore|tojson}}
+dest_ip1={{data.local_ip2|tojson}}
+dest_hex_ip1=convertIPToHex(dest_ip1)
+dest_hex_mac2={{data.mac1|tojson}}
+dest_ip2={{data.local_ip1|tojson}}
+dest_hex_ip2=convertIPToHex(dest_ip2)
+dest_hex_mac1={{data.mac2|tojson}}
+gencores={{data.gencores|tojson}}
+latcores={{data.latcores|tojson}}
+bucket_size_exp={{data.latency_buckets|tojson}}
+heartbeat="60"