cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
5010
Views
3
Helpful
11
Replies

issue while send/receive end to end traffic in Trex

Hi ,

My topology is as follows

eth1-----VM1 -------Router1 -------Router2 -----VM2 ---eth1

Unable to send bi-directional traffic from eth1 -VM1 to eth1 -VM2.

Kindly let us know the sample python API for the above setup ,PFA topo attached for ref.

Thanks

Jay

1 Accepted Solution

Accepted Solutions

have a look here, how to configure IPv4 from Console (before the start)

http://trex-tgn.cisco.com/trex/doc/trex_stateless.html#_neighboring_protocols

try to ping one VM2-TRex from VM1-TRex

You can replace this

Ether(src='ea:51:7d:8a:89:40', dst='00:8a:96:0d:5c:6c', type=2048)


with


Ether()

thanks.

Hanoh

View solution in original post

11 Replies 11

hhaim@cisco.com
Cisco Employee
Cisco Employee

Suggest to send questions into our mailer in

https://groups.google.com/forum/#!forum/trex-tgn

please provide more information on the configuration of each TRex and output

Hanoh

Please find the config

--------

- port_limit: 2

  version: 2

  interfaces: ['00:06.0', '00:07.0']

  port_info:

      - dest_mac: 00:8a:96:09:a8:6c --Router mac

        src_mac: f2:b0:d4:ce:f0:c0 --VM1 eth mac

        dest_mac: 00:8a:96:09:a5:6c dest VM2 mac

        src_mac: f2:b0:d4:ce:f1:c0 -sec VM1 eth2 mac

  platform:

      master_thread_id: 0

      latency_thread_id: 1

      dual_if:

        - socket: 0

          threads: [2,3,4,5,6,7]

OUTPUT
-----------

Tx :     296.20 Kbps

Cpu Utilization : 0.2  %  0.6 Gb/core

Platform_factor : 1.0

Total-Tx        :     592.33 Kbps

Total-Rx        :     922.81  bps

Total-PPS       :       1.12 Kpps

Total-CPS       :       0.48  cps

Expected-PPS    :       2.00  pps

Expected-CPS    :       1.00  cps

Expected-BPS    :       1.36 Kbps

Active-flows    :        0  Clients :        1   Socket-util : 0.0000 %

Open-flows      :       10  Servers :        1   Socket :        0 Socket/Clients :  0.0

drop-rate       :     591.41 Kbps

summary stats

--------------

Total-pkt-drop       : 22226 pkts

Total-tx-bytes       : 1468484 bytes

Total-tx-sw-bytes    : 1485792 bytes

Total-rx-bytes       : 1152 bytes

Please let us know how to start trex client /server and sample python API for bi-directional end to end traffic

Thanks

Jay

Hi Hanoch,

is there way to send bi-directional traffic in Trex using stateless python API for the below setup

eth1-----VM1 -------Router1 -------Router2 -----VM2 ---eth1



Yes, it is possible

Hanoh

Hi Hanoch haim,

Thank you for your prompt reply .

Herewith i have attached Topology , Stateless Python API , Traffic stats for your ref .

In this traffic stats , its not updating end to end traffic and its updating only TX stats .

Please verify and provide your valuable inputs and suggestions

Observed DPDK bounded ports are local to machine and unable to send bidirection traffic between the VM through Router1 and Router2

Thanks

Jay

1) First you can work with IP layer instead of MAC, you can use L3 API and from Console/GUI

and replace

packet = (Ether(src='f2:b0:d4:ce:f0:c0', dst='00:8a:96:09:a8:6c', type=2048) /

==>

packet = (Ether() /


just give VM1 IP of Cleaf3 router port as default-gateway


if you run another TRex on VM2 and you you attach 193.193.193.22 port to TRex you should see the data

suggest to capture in service-mode  (you can do that with the GUI or Console ) to debug this


thanks,

Hanoh

Hi Hanoch ,

Thank you your speedy response . Please find my stateless API used here for L3 .

fabtool@trex-2:~/trex_latest/v2.36/stl$ cat bench.py

# !!! Auto-generated code !!!

from trex_stl_lib.api import *

class STLS1(object):

    def get_streams(self, direction = 0, **kwargs):

        streams = []

        packet = (Ether(src='ea:51:7d:8a:89:40', dst='00:8a:96:0d:5c:6c', type=2048) /

                  IP(src='193.193.193.22', proto=17, dst='193.193.193.14', chksum=11177, len=1482, ihl=5, ttl=127, id=1234) /

                  UDP(dport=1025, sport=1025, len=1454, chksum=0) /

                  Raw(load='\n\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa') /

                  Raw(load='\xaa' * 8))

        vm = STLVM()

        stream = STLStream(packet = STLPktBuilder(pkt = packet, vm = vm),

                           mac_src_override_by_pkt = False,

                           mac_dst_override_mode = 0,

                           mode = STLTXCont(bps_L1 = 10000000000))

        streams.append(stream)

        return streams

def register():

    return STLS1()

Note: both the VM1 and VM2 started trex server in one terminal and another terminal ./trex-console and start sending traffic

start -f stl/bench.py -m 100% --port 0 1 -t size=590,vm=var1 --force --total (there is no bi-directional feasiblity here)

Kindly do the needful to resolve the issue

Thanks

Jay

have a look here, how to configure IPv4 from Console (before the start)

http://trex-tgn.cisco.com/trex/doc/trex_stateless.html#_neighboring_protocols

try to ping one VM2-TRex from VM1-TRex

You can replace this

Ether(src='ea:51:7d:8a:89:40', dst='00:8a:96:0d:5c:6c', type=2048)


with


Ether()

thanks.

Hanoh

Hi Hanoch ,

Thank you for your support and able to send / receive bidirectional stats using PYthon API in Trex

Thanks !!!!!!

Jay

Could you say what was the original issue?

Hanoh

Sent from my iPhone

Hi Hanoch,

Issue resolved after configuring /etc/trex_cfg.yaml with correct mac address

VM1 - /etc/trex_cfg.yaml

- port_limit      : 2 # numbers of ports to use

  version         : 2

  interfaces      : ["00:06.0","00:07.0"] # PCI address of interfaces

  port_info       : # set eth mac addr

          - dest_mac        :   00:8a:96:09:a8:6c  # port 0

src_mac         :   f2:b0:d4:ce:f0:c0

          - dest_mac        :   00:8a:96:09:a8:6c # port 1

src_mac         :   f2:b0:d4:ce:f0:c0