testing QoS with conventional PCs


what are the methods to test QoS functions (specifcally I'm interested in traffic shaping, scheduling) without packet generators Smartbits or Ixia, but having only a few PCs and a target board running some code on L2 switch? So basically, I'm trying to implement QoS support for a Ethernet chip, i.e. QoS per se is done in hardware, my software is doing configuration and monitoring, and thus I want to check if it really works or not.

Let's say, connect one PC to port 1 of the board and second PC to port 2, I can generate traffic via port 1 and expect to be shaped or scheduled accordingly -- what is the sdcenario, or procedure, to do this? What tools, utilities I could use for this, provided that both PCs and the board run Linux?


Reply to
Loading thread data ...

I'd expect you to need more than two hosts ... ? But I don't know your requirements.

Assuming you really only need a handful of endpoints:

- All the normal command-line tools and scripting languages

- Its configurable IP stack

- Its firewall

- ...

The "normal tools" I'd use would include ping, netcat, wget, ssh and rsync. And the TCP and UDP flavors of the 'echo' and 'chargen' services.

Maybe you want one single tool which gives you one simple answer instead. Someone else will have to mention those -- I don't know them.


Reply to
Jorgen Grahn

I would not presume to call it a drop-in replacement for smartbits or ixia, but I do have a certain fondness for netperf:

formatting link
which can be used to generate bulk streams, request/response traffic, etc.

happy benchmarking,

rick jones

Reply to
Rick Jones

1st bit is that it is difficult to do any QoS testing for a switch or router unless you can overload a port.

So - traffic into 1 port faster than the output, or into 2 ports same speed as the output.

2nd is that before you test your switch, test the PCs "back to back" - because they may well not get to wire speed on a Gigabit Ethernet port...

The way we do this at work is to start simple and add complications.

a. 2 PCs back to back b add switch without any qos enabled. c add qos etc

you are looking for how things change between tests.

1 place the Smartbits etc win is with scripting the tests so you can re-run a varient of the same test, increasing load each time and show the trends in the results, (or adding more IP subnets, or multicast addresses or whatever you are stressing).

Good luck - most tests seem to find problems with the test rig and software a big chunk of the time :)

Reply to

Thanks everyone for input. I was rather looking for the principles of testing of specific QoS features, for example, I can assign a 802.1q priority value to a specific output queue (with low, mid or high priority). So, for this particular test case the question is: how, having just a couple of PCs and a L2 development design in between, to verify that the L2 hardware really does what I ask it to, i.e. placing a frame with COS priority value 2 to TX queue 0 (as example), and a frame with COS value 7 to TX queue 3.

(I'm trying to implement such functionality on the hardware and want to make sure that it does what it claims in datasheet).

Will be very thankkful for hints and advices !


Reply to

That's not functionality; that's stuff that is internal to the chip, and can only be verified by looking at its counters if it has any.

The /functionality/ would be how traffic with different COS values affect the dropping of each other during heavy load.

I suppose you could set up something like this:

host A: addr A ----- SUT ------ addr B0 : host B addr B1 addr B2

And add iptables rules to rewrite COS on traffic to B0, B1 and B2.


Reply to
Jorgen Grahn

Cabling-Design.com Forums website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.