Our scenerio: DUT is palo alto firewall which is connected to a switch connected to ESXI host where we have CentOS VM running Trex application
Before we assigned interfaces to Trex, we were able to ping from DUT to the two IPs assigned on VM (to use for trex) . Once interfaces are added into DPDK, we lost the IP reachability between DUT and VM on those two IPs
Steps performed:
1. Initially, I configured two dpdk interfaces on CentOS VM running Trex with command "sudo ./dpdk_setup_ports.py -i". It generated below config file
### Config file generated by dpdk_setup_ports.py ###
- version: 2
interfaces: ['13:00.0', '1b:00.0']
port_info:
- ip: 10.152.55.5
default_gw: 10.152.55.4
- ip: 10.152.56.5
default_gw: 10.152.56.4
platform:
master_thread_id: 0
latency_thread_id: 1
dual_if:
- socket: 0
threads: [2]
Save the config to file? (Y/n)y
Default filename is /etc/trex_cfg.yaml
Press ENTER to confirm or enter new file:
File /etc/trex_cfg.yaml already exist, overwrite? (y/N)y
Saved to /etc/trex_cfg.yaml.
Note: If I understood right, first port with IP 10.152.55.5 corr to clients and second port IP 10.152.56.5 corr to servers. Correct me if I am wrong?
2. Configured the static ARP entries on the DUT for the Trex interface IPs
Configured static routes on DUT for default client and server pools on VM
3. Ran Trex command "sudo
./t-rex-64 --cfg /etc/trex_cfg.yaml -f ./cap2/http_simple.yaml -c 1 -d 100"
Output was as below:
[xxx@ v2.92]$ sudo ./t-rex-64 -f ./cap2/http_simple.yaml -c 1 -d 100
[sudo] password for xxx:
The ports are bound/configured.
Starting TRex v2.92 please wait ...
set driver name net_vmxnet3
driver capability : TSO
set dpdk queues mode to ONE_QUE
Number of ports found: 2
zmq publisher at: tcp://*:4500
wait 1 sec .
port : 0
------------
link : link : Link Up - speed 10000 Mbps - full-duplex
promiscuous : 0
port : 1
------------
link : link : Link Up - speed 10000 Mbps - full-duplex
promiscuous : 0
number of ports : 2
max cores for 2 ports : 1
tx queues per port : 3
no client generator pool configured, using default pool
no server generator pool configured, using default pool
-------------------------------
RX core uses TX queue number 65535 on all ports
core, c-port, c-queue, s-port, s-queue, lat-queue
------------------------------------------
1 0 0 1 0 0
-------------------------------
no client generator pool configured, using default pool
no server generator pool configured, using default pool
-- loading cap file avl/delay_10_http_browsing_0.pcap
Failed resolving dest MAC for default gateway:10.152.55.4 on port 0
4. Then I configured source and dest mac addresses in the config yaml file as below:
### Config file generated by dpdk_setup_ports.py ###
- version: 2
interfaces: ['13:00.0', '1b:00.0']
port_info:
- ip: 10.152.55.5
default_gw: 10.152.55.4
src_mac: 00:50:56:a4:c1:38
dest_mac: b4:0c:25:e5:40:4a
- ip: 10.152.56.5
default_gw: 10.152.56.4
src_mac: 00:50:56:a4:6f:3e
dest_mac: b4:0c:25:e5:40:4a
platform:
master_thread_id: 0
latency_thread_id: 1
dual_if:
- socket: 0
threads: [2]
Note: On palo alto we had an sub interface with default gateway for VM initially, now we configured two new subinterfaces for the trex, so it has got one mac address for all 3 interfaces. Is this causing the application to fail? correct me.
5. Re-run Trex command: "sudo
./t-rex-64 --cfg /etc/trex_cfg.yaml -f ./cap2/http_simple.yaml -c 1 -d 100". Below is the output, ARP resolution error did not happen, but we see no traffic hitting DUT.
summary stats
--------------
Total-pkt-drop : 10244 pkts
Total-tx-bytes : 9576721 bytes
Total-tx-sw-bytes : 0 bytes
Total-rx-bytes : 320 byte
Total-tx-pkt : 10249 pkts
Total-rx-pkt : 5 pkts
Total-sw-tx-pkt : 0 pkts
Total-sw-err : 0 pkts
Total ARP sent : 2 pkts
Total ARP received : 0 pkts
Please help me identify the cause of the application testing failure.
Thanks & Regards,
Manvitha