Tc Snmp Monitor

These scenarios show how to configure a traffic control discipline in different interfaces to monitor its statistics using SNMP protocol.

Test Traffic Control OIDs On Ethernet Interface

Description

In this scenario, traffic control disciplines are attached to an Ethernet interface.

Scenario

Step 1: Set the following configuration in DUT0 :

set interfaces ethernet eth0 address 192.168.100.1/24
set interfaces ethernet eth0 traffic control in NETEM
set interfaces ethernet eth0 traffic control out HTB
set service snmp community TEST
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
set traffic control HTB type htb bandwidth 2.5
set traffic control HTB type htb class 1 bandwidth percentage 100
set traffic control HTB type htb default-class 1
set traffic control NETEM type network-emulator packet-loss 0.5

Step 2: Set the following configuration in DUT1 :

set interfaces ethernet eth0 address 192.168.100.2/24
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 3: Ping IP address 192.168.100.1 from DUT1:

admin@DUT1$ ping 192.168.100.1 count 1 size 56 timeout 1
Show output
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.635 ms

--- 192.168.100.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.635/0.635/0.635/0.000 ms

Step 4: Initiate a bandwidth test from DUT1 to DUT0

admin@DUT0$ monitor test performance server port 5001
admin@DUT1$ monitor test performance client 192.168.100.1 duration 5 port 5001 parallel 1
Expect this output in DUT1:
Connecting to host 192.168.100.1, port 5001
[  5] local 192.168.100.2 port 38112 connected to 192.168.100.1 port 5001
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  17.5 MBytes   146 Mbits/sec   65   21.2 KBytes
[  5]   1.00-2.00   sec  15.8 MBytes   132 Mbits/sec   65   55.1 KBytes
[  5]   2.00-3.00   sec  15.9 MBytes   133 Mbits/sec   62   15.6 KBytes
[  5]   3.00-4.00   sec  16.3 MBytes   137 Mbits/sec   42   26.9 KBytes
[  5]   4.00-5.00   sec  23.2 MBytes   195 Mbits/sec   79   18.4 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-5.00   sec  88.7 MBytes   149 Mbits/sec  313             sender
[  5]   0.00-5.01   sec  88.0 MBytes   147 Mbits/sec                  receiver

iperf Done.

Step 5: Initiate a bandwidth test from DUT0 to DUT1

admin@DUT1$ monitor test performance server port 5001
admin@DUT0$ monitor test performance client 192.168.100.2 duration 5 port 5001 parallel 1
Expect this output in DUT0:
Connecting to host 192.168.100.2, port 5001
[  5] local 192.168.100.1 port 42340 connected to 192.168.100.2 port 5001
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   684 KBytes  5.60 Mbits/sec   35   19.8 KBytes
[  5]   1.00-2.00   sec   382 KBytes  3.13 Mbits/sec   19   8.48 KBytes
[  5]   2.00-3.00   sec   191 KBytes  1.56 Mbits/sec   15   9.90 KBytes
[  5]   3.00-4.00   sec   382 KBytes  3.13 Mbits/sec   15   7.07 KBytes
[  5]   4.00-5.00   sec   191 KBytes  1.56 Mbits/sec   15   8.48 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-5.00   sec  1.79 MBytes  3.00 Mbits/sec   99             sender
[  5]   0.00-5.01   sec  1.46 MBytes  2.45 Mbits/sec                  receiver

iperf Done.

Step 6: Run command service snmp walk local-agent v1 TEST oid "1.3.6.1.4.1.2007.6.3.1" | grep TrafficControl at DUT0 and check if output matches the following regular expressions:

OutKind\.[^=]+ = STRING: htb
OutPackets\.[^=]+ = INTEGER: [1-9]d*
OutBytes\.[^=]+ = INTEGER: [1-9]d*
InKind\.[^=]+ = STRING: netem
InPackets\.[^=]+ = INTEGER: [1-9]d*
InBytes\.[^=]+ = INTEGER: [1-9]d*
OutPps\.[^=]+ = INTEGER: [1-9]d*
OutDrops\.[^=]+ = INTEGER: [1-9]d*
OutOverlimits\.[^=]+ = INTEGER: [1-9]d*
InPps\.[^=]+ = INTEGER: [1-9]d*
InDrops\.[^=]+ = INTEGER: [1-9]d*
InOverlimits\.[^=]+ = INTEGER: 0
Show output
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetTrafficControlOutPackets."eth0" = INTEGER: 11112
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetTrafficControlOutPps."eth0" = INTEGER: 558
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetTrafficControlOutBytes."eth0" = INTEGER: 2291689
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetTrafficControlOutDrops."eth0" = INTEGER: 27
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetTrafficControlOutKind."eth0" = STRING: htb
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetTrafficControlOutBps."eth0" = INTEGER: 183953
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetTrafficControlOutOverlimits."eth0" = INTEGER: 611
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetTrafficControlInPackets."eth0" = INTEGER: 64378
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetTrafficControlInPps."eth0" = INTEGER: 3056
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetTrafficControlInBytes."eth0" = INTEGER: 96520021
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetTrafficControlInDrops."eth0" = INTEGER: 316
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetTrafficControlInKind."eth0" = STRING: netem
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetTrafficControlInBps."eth0" = INTEGER: 4541266
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetTrafficControlInOverlimits."eth0" = INTEGER: 0

Test Traffic Control OIDs On Ethernet VIF-S Interface

Description

In this scenario, traffic control disciplines are attached to a VLAN-aware Ethernet interface.

Scenario

Step 1: Set the following configuration in DUT0 :

set interfaces ethernet eth0 vif 100 address 192.168.100.1/24
set interfaces ethernet eth0 vif 100 traffic control in NETEM
set interfaces ethernet eth0 vif 100 traffic control out HTB
set service snmp community TEST
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
set traffic control HTB type htb bandwidth 2.5
set traffic control HTB type htb class 1 bandwidth percentage 100
set traffic control HTB type htb default-class 1
set traffic control NETEM type network-emulator packet-loss 0.5

Step 2: Set the following configuration in DUT1 :

set interfaces ethernet eth0 vif 100 address 192.168.100.2/24
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 3: Ping IP address 192.168.100.1 from DUT1:

admin@DUT1$ ping 192.168.100.1 count 1 size 56 timeout 1
Show output
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.530 ms

--- 192.168.100.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.530/0.530/0.530/0.000 ms

Step 4: Initiate a bandwidth test from DUT1 to DUT0

admin@DUT0$ monitor test performance server port 5001
admin@DUT1$ monitor test performance client 192.168.100.1 duration 5 port 5001 parallel 1
Expect this output in DUT1:
Connecting to host 192.168.100.1, port 5001
[  5] local 192.168.100.2 port 54400 connected to 192.168.100.1 port 5001
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.01   sec  28.2 MBytes   235 Mbits/sec   97   35.4 KBytes
[  5]   1.01-2.00   sec  21.1 MBytes   178 Mbits/sec   78   17.0 KBytes
[  5]   2.00-3.00   sec  21.6 MBytes   181 Mbits/sec   90   21.2 KBytes
[  5]   3.00-4.00   sec  24.4 MBytes   204 Mbits/sec   74   19.8 KBytes
[  5]   4.00-5.00   sec  24.7 MBytes   207 Mbits/sec  100   22.6 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-5.00   sec   120 MBytes   201 Mbits/sec  439             sender
[  5]   0.00-5.00   sec   119 MBytes   200 Mbits/sec                  receiver

iperf Done.

Step 5: Initiate a bandwidth test from DUT0 to DUT1

admin@DUT1$ monitor test performance server port 5001
admin@DUT0$ monitor test performance client 192.168.100.2 duration 5 port 5001 parallel 1
Expect this output in DUT0:
Connecting to host 192.168.100.2, port 5001
[  5] local 192.168.100.1 port 56634 connected to 192.168.100.2 port 5001
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   581 KBytes  4.76 Mbits/sec   20   14.1 KBytes
[  5]   1.00-2.00   sec   382 KBytes  3.13 Mbits/sec   17   5.66 KBytes
[  5]   2.00-3.00   sec   255 KBytes  2.09 Mbits/sec   13   8.48 KBytes
[  5]   3.00-4.00   sec   255 KBytes  2.09 Mbits/sec   18   7.07 KBytes
[  5]   4.00-5.00   sec   255 KBytes  2.09 Mbits/sec   15   7.07 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-5.00   sec  1.69 MBytes  2.83 Mbits/sec   83             sender
[  5]   0.00-5.21   sec  1.52 MBytes  2.44 Mbits/sec                  receiver

iperf Done.

Step 6: Run command service snmp walk local-agent v1 TEST oid "1.3.6.1.4.1.2007.6.3.1" | grep TrafficControl at DUT0 and check if output matches the following regular expressions:

OutKind\.[^=]+ = STRING: htb
OutPackets\.[^=]+ = INTEGER: [1-9]d*
OutBytes\.[^=]+ = INTEGER: [1-9]d*
InKind\.[^=]+ = STRING: netem
InPackets\.[^=]+ = INTEGER: [1-9]d*
InBytes\.[^=]+ = INTEGER: [1-9]d*
OutPps\.[^=]+ = INTEGER: [1-9]d*
OutDrops\.[^=]+ = INTEGER: [1-9]d*
OutOverlimits\.[^=]+ = INTEGER: [1-9]d*
InPps\.[^=]+ = INTEGER: [1-9]d*
InDrops\.[^=]+ = INTEGER: [1-9]d*
InOverlimits\.[^=]+ = INTEGER: 0
Show output
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetVifTrafficControlOutPackets."eth0"."100" = INTEGER: 13347
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetVifTrafficControlOutPps."eth0"."100" = INTEGER: 638
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetVifTrafficControlOutBytes."eth0"."100" = INTEGER: 2501082
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetVifTrafficControlOutDrops."eth0"."100" = INTEGER: 29
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetVifTrafficControlOutKind."eth0"."100" = STRING: htb
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetVifTrafficControlOutBps."eth0"."100" = INTEGER: 190486
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetVifTrafficControlOutOverlimits."eth0"."100" = INTEGER: 511
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetVifTrafficControlInPackets."eth0"."100" = INTEGER: 87061
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetVifTrafficControlInPps."eth0"."100" = INTEGER: 3895
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetVifTrafficControlInBytes."eth0"."100" = INTEGER: 130892362
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetVifTrafficControlInDrops."eth0"."100" = INTEGER: 442
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetVifTrafficControlInKind."eth0"."100" = STRING: netem
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetVifTrafficControlInBps."eth0"."100" = INTEGER: 5815158
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesEthernetVifTrafficControlInOverlimits."eth0"."100" = INTEGER: 0

Test Traffic Control OIDs On Bridge Interface

Description

In this scenario, traffic control disciplines are attached to a Bridge interface.

Scenario

Step 1: Set the following configuration in DUT0 :

set interfaces bridge br0 address 192.168.100.1/24
set interfaces bridge br0 traffic control in NETEM
set interfaces bridge br0 traffic control out HTB
set interfaces ethernet eth0 bridge-group bridge br0
set service snmp community TEST
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
set traffic control HTB type htb bandwidth 2.5
set traffic control HTB type htb class 1 bandwidth percentage 100
set traffic control HTB type htb default-class 1
set traffic control NETEM type network-emulator packet-loss 0.5

Step 2: Set the following configuration in DUT1 :

set interfaces ethernet eth0 address 192.168.100.2/24
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 3: Ping IP address 192.168.100.1 from DUT1:

admin@DUT1$ ping 192.168.100.1 count 1 size 56 timeout 1
Show output
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.680 ms

--- 192.168.100.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.680/0.680/0.680/0.000 ms

Step 4: Initiate a bandwidth test from DUT1 to DUT0

admin@DUT0$ monitor test performance server port 5001
admin@DUT1$ monitor test performance client 192.168.100.1 duration 5 port 5001 parallel 1
Expect this output in DUT1:
Connecting to host 192.168.100.1, port 5001
[  5] local 192.168.100.2 port 52280 connected to 192.168.100.1 port 5001
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  21.5 MBytes   180 Mbits/sec   75   12.7 KBytes
[  5]   1.00-2.00   sec  20.6 MBytes   172 Mbits/sec   70   36.8 KBytes
[  5]   2.00-3.00   sec  21.3 MBytes   179 Mbits/sec   65   21.2 KBytes
[  5]   3.00-4.00   sec  24.0 MBytes   202 Mbits/sec   96   18.4 KBytes
[  5]   4.00-5.00   sec  23.2 MBytes   194 Mbits/sec   78   14.1 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-5.00   sec   111 MBytes   185 Mbits/sec  384             sender
[  5]   0.00-5.01   sec   110 MBytes   184 Mbits/sec                  receiver

iperf Done.

Step 5: Initiate a bandwidth test from DUT0 to DUT1

admin@DUT1$ monitor test performance server port 5001
admin@DUT0$ monitor test performance client 192.168.100.2 duration 5 port 5001 parallel 1
Expect this output in DUT0:
Connecting to host 192.168.100.2, port 5001
[  5] local 192.168.100.1 port 51534 connected to 192.168.100.2 port 5001
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   708 KBytes  5.80 Mbits/sec   35   9.90 KBytes
[  5]   1.00-2.00   sec   382 KBytes  3.13 Mbits/sec   10   4.24 KBytes
[  5]   2.00-3.00   sec   191 KBytes  1.56 Mbits/sec   12   4.24 KBytes
[  5]   3.00-4.00   sec   382 KBytes  3.13 Mbits/sec   15   7.07 KBytes
[  5]   4.00-5.00   sec   191 KBytes  1.56 Mbits/sec   18   7.07 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-5.00   sec  1.81 MBytes  3.04 Mbits/sec   90             sender
[  5]   0.00-5.00   sec  1.46 MBytes  2.45 Mbits/sec                  receiver

iperf Done.

Step 6: Run command service snmp walk local-agent v1 TEST oid "1.3.6.1.4.1.2007.6.3.1" | grep TrafficControl at DUT0 and check if output matches the following regular expressions:

OutKind\.[^=]+ = STRING: htb
OutPackets\.[^=]+ = INTEGER: [1-9]d*
OutBytes\.[^=]+ = INTEGER: [1-9]d*
InKind\.[^=]+ = STRING: netem
InPackets\.[^=]+ = INTEGER: [1-9]d*
InBytes\.[^=]+ = INTEGER: [1-9]d*
OutPps\.[^=]+ = INTEGER: [1-9]d*
OutDrops\.[^=]+ = INTEGER: [1-9]d*
OutOverlimits\.[^=]+ = INTEGER: [1-9]d*
InPps\.[^=]+ = INTEGER: [1-9]d*
InDrops\.[^=]+ = INTEGER: [1-9]d*
InOverlimits\.[^=]+ = INTEGER: 0
Show output
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeTrafficControlOutPackets."br0" = INTEGER: 13970
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeTrafficControlOutPps."br0" = INTEGER: 688
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeTrafficControlOutBytes."br0" = INTEGER: 2480358
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeTrafficControlOutDrops."br0" = INTEGER: 27
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeTrafficControlOutKind."br0" = STRING: htb
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeTrafficControlOutBps."br0" = INTEGER: 191081
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeTrafficControlOutOverlimits."br0" = INTEGER: 519
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeTrafficControlInPackets."br0" = INTEGER: 80369
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeTrafficControlInPps."br0" = INTEGER: 3713
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeTrafficControlInBytes."br0" = INTEGER: 120613838
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeTrafficControlInDrops."br0" = INTEGER: 389
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeTrafficControlInKind."br0" = STRING: netem
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeTrafficControlInBps."br0" = INTEGER: 5527991
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeTrafficControlInOverlimits."br0" = INTEGER: 0

Test Traffic Control OIDs On Bridge VIF-S Interface

Description

In this scenario, traffic control disciplines are attached to a VLAN-aware bridge interface.

Scenario

Step 1: Set the following configuration in DUT0 :

set interfaces bridge br0 vif 100 address 192.168.100.1/24
set interfaces bridge br0 vif 100 traffic control in NETEM
set interfaces bridge br0 vif 100 traffic control out HTB
set interfaces bridge br0 vlan 100
set interfaces ethernet eth0 bridge-group bridge br0
set interfaces ethernet eth0 bridge-group vlan 100
set service snmp community TEST
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
set traffic control HTB type htb bandwidth 2.5
set traffic control HTB type htb class 1 bandwidth percentage 100
set traffic control HTB type htb default-class 1
set traffic control NETEM type network-emulator packet-loss 0.5

Step 2: Set the following configuration in DUT1 :

set interfaces ethernet eth0 vif 100 address 192.168.100.2/24
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 3: Ping IP address 192.168.100.1 from DUT1:

admin@DUT1$ ping 192.168.100.1 count 1 size 56 timeout 1
Show output
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.519 ms

--- 192.168.100.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.519/0.519/0.519/0.000 ms

Step 4: Initiate a bandwidth test from DUT1 to DUT0

admin@DUT0$ monitor test performance server port 5001
admin@DUT1$ monitor test performance client 192.168.100.1 duration 5 port 5001 parallel 1
Expect this output in DUT1:
Connecting to host 192.168.100.1, port 5001
[  5] local 192.168.100.2 port 44024 connected to 192.168.100.1 port 5001
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.01   sec  23.0 MBytes   191 Mbits/sec   83   19.8 KBytes
[  5]   1.01-2.01   sec  27.3 MBytes   229 Mbits/sec   83   21.2 KBytes
[  5]   2.01-3.00   sec  19.6 MBytes   166 Mbits/sec   73   19.8 KBytes
[  5]   3.00-4.00   sec  22.2 MBytes   186 Mbits/sec   80   15.6 KBytes
[  5]   4.00-5.00   sec  25.8 MBytes   217 Mbits/sec   97   15.6 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-5.00   sec   118 MBytes   198 Mbits/sec  416             sender
[  5]   0.00-5.00   sec   117 MBytes   197 Mbits/sec                  receiver

iperf Done.

Step 5: Initiate a bandwidth test from DUT0 to DUT1

admin@DUT1$ monitor test performance server port 5001
admin@DUT0$ monitor test performance client 192.168.100.2 duration 5 port 5001 parallel 1
Expect this output in DUT0:
Connecting to host 192.168.100.2, port 5001
[  5] local 192.168.100.1 port 55336 connected to 192.168.100.2 port 5001
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   488 KBytes  4.00 Mbits/sec   13   9.90 KBytes
[  5]   1.00-2.00   sec   255 KBytes  2.09 Mbits/sec   16   5.66 KBytes
[  5]   2.00-3.00   sec   318 KBytes  2.61 Mbits/sec   12   8.48 KBytes
[  5]   3.00-4.00   sec   318 KBytes  2.61 Mbits/sec   16   8.48 KBytes
[  5]   4.00-5.00   sec   255 KBytes  2.09 Mbits/sec   20   5.66 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-5.00   sec  1.59 MBytes  2.68 Mbits/sec   77             sender
[  5]   0.00-5.02   sec  1.46 MBytes  2.44 Mbits/sec                  receiver

iperf Done.

Step 6: Run command service snmp walk local-agent v1 TEST oid "1.3.6.1.4.1.2007.6.3.1" | grep TrafficControl at DUT0 and check if output matches the following regular expressions:

OutKind\.[^=]+ = STRING: htb
OutPackets\.[^=]+ = INTEGER: [1-9]d*
OutBytes\.[^=]+ = INTEGER: [1-9]d*
InKind\.[^=]+ = STRING: netem
InPackets\.[^=]+ = INTEGER: [1-9]d*
InBytes\.[^=]+ = INTEGER: [1-9]d*
OutPps\.[^=]+ = INTEGER: [1-9]d*
OutDrops\.[^=]+ = INTEGER: [1-9]d*
OutOverlimits\.[^=]+ = INTEGER: [1-9]d*
InPps\.[^=]+ = INTEGER: [1-9]d*
InDrops\.[^=]+ = INTEGER: [1-9]d*
InOverlimits\.[^=]+ = INTEGER: 0
Show output
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeVifTrafficControlOutPackets."br0"."100" = INTEGER: 14834
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeVifTrafficControlOutPps."br0"."100" = INTEGER: 712
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeVifTrafficControlOutBytes."br0"."100" = INTEGER: 2538472
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeVifTrafficControlOutDrops."br0"."100" = INTEGER: 26
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeVifTrafficControlOutKind."br0"."100" = STRING: htb
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeVifTrafficControlOutBps."br0"."100" = INTEGER: 189880
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeVifTrafficControlOutOverlimits."br0"."100" = INTEGER: 509
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeVifTrafficControlInPackets."br0"."100" = INTEGER: 85634
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeVifTrafficControlInPps."br0"."100" = INTEGER: 3867
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeVifTrafficControlInBytes."br0"."100" = INTEGER: 128777735
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeVifTrafficControlInDrops."br0"."100" = INTEGER: 417
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeVifTrafficControlInKind."br0"."100" = STRING: netem
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeVifTrafficControlInBps."br0"."100" = INTEGER: 5777524
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBridgeVifTrafficControlInOverlimits."br0"."100" = INTEGER: 0

Test Traffic Control OIDs On Bonding Interface

Description

In this scenario, traffic control disciplines are attached to a Bonding interface.

Scenario

Step 1: Set the following configuration in DUT0 :

set interfaces bonding bond0 address 192.168.100.1/24
set interfaces bonding bond0 miimon 1
set interfaces bonding bond0 traffic control in NETEM
set interfaces bonding bond0 traffic control out HTB
set interfaces ethernet eth0 bond-group bond0
set interfaces ethernet eth1 bond-group bond0
set service snmp community TEST
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
set traffic control HTB type htb bandwidth 2.5
set traffic control HTB type htb class 1 bandwidth percentage 100
set traffic control HTB type htb default-class 1
set traffic control NETEM type network-emulator packet-loss 0.5

Step 2: Set the following configuration in DUT1 :

set interfaces ethernet eth0 address 192.168.100.2/24
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 3: Ping IP address 192.168.100.1 from DUT1:

admin@DUT1$ ping 192.168.100.1 count 1 size 56 timeout 1
Show output
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.480 ms

--- 192.168.100.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.480/0.480/0.480/0.000 ms

Step 4: Initiate a bandwidth test from DUT1 to DUT0

admin@DUT0$ monitor test performance server port 5001
admin@DUT1$ monitor test performance client 192.168.100.1 duration 5 port 5001 parallel 1
Expect this output in DUT1:
Connecting to host 192.168.100.1, port 5001
[  5] local 192.168.100.2 port 48028 connected to 192.168.100.1 port 5001
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.01   sec  26.0 MBytes   216 Mbits/sec   87   21.2 KBytes
[  5]   1.01-2.00   sec  24.9 MBytes   210 Mbits/sec   86   21.2 KBytes
[  5]   2.00-3.00   sec  21.7 MBytes   182 Mbits/sec   83   15.6 KBytes
[  5]   3.00-4.00   sec  19.9 MBytes   167 Mbits/sec   75   24.0 KBytes
[  5]   4.00-5.00   sec  25.9 MBytes   217 Mbits/sec   92   17.0 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-5.00   sec   118 MBytes   199 Mbits/sec  423             sender
[  5]   0.00-5.00   sec   117 MBytes   197 Mbits/sec                  receiver

iperf Done.

Step 5: Initiate a bandwidth test from DUT0 to DUT1

admin@DUT1$ monitor test performance server port 5001
admin@DUT0$ monitor test performance client 192.168.100.2 duration 5 port 5001 parallel 1
Expect this output in DUT0:
Connecting to host 192.168.100.2, port 5001
[  5] local 192.168.100.1 port 46982 connected to 192.168.100.2 port 5001
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   612 KBytes  5.01 Mbits/sec   17   17.0 KBytes
[  5]   1.00-2.00   sec   255 KBytes  2.09 Mbits/sec   18   8.48 KBytes
[  5]   2.00-3.00   sec   382 KBytes  3.13 Mbits/sec   18   7.07 KBytes
[  5]   3.00-4.00   sec   255 KBytes  2.08 Mbits/sec   15   9.90 KBytes
[  5]   4.00-5.00   sec   255 KBytes  2.08 Mbits/sec   16   7.07 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-5.00   sec  1.72 MBytes  2.88 Mbits/sec   84             sender
[  5]   0.00-5.00   sec  1.46 MBytes  2.45 Mbits/sec                  receiver

iperf Done.

Step 6: Run command service snmp walk local-agent v1 TEST oid "1.3.6.1.4.1.2007.6.3.1" | grep TrafficControl at DUT0 and check if output matches the following regular expressions:

OutKind\.[^=]+ = STRING: htb
OutPackets\.[^=]+ = INTEGER: [1-9]d*
OutBytes\.[^=]+ = INTEGER: [1-9]d*
InKind\.[^=]+ = STRING: netem
InPackets\.[^=]+ = INTEGER: [1-9]d*
InBytes\.[^=]+ = INTEGER: [1-9]d*
OutPps\.[^=]+ = INTEGER: [1-9]d*
OutDrops\.[^=]+ = INTEGER: [1-9]d*
OutOverlimits\.[^=]+ = INTEGER: [1-9]d*
InPps\.[^=]+ = INTEGER: [1-9]d*
InDrops\.[^=]+ = INTEGER: [1-9]d*
InOverlimits\.[^=]+ = INTEGER: 0
Show output
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBondingTrafficControlOutPackets."bond0" = INTEGER: 14267
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBondingTrafficControlOutPps."bond0" = INTEGER: 728
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBondingTrafficControlOutBytes."bond0" = INTEGER: 2501834
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBondingTrafficControlOutDrops."bond0" = INTEGER: 25
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBondingTrafficControlOutKind."bond0" = STRING: htb
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBondingTrafficControlOutBps."bond0" = INTEGER: 185340
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBondingTrafficControlOutOverlimits."bond0" = INTEGER: 467
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBondingTrafficControlInPackets."bond0" = INTEGER: 85580
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBondingTrafficControlInPps."bond0" = INTEGER: 4248
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBondingTrafficControlInBytes."bond0" = INTEGER: 128642955
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBondingTrafficControlInDrops."bond0" = INTEGER: 427
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBondingTrafficControlInKind."bond0" = STRING: netem
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBondingTrafficControlInBps."bond0" = INTEGER: 6352217
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesBondingTrafficControlInOverlimits."bond0" = INTEGER: 0

Test Traffic Control OIDs On Tunnel Interface

Description

In this scenario, traffic control disciplines are attached to a Tunnel interface.

Scenario

Step 1: Set the following configuration in DUT0 :

set interfaces ethernet eth0 address 192.168.100.1/24
set interfaces tunnel tun0 address 10.0.0.1/24
set interfaces tunnel tun0 encapsulation gre
set interfaces tunnel tun0 local-address 192.168.100.1
set interfaces tunnel tun0 remote-address 192.168.100.2
set interfaces tunnel tun0 traffic control in NETEM
set interfaces tunnel tun0 traffic control out HTB
set service snmp community TEST
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
set traffic control HTB type htb bandwidth 2.5
set traffic control HTB type htb class 1 bandwidth percentage 100
set traffic control HTB type htb default-class 1
set traffic control NETEM type network-emulator packet-loss 0.5

Step 2: Set the following configuration in DUT1 :

set interfaces ethernet eth0 address 192.168.100.2/24
set interfaces tunnel tun0 address 10.0.0.2/24
set interfaces tunnel tun0 encapsulation gre
set interfaces tunnel tun0 local-address 192.168.100.2
set interfaces tunnel tun0 remote-address 192.168.100.1
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 3: Ping IP address 10.0.0.1 from DUT1:

admin@DUT1$ ping 10.0.0.1 count 1 size 56 timeout 1
Show output
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.604 ms

--- 10.0.0.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.604/0.604/0.604/0.000 ms

Step 4: Initiate a bandwidth test from DUT1 to DUT0

admin@DUT0$ monitor test performance server port 5001
admin@DUT1$ monitor test performance client 10.0.0.1 duration 5 port 5001 parallel 1
Expect this output in DUT1:
Connecting to host 10.0.0.1, port 5001
[  5] local 10.0.0.2 port 51728 connected to 10.0.0.1 port 5001
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  48.9 MBytes   411 Mbits/sec  158    153 KBytes
[  5]   1.00-2.00   sec  20.0 MBytes   168 Mbits/sec   97    110 KBytes
[  5]   2.00-3.00   sec  13.5 MBytes   113 Mbits/sec  159   22.2 KBytes
[  5]   3.00-4.00   sec  23.8 MBytes   200 Mbits/sec   52   75.1 KBytes
[  5]   4.00-5.00   sec  32.4 MBytes   272 Mbits/sec  105    108 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-5.00   sec   139 MBytes   233 Mbits/sec  571             sender
[  5]   0.00-5.01   sec   138 MBytes   230 Mbits/sec                  receiver

iperf Done.

Step 5: Initiate a bandwidth test from DUT0 to DUT1

admin@DUT1$ monitor test performance server port 5001
admin@DUT0$ monitor test performance client 10.0.0.2 duration 5 port 5001 parallel 1
Expect this output in DUT0:
Connecting to host 10.0.0.2, port 5001
[  5] local 10.0.0.1 port 58266 connected to 10.0.0.2 port 5001
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   725 KBytes  5.93 Mbits/sec   46   23.6 KBytes
[  5]   1.00-2.00   sec   438 KBytes  3.58 Mbits/sec   22   8.34 KBytes
[  5]   2.00-3.00   sec   188 KBytes  1.54 Mbits/sec   19   9.73 KBytes
[  5]   3.00-4.00   sec   250 KBytes  2.05 Mbits/sec   17   6.95 KBytes
[  5]   4.00-5.00   sec   501 KBytes  4.10 Mbits/sec   16   8.34 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-5.00   sec  2.05 MBytes  3.44 Mbits/sec  120             sender
[  5]   0.00-5.00   sec  1.47 MBytes  2.47 Mbits/sec                  receiver

iperf Done.

Step 6: Run command service snmp walk local-agent v1 TEST oid "1.3.6.1.4.1.2007.6.3.1" | grep TrafficControl at DUT0 and check if output matches the following regular expressions:

OutKind\.[^=]+ = STRING: htb
OutPackets\.[^=]+ = INTEGER: [1-9]d*
OutBytes\.[^=]+ = INTEGER: [1-9]d*
InKind\.[^=]+ = STRING: netem
InPackets\.[^=]+ = INTEGER: [1-9]d*
InBytes\.[^=]+ = INTEGER: [1-9]d*
OutPps\.[^=]+ = INTEGER: [1-9]d*
OutDrops\.[^=]+ = INTEGER: [1-9]d*
OutOverlimits\.[^=]+ = INTEGER: [1-9]d*
InPps\.[^=]+ = INTEGER: [1-9]d*
InDrops\.[^=]+ = INTEGER: [1-9]d*
InOverlimits\.[^=]+ = INTEGER: 0
Show output
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesTunnelTrafficControlOutPackets."tun0" = INTEGER: 6986
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesTunnelTrafficControlOutPps."tun0" = INTEGER: 362
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesTunnelTrafficControlOutBytes."tun0" = INTEGER: 1921232
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesTunnelTrafficControlOutDrops."tun0" = INTEGER: 26
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesTunnelTrafficControlOutKind."tun0" = STRING: htb
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesTunnelTrafficControlOutBps."tun0" = INTEGER: 161436
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesTunnelTrafficControlOutOverlimits."tun0" = INTEGER: 391
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesTunnelTrafficControlInPackets."tun0" = INTEGER: 101746
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesTunnelTrafficControlInPps."tun0" = INTEGER: 4420
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesTunnelTrafficControlInBytes."tun0" = INTEGER: 149631315
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesTunnelTrafficControlInDrops."tun0" = INTEGER: 64
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesTunnelTrafficControlInKind."tun0" = STRING: netem
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesTunnelTrafficControlInBps."tun0" = INTEGER: 6474181
TELDAT-OSDX-MONDB-INTERFACES-MIB::telOSDxMonDBInterfacesTunnelTrafficControlInOverlimits."tun0" = INTEGER: 0