Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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 -f

    flag 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.

...

  1. Enable debugging for the dataplane syslog facility with:?

    vyatta@vyatta:~$ configure

    vyatta@vyatta# set system syslog global facility dataplane level debug

    vyatta@vyatta# commit

  2. 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"

  3. 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.

  4. 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:~$

  5. 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