How to run PROX
Prox Configuration file in details:
https://github.com/nvf-crucio/PROX/tree/master/helper-scripts/openstackrapid
https://01.org/intel-data-plane-performance-demonstrators/documentation/prox-documentation
https://github.com/nvf-crucio/PROX
Sample Run in openstack Env:
Note: This is for manual run, already PROX openstack helper scripts running this automatically.
- Launch two instances in centos as mentioned in the above topic(PROX DPDK Tool installation)
- one VM will be generator, other one will be SUT.
- run the below python script(edit the gen, sut ip with correct one) in your machine, it will genearte the "parameters.lua" file
genDPIP = "192.168.250.3"
sutDPIP = "192.168.250.4"
ip = genDPIP.split('.')
hexgenDPIP=hex(int(ip[0]))[2:].zfill(2) + ' ' + hex(int(ip[1]))[2:].zfill(2) + ' ' + hex(int(ip[2]))[2:].zfill(2) + ' ' + hex(int(ip[3]))[2:].zfill(2)
ip = sutDPIP.split('.')
hexsutDPIP=hex(int(ip[0]))[2:].zfill(2) + ' ' + hex(int(ip[1]))[2:].zfill(2) + ' ' + hex(int(ip[2]))[2:].zfill(2) + ' ' + hex(int(ip[3]))[2:].zfill(2)
with open("parameters.lua", "w") as f:
f.write('gen_hex_ip="'+hexgenDPIP+'"\n')
f.write('sut_hex_ip="'+hexsutDPIP+'"\n')
f.write('gen_ip="'+genDPIP+'"\n')
f.write('sut_ip="'+sutDPIP+'"\n')
- sut.cfg, gen.cfg files are present in https://github.com/nvf-crucio/PROX/tree/master/helper-scripts/openstackrapid
- In the generator VM, copy the gen.cfg, parameters.lua in to /root directory
- In the SUT VM, copy the sut.cfg, parmeters.lua to /root directory.
In the Generator VM, run prox as below,
[root@proxserver1 ~]# pwd
/root
[root@proxserver1 ~]# prox -f /root/gen.cfg -k
In the Received VM, run the prox as below,
[root@proxserver2 ~]# pwd
/root
[root@proxserver2 ~]# prox -f /root/sut.cfg
Thats all
Prox Important Command Line options:
Prox can be used as two methods.
- Standalone program
- Run the Prox with config file, feed the commands
- Automated(Controlled by the script)
- Run the Prox in the server mode (-t)
- Client script connects with prox, and automate it
-f <config file>
-t listen in TCP Port 8474, act as server ( used by automation script form control it)
-o curses or cli or none (curses - if you run standalone, cli - when it run as server, None)
-a autostart all cores (default)
-e dont autostart the cores
Test: 1% speed of 10G, 100Pkt size
======================
Gen:
----
start the prox:
prox -f /root/gen.cfg -e
-f <config file name>
-e <dont autostart> - it means we need to start the prox task manually using "start" cmd. Its preferred method for gen.
SUT or Swap machine:
--------------------
start the prox:
prox -f /root/sut.cfg
gen commands:
-------------
stop all
reset all
verbose 2
speed 1 0 1
pkt_size 1 0 100 #Add ZERO padding at the end of the packets.
start all
tot stats
stop all