...
It may be useful to have some idea of how much traffic is being received by the router. The best way to do this is to use the monitor interface
op-mode command which will display an interactive traffic monitoring utility.
TODO: add some pictures when this is no longer broken (see VRVDR-12351)
Checking packet contents
If you need to check packet properties, such as the marking applied, it is possible to capture received packets with the traffic
subcommand of monitor interface
. If you are sending traffic at a high rate, it may be best to capture this output to a file, or use grep to search for the particular information you're interested in.
...
Spirent TestCentre can generate line rate traffic and is highly configurable, but quite complex and primarily accessed through a windows app.
ping
can generate Mbits of traffic with with -fflag which may be enough to test many configs. The -i
flag sets the interval between packets which can help control the transmitted bandwidth and the -Q
flag allows the TOS IP header field to be set (multiply DSCP values by 4 to calculate the corresponding TOS value).
iperf
is a client/server network throughput analysis tool. It requires a server sink to be established at the receiving end of a link (ideally the other end of the link the QoS policy you are testing is on) and a client to connect to it through the router under test. It's very easy to configure the transmitted bandwidth, the DSCP values (-S) and provide throughput bandwidth calculations (-i). It can't be used to send multiple streams simultaneously though with different settings.Ostinato is GUI tool which can be used to send streams of traffic to a router, and designed to act a bit like wireshark in reverse. It's a bit fiddly to set up, so there is a guide to using it available here.
...
Enable debugging for the dataplane syslog facility with:?
vyatta@vyatta:~$ configure
vyatta@vyatta# set system syslog global facility dataplane level debug
vyatta@vyatta# commit
Use vplsh to set the QoS debug bit in the dataplane's dp_debug flags variable:?
vyatta@vyatta:~$ /opt/vyatta/bin/vplsh
-l -c "debug qos"Use vplsh to check which dataplane debug flags are set:?
vyatta@vyatta:~$ /opt/vyatta/bin/vplsh
-l -c "debug"Debug 0x8013 init link nl_interface qos
vyatta@vyattaT:~$
The debug flags set by default are: init, link and netlink interface, it the example above the QoS debug flag (0x8000) is set.
You can also use vplsh to clear the QoS debug flag like so (note the additional '-' in front of qos):?
vyatta@UUT:~$ /opt/vyatta/bin/vplsh
-l -c "debug -qos"vyatta@UUT:~$ /opt/vyatta/bin/vplsh
-l -c "debug"Debug 0x13 init link nl_interface
vyatta@UUT:~$
The QoS debug messages appear in /var/log/dataplane/vplane.log, or can be dumped using vplsh like so:?
vyatta@vyatta:~$ /opt/vyatta/bin/vplsh
-l -c "log"EAL: TSC frequency is ~2693752 KHz
EAL: WARNING: cpu flags constant_tsc=yes
nonstop_tsc=no -> using unreliable clock cycles !
DATAPLANE: Dataplane version 2.2.0 - Copyright (C) 2012-2016 Brocade Communication Systems, Inc.
DATAPLANE: 3 ports available (enabled mask 0x7)
DATAPLANE: 1 core(s) available
DATAPLANE: dp0s4 Link enabled
DATAPLANE: dp0s4 Link up at 10000 Mbps, full duplex
DATAPLANE: dp0s4: mcast HW Rx filters: Operation not supported
DATAPLANE: dp0s3 Link enabled
DATAPLANE: dp0s3 Link up at 10000 Mbps, full duplex
DATAPLANE: dp0s3: mcast HW Rx filters: Operation not supported
DATAPLANE: dp0s5 Link enabled
DATAPLANE: dp0s5 Link up at 10000 Mbps, full duplex
DATAPLANE: dp0s5: mcast HW Rx filters: Operation not supported
QOS: PCP map not enabled, enabling
QOS: DSCP map not enabled, enabling
QOS: PCP map not enabled, enabling
QOS: DSCP map not enabled, enabling
QOS: DSCP map not enabled, enabling
QOS: PCP map not enabled, enabling