ARP reply behaviour in stateless - observetion

1,093 views
Skip to first unread message

Haklat Haklat

unread,
Dec 2, 2020, 2:10:14 AM12/2/20
to TRex Traffic Generator
Hi,
I am running TREX v2.85 in stateless mode using Intel XXV710 SRIOV/DPDK VFs as docker container. My trex_cnf.yaml looks like below. My observation is that when running stateless traffic using some python API script, TREX resolves ARP requests and answer to ICMP requests, even if not in service mode. TREX is started with single dp core; "./t-rex-64 -i".

If I instead run trex with 2 dp cores; "./t-rex-64 -i -c 2", and use same traffic script it does no longer reply to ARP requests (it can still answer ICMP requests).  Is this expected behaviour?

[root@trex-sriov-10 v2.85]# cat /etc/trex_cfg.yaml
- version: 2
  interfaces    : ["0000:03:02.2", "0000:03:02.3"]   # list of the interfaces to bind run ./dpdk_nic_bind.py --status
  prefix        : trex1
  limit_memory  : 2048
  rx_desc: 4096
  tx_desc: 4096
  port_info     :  # set e.g. ip,gw,vlan,eth mac addr

                 - ip         : 172.80.23.244
                   default_gw : 172.80.23.1
                   vlan       : 823
                 - ip         : 172.80.24.244
                   default_gw : 172.80.24.1
                   vlan       : 824
  platform:
      master_thread_id: 1
      latency_thread_id: 33
      dual_if:
        - socket: 0
          threads: [2,34]

BR//Håkan

hanoh haim

unread,
Dec 2, 2020, 2:47:11 AM12/2/20
to Haklat Haklat, TRex Traffic Generator
Yes, if you want it to answer ARP you should be in service - filter mode. 
In single core, all the traffic get to the Rx core, so there is no need for service - filter mode. 
BTW it is better to add this to your trex_cfg so there would be arp responses too. 

stack: linux_based


Haklat Haklat

unread,
Dec 2, 2020, 11:52:01 AM12/2/20
to TRex Traffic Generator
Thanks,
I actually did try multiple cores with, "stack: linux_based". But I had some issue with symptoms that looked like arp related (in my case TREX has to answer arp while sending traffic or there will be a traffic hit when SUT times out ARP entry - ARP cache does not get updated using GARP).  This hit I observed was maybe due to something else in the SUT network. Will run again with linux namespace feature (this is actually nested namespaces when TREX is run as docker container like in my case) to check.

BR//Håkan

Haklat Haklat

unread,
Dec 2, 2020, 1:05:52 PM12/2/20
to TRex Traffic Generator
Hi,
tried again now with t-rex-64 -i -c 2 and linux stack enabled. And I can see also for this that ARP request is not resolved properly by TREX in this case either. Traffic fails with perfect timing when ARP ages out of SUT (every 25 minutes in my case). Will try with linux stack and single core (I have a feeling this will work).


[root@trex-sriov-10 v2.85]# cat /etc/trex_cfg.yaml
- version: 2
  interfaces    : ["0000:03:02.2", "0000:03:02.3"]   # list of the interfaces to bind run ./dpdk_nic_bind.py --status
  stack: linux_based
  prefix        : trex1
  limit_memory  : 2048
  rx_desc: 4096
  tx_desc: 4096
  port_info     :  # set e.g. ip,gw,vlan,eth mac addr

                 - ip         : 172.80.23.244
                   default_gw : 172.80.23.1
                   vlan       : 823
                 - ip         : 172.80.24.244
                   default_gw : 172.80.24.1
                   vlan       : 824
  platform:
      master_thread_id: 1
      latency_thread_id: 33
      dual_if:
        - socket: 0
          threads: [2,34]

BR//Håkan

hanoh haim

unread,
Dec 2, 2020, 1:45:28 PM12/2/20
to Haklat Haklat, TRex Traffic Generator
Verify that you are in software mode and service- filter 

--
You received this message because you are subscribed to the Google Groups "TRex Traffic Generator" group.
To unsubscribe from this group and stop receiving emails from it, send an email to trex-tgn+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/trex-tgn/17d335a8-a6d0-4301-9e7c-3acc63663167n%40googlegroups.com.
--
Hanoh
Sent from my iPhone

Haklat Haklat

unread,
Dec 2, 2020, 2:35:58 PM12/2/20
to TRex Traffic Generator
OK,
I missed that I had to have the service filter mode. I guess  --no-tcp-udp to get performance for sending my UDP traffic streams. Just need to figure out howto set this with the python API.

Thanks//Håkan

Haklat Haklat

unread,
Dec 2, 2020, 3:35:36 PM12/2/20
to TRex Traffic Generator
Hi,
with this it worked great:
c.set_service_mode(ports = [0, 1], enabled = False, filtered = True, mask = 1)

Thanks for great support//Håkan

Reply all
Reply to author
Forward
0 new messages