I'm a bit confused at the first section, you are using ASTF when there are two TRex machines (Client and Server side).
While in the last section you are using STF mode that does not support this configuration.
Do you want to use ASTF with two TRex that send DNS an HTTP?
Regarding Qos, the is only one set of ASTF counters (per client/server), we plan to add the same set per template, this case you will have the ability to know which template is affected.
thanks,
Hanoh
Hi,
** How can i run tests on the client and server at the same time?
Setup:
Client (TRex on Ubuntu) <--> Router (CSR1000v) <--> Server (TRex VM)
I started with basic DNS and HTTP traffic, using ASTF (for client and server mode), but total tx and rx are never the same because i have to start the command on the client and then on the server.
Used commands.
Client:
“./t-rex-64 -f astf/http_simple.py -m 10 -d 60 -c 1 --astf -k 5 --astf-client-mask 0x1”
Server:
“./t-rex-64 -f astf/http_simple.py -m 10 -d 60 -c 1 --astf -k 5 --astf-sever-only”
Used configuration.
Client:
- port_limit: 2
version: 2
low_end: true
interfaces: ['eth0', 'dummy']
port_info:
- ip: 10.10.10.2
default_gw: 10.10.10.1
- ip: 1.1.1.1
default_gw: 2.2.2.2
Server:
- port_limit: 2
version: 2
low_end: true
interfaces: ['dummy', 'eth1']
port_info:
- ip: 1.1.1.1
default_gw: 2.2.2.2
- ip: 10.10.20.2
default_gw: 10.10.20.1
** Now i would like to test a traffic mix (dns and http and other within the same file) for testing QoS. Are there any best practices or examples?
I was following the Trex manual using this in a test.yaml file:
- duration : 1.0
generator :
distribution : "seq"
clients_start : "16.0.0.1"
clients_end : "16.0.0.10"
servers_start : "48.0.0.1"
servers_end : "48.0.0.3"
clients_per_gb : 201
min_clients : 101
dual_port_mask : "1.0.0.0"
tcp_aging : 1
udp_aging : 1
mac : [0x00,0x00,0x00,0x01,0x00,0x00]
cap_ipg : true
cap_info :
- name: cap2/dns.pcap
cps : 10.0 1
ipg : 10000
rtt : 10000
w : 1
- name: avl/delay_10_http_browsing_0.pcap
cps : 2.0 1
ipg : 10000
rtt : 10000
w : 1
Kind regards,
Jeremy
--
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+unsubscribe@googlegroups.com.
To post to this group, send email to trex...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/trex-tgn/8c2cbbd7-f2c5-4138-9504-8ae62966623b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Hi,
Sorry for the confusion. I think i got astf mode working with DNS and HTTP traffic.
Did the following in a test file "test_dns_and_http.py" in /astf folder:
from trex_astf_lib.api import *
class Prof1():
def __init__(self):
pass
def get_profile(self):
# ip generator
ip_gen_c = ASTFIPGenDist(ip_range=["16.0.0.1", "16.0.0.10"],distribution="seq")
ip_gen_s = ASTFIPGenDist(ip_range=["48.0.0.1", "48.0.0.3"],distribution="seq")
ip_gen = ASTFIPGen(glob=ASTFIPGenGlobal(ip_offset="1.0.0.0"),
dist_client=ip_gen_c,
dist_server=ip_gen_s)
return ASTFProfile(default_ip_gen=ip_gen,
cap_list=[
ASTFCapInfo(file="../avl/delay_10_http_browsing_0.pcap",cps=1),
ASTFCapInfo(file="../cap2/dns.pcap",cps=1)
])
def register():
return Prof1()
Commands used
Client:
./t-rex-64-o -f astf/test_dns_and_http.py -m 1 -d 60 -c 1 --astf -k 5 --astf-client-mask 0x1 --nc
Server:
./t-rex-64-o -f astf/test_dns_and_http.py -m 1 -d 60 -c 1 --astf -k 5 --astf-server-only --nc
There are no errors (by using -m 1 (to 4).
But i was wondering if there is a way that i can run them exactly at the same time?
Kind regards,
Jeremy
--
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+unsubscribe@googlegroups.com.
To post to this group, send email to trex...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/trex-tgn/dbe98d66-f879-4c83-b216-c03ab95c30d5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
You should run the TRex "server" side first. No packet should be sent after this step (the server waits for the client).
The TRex "client" side should be run after that, it will trigger the negotiation.
something like that
Server:
“./t-rex-64 -f astf/http_simple.py -m 10 -d 60 -c 1 --astf -k 5 --astf-sever-only”
WAIT.........
WAIT.........
WAIT.........
WAIT......... no packets should be sent
Client:
“./t-rex-64 -f astf/http_simple.py -m 10 -d 60 -c 1 --astf -k 5 --astf-client-mask 0x1”
thanks,
Hanoh
I mean when i run the commands in the cli.
I hit enter in the client cli, then hit enter in the server cli, but then there's always packet loss and the test time will not be even.
It is maybe not a big deal for what i am doing, but I thought maybe there is a way to start the tests at the same time.
Kind regards,
Jeremy
--
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+unsubscribe@googlegroups.com.
To post to this group, send email to trex...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/trex-tgn/037b7042-1822-408a-ada9-422489425932%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Hi,
Now I used the following, but I have a question.
---------------------------------------
import os
from trex_astf_lib.api import *
class Prof1():
def __init__(self):
pass
def create_profile(self):
ip_gen_c1 = ASTFIPGenDist(ip_range=["16.0.0.1", "16.0.0.1"], distribution="seq")
ip_gen_s1 = ASTFIPGenDist(ip_range=["48.0.0.1", "48.0.0.10"], distribution="seq")
ip_gen1 = ASTFIPGen(glob=ASTFIPGenGlobal(ip_offset="1.0.0.0"),
dist_client=ip_gen_c1,
dist_server=ip_gen_s1)
ip_gen_c2 = ASTFIPGenDist(ip_range=["10.0.0.1", "10.0.0.1"], distribution="seq")
ip_gen_s2 = ASTFIPGenDist(ip_range=["20.0.0.1", "20.0.0.10"], distribution="seq")
ip_gen2 = ASTFIPGen(glob=ASTFIPGenGlobal(ip_offset="1.0.0.0"),
dist_client=ip_gen_c2,
dist_server=ip_gen_s2)
profile = ASTFProfile(default_ip_gen=ip_gen1, cap_list=[
ASTFCapInfo(file="../cap2/exchange.pcap"),
ASTFCapInfo(file="../cap2/dns.pcap"),
ASTFCapInfo(file="../cap2/citrix.pcap",ip_gen=ip_gen2),
ASTFCapInfo(file="../cap2/https.pcap",ip_gen=ip_gen2)
])
return profile
def get_profile(self, **kwargs):
return self.create_profile()
def register():
return Prof1()
---------------------------------------
When I start a capture with Wireshark I can see all the traffic, from both ranges. Good results, but when I comment out exchange, dns and https, to test only citrix with the 2nd IP range, the output after the test..
Client: “./t-rex-64 -f astf/test_multiple.py -m 1 -d 60 -c 1 --astf --astf-client-mask 0x1”
Server: “./t-rex-64 -f astf/test_multiple.py -m 1 -d 60 -c 1 --astf --astf-sever-only”
.. there are only zeroes as output.
When I delete ip_gen=ip_gen2, of course it's then using the first range, it will give a good output in the cli. Why is that? For wireshark there are no differences, both good, with or without ip_gen=ip_gen2.
Kind regards,
Jeremy Rensen
--
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+unsubscribe@googlegroups.com.
To post to this group, send email to trex...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/trex-tgn/c7e74a70-5fe2-4c67-b19e-e15a2c4155ec%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Hi Jeremy,
So by zero you mean the "counters" are zero.
This means that there is no valid route to those packet (10.0.0.x ..). Try to check when in the network the traffic are dropped.
The server will answer once the SYN packet will be seen.
thanks,
Hanoh
I meant output in the cli.
With Wireshark the traffic is captured, which I can see (there are a lot tcp retransmissions, but my question is about the output in the cli).
Client:
normal
-------------
min_delta : 10 usec
cnt : 0
high_cnt : 0
max_d_time : 0 usec
sliding_average : 0 usec
precent : -nan %
histogram
-----------
m_total_open_flows : 30.00 flows
m_total_open_flows : 30
m_total_close_flows : 30
---------------
port : 0
------------
opackets : 120
obytes : 9360
ipackets : 9
ibytes : 1296
Tx : 280.78 bps
Cpu Utilization : 2.0 % 0.0 Gb/core
Platform_factor : 1.0
Total-Tx : 280.78 bps
Total-Rx : 611.82 bps
Total-PPS : 0.45 pps
Total-CPS : 0.02 cps
Expected-PPS : 0.00 pps
Expected-CPS : 0.00 cps
Expected-L7-BPS : 0.00 bps
Active-flows : 0 Clients : 2 Socket-util : 0.0000 %
Open-flows : 30 Servers : 20 Socket : 0 Socket/Clients : 0.0
drop-rate : 0.00 bps
summary stats
--------------
Total-pkt-drop : 111 pkts
Total-tx-bytes : 9360 bytes
Total-tx-sw-bytes : 0 bytes
Total-rx-bytes : 1296 byte
Total-tx-pkt : 120 pkts
Total-rx-pkt : 9 pkts
Total-sw-tx-pkt : 0 pkts
Total-sw-err : 0 pkts
Total ARP sent : 2 pkts
Total ARP received : 1 pkts
| client | server |
-----------------------------------------------------------------------------------------
m_active_flows | 0 | 0 | active open flows
m_est_flows | 0 | 0 | active established flows
m_tx_bw_l7_r | 0.00 bps | 0.00 bps | tx L7 bw acked
m_tx_bw_l7_total_r | 0.00 bps | 0.00 bps | tx L7 bw total
m_rx_bw_l7_r | 0.00 bps | 0.00 bps | rx L7 bw acked
m_tx_pps_r | 0.45 pps | 0.00 pps | tx pps
m_rx_pps_r | 0.00 pps | 0.00 pps | rx pps
m_avg_size | 0.00 B | 0.00 B | average pkt size
m_tx_ratio | 0.00 %% | 0.00 %% | Tx acked/sent ratio
- | --- | --- |
TCP | --- | --- |
- | --- | --- |
tcps_connattempt | 30 | 0 | connections initiated
tcps_closed | 30 | 0 | conn. closed (includes drops)
tcps_segstimed | 30 | 0 | segs where we tried to get rtt
tcps_sndtotal | 120 | 0 | total packets sent
tcps_sndbyte | 180 | 0 | data bytes sent by application
tcps_sndctrl | 120 | 0 | control (SYN|FIN|RST) packets sent
tcps_conndrops | 30 | 0 | *embryonic connections dropped
tcps_rexmttimeo_syn | 90 | 0 | *retransmit SYN timeouts
tcps_keeptimeo | 30 | 0 | *keepalive timeouts
tcps_keepdrops | 30 | 0 | *connections dropped in keepalive
- | --- | --- |
UDP | --- | --- |
- | --- | --- |
- | --- | --- |
Flow Table | --- | --- |
- | --- | --- |
err_cwf | 8 | 0 | *client pkt without flow
err_no_tcp_udp | 1 | 0 | no tcp/udp packet
redirect_rx_ok | 1 | 0 | redirect to rx OK
Server:
normal
-------------
min_delta : 10 usec
cnt : 0
high_cnt : 0
max_d_time : 0 usec
sliding_average : 0 usec
precent : -nan %
histogram
-----------
---------------
port : 1
------------
opackets : 0
obytes : 0
ipackets : 2
ibytes : 128
Tx : 0.00 bps
Cpu Utilization : 1.2 % 0.0 Gb/core
Platform_factor : 1.0
Total-Tx : 0.00 bps
Total-Rx : 0.00 bps
Total-PPS : 0.00 pps
Total-CPS : 0.00 cps
Expected-PPS : 0.00 pps
Expected-CPS : 0.00 cps
Expected-L7-BPS : 0.00 bps
Active-flows : 0 Clients : 2 Socket-util : 0.0000 %
Open-flows : 0 Servers : 20 Socket : 0 Socket/Clients : 0.0
drop-rate : 0.00 bps
summary stats
--------------
Total-pkt-drop : 0 pkts
Warning : number of rx packets exceeds 101% of tx packets!
Total-tx-bytes : 0 bytes
Total-tx-sw-bytes : 0 bytes
Total-rx-bytes : 128 byte
Total-tx-pkt : 0 pkts
Total-rx-pkt : 2 pkts
Total-sw-tx-pkt : 0 pkts
Total-sw-err : 0 pkts
Total ARP sent : 2 pkts
Total ARP received : 1 pkts
| client | server |
-----------------------------------------------------------------------------------------
m_active_flows | 0 | 0 | active open flows
m_est_flows | 0 | 0 | active established flows
m_tx_bw_l7_r | 0.00 bps | 0.00 bps | tx L7 bw acked
m_tx_bw_l7_total_r | 0.00 bps | 0.00 bps | tx L7 bw total
m_rx_bw_l7_r | 0.00 bps | 0.00 bps | rx L7 bw acked
m_tx_pps_r | 0.00 pps | 0.00 pps | tx pps
m_rx_pps_r | 0.00 pps | 0.00 pps | rx pps
m_avg_size | 0.00 B | 0.00 B | average pkt size
m_tx_ratio | 0.00 %% | 0.00 %% | Tx acked/sent ratio
- | --- | --- |
TCP | --- | --- |
- | --- | --- |
- | --- | --- |
UDP | --- | --- |
- | --- | --- |
- | --- | --- |
Flow Table | --- | --- |
- | --- | --- |
redirect_rx_ok | 0 | 2 | redirect to rx OK
Kind regards,
Jeremy
--
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+unsubscribe@googlegroups.com.
To post to this group, send email to trex...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/trex-tgn/17428bdd-4c15-47b6-b18a-0915ba3d8537%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To unsubscribe from this group and stop receiving emails from it, send an email to trex-tgn+u...@googlegroups.com.
To post to this group, send email to trex...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/trex-tgn/0db04ba9-d714-455a-a236-c116c69920b5n%40googlegroups.com.