Static

These scenarios cover some aspects related to link-aggregation (combining multiple network connections simultaneously to increase throughput, provide redundancy, or both). In OSDx, this can be achieved through bonding interfaces.

../../../../../_images/topology.svg

Test Static Adaptive Load Balance

Description

A bonding interface is configured in DUT0 using the adaptive load balance in static mode. This mode can be used to achieve load-balancing in transmission and reception. In this scenario, transmission load balancing is performed using a hash policy.

Scenario

Example 1

Step 1: Set the following configuration in DUT0 :

set interfaces bonding bond0 address 192.168.100.10/24
set interfaces bonding bond0 disable-dynamic-lb
set interfaces bonding bond0 hash-policy layer3+4
set interfaces bonding bond0 miimon 100
set interfaces bonding bond0 mode adaptive-load-balance
set interfaces ethernet eth0p0 bond-group bond0
set interfaces ethernet eth0p1 bond-group bond0
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 2: Set the following configuration in DUT1 :

set interfaces bridge br0 address 192.168.100.20/24
set interfaces bridge br0 stp version rstp
set interfaces ethernet eth2 bridge-group bridge br0
set interfaces ethernet eth3 bridge-group bridge br0
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 3: Run command interfaces bonding show at DUT0 and check if output matches the following regular expressions:

bond0\s+192.168.100\.10\/24\s+up\s+up
Show output
---------------------------------------------------------------
Name          IP Address          Admin  Oper  Vrf  Description
---------------------------------------------------------------
bond0  192.168.100.10/24          up     up
       fe80::2a0:26ff:fe16:15/64

Step 4: Run command interfaces bonding bond0 show ports at DUT0 and check if output contains the following tokens:

Bonding Mode: adaptive load balancing
Show output
Ethernet Channel Bonding Driver: v6.12.20

Bonding Mode: adaptive load balancing
Transmit Hash Policy: layer3+4 (1)
Primary Slave: None
Currently Active Slave: eth0p0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0

Slave Interface: eth0p0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:a0:26:16:00:15
Slave queue ID: 0

Slave Interface: eth0p1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 02:a0:26:16:00:15
Slave queue ID: 0

Step 5: Ping IP address 192.168.100.20 from DUT0:

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

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

Step 6: Run command interfaces bonding bond0 show ports at DUT0 and check if output contains the following tokens:

Transmit Hash Policy: layer3+4 (1)
Show output
Ethernet Channel Bonding Driver: v6.12.20

Bonding Mode: adaptive load balancing
Transmit Hash Policy: layer3+4 (1)
Primary Slave: None
Currently Active Slave: eth0p0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0

Slave Interface: eth0p0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:a0:26:16:00:15
Slave queue ID: 0

Slave Interface: eth0p1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 02:a0:26:16:00:15
Slave queue ID: 0

Step 7: Run command interfaces ethernet clear at DUT0.

Step 8: 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.20 duration 5 port 5001 parallel 10
Expect this output in DUT0:
Connecting to host 192.168.100.20, port 5001
[  5] local 192.168.100.10 port 42952 connected to 192.168.100.20 port 5001
[  7] local 192.168.100.10 port 42968 connected to 192.168.100.20 port 5001
[  9] local 192.168.100.10 port 42972 connected to 192.168.100.20 port 5001
[ 11] local 192.168.100.10 port 42978 connected to 192.168.100.20 port 5001
[ 13] local 192.168.100.10 port 42980 connected to 192.168.100.20 port 5001
[ 15] local 192.168.100.10 port 42982 connected to 192.168.100.20 port 5001
[ 17] local 192.168.100.10 port 42992 connected to 192.168.100.20 port 5001
[ 19] local 192.168.100.10 port 43006 connected to 192.168.100.20 port 5001
[ 21] local 192.168.100.10 port 43012 connected to 192.168.100.20 port 5001
[ 23] local 192.168.100.10 port 43014 connected to 192.168.100.20 port 5001
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  31.0 MBytes   260 Mbits/sec    7    222 KBytes
[  7]   0.00-1.00   sec  15.9 MBytes   134 Mbits/sec   22    116 KBytes
[  9]   0.00-1.00   sec  10.6 MBytes  89.2 Mbits/sec   12   74.9 KBytes
[ 11]   0.00-1.00   sec  9.94 MBytes  83.4 Mbits/sec    8   74.9 KBytes
[ 13]   0.00-1.00   sec  8.20 MBytes  68.8 Mbits/sec    8   86.3 KBytes
[ 15]   0.00-1.00   sec  7.35 MBytes  61.6 Mbits/sec   11   79.2 KBytes
[ 17]   0.00-1.00   sec  12.4 MBytes   104 Mbits/sec   18   48.1 KBytes
[ 19]   0.00-1.00   sec  6.99 MBytes  58.7 Mbits/sec   19   65.0 KBytes
[ 21]   0.00-1.00   sec  7.15 MBytes  59.9 Mbits/sec   27   67.9 KBytes
[ 23]   0.00-1.00   sec  8.04 MBytes  67.4 Mbits/sec    9   82.0 KBytes
[SUM]   0.00-1.00   sec   118 MBytes   986 Mbits/sec  141
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   1.00-2.00   sec  15.7 MBytes   131 Mbits/sec   16    105 KBytes
[  7]   1.00-2.00   sec  13.4 MBytes   113 Mbits/sec    4    129 KBytes
[  9]   1.00-2.00   sec  9.13 MBytes  76.6 Mbits/sec   17   83.4 KBytes
[ 11]   1.00-2.00   sec  6.77 MBytes  56.8 Mbits/sec   25   38.2 KBytes
[ 13]   1.00-2.00   sec  14.7 MBytes   124 Mbits/sec    3    137 KBytes
[ 15]   1.00-2.00   sec  13.5 MBytes   113 Mbits/sec   10   89.1 KBytes
[ 17]   1.00-2.00   sec  7.77 MBytes  65.2 Mbits/sec   12   67.9 KBytes
[ 19]   1.00-2.00   sec  4.85 MBytes  40.7 Mbits/sec   25   32.5 KBytes
[ 21]   1.00-2.00   sec  11.9 MBytes  99.6 Mbits/sec    3    127 KBytes
[ 23]   1.00-2.00   sec  15.6 MBytes   131 Mbits/sec    4    120 KBytes
[SUM]   1.00-2.00   sec   113 MBytes   950 Mbits/sec  119
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   2.00-3.00   sec  13.9 MBytes   116 Mbits/sec    6    160 KBytes
[  7]   2.00-3.00   sec  14.9 MBytes   125 Mbits/sec    7    126 KBytes
[  9]   2.00-3.00   sec  13.1 MBytes   110 Mbits/sec    8    130 KBytes
[ 11]   2.00-3.00   sec  7.46 MBytes  62.6 Mbits/sec   15   76.4 KBytes
[ 13]   2.00-3.00   sec  12.8 MBytes   107 Mbits/sec   14   70.7 KBytes
[ 15]   2.00-3.00   sec  7.46 MBytes  62.6 Mbits/sec   17   55.1 KBytes
[ 17]   2.00-3.00   sec  12.2 MBytes   102 Mbits/sec    3    113 KBytes
[ 19]   2.00-3.00   sec  5.84 MBytes  49.0 Mbits/sec    8   70.7 KBytes
[ 21]   2.00-3.00   sec  10.9 MBytes  91.2 Mbits/sec   14   79.2 KBytes
[ 23]   2.00-3.00   sec  12.1 MBytes   102 Mbits/sec   12   59.4 KBytes
[SUM]   2.00-3.00   sec   111 MBytes   928 Mbits/sec  104
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   3.00-4.00   sec  13.8 MBytes   116 Mbits/sec   23    120 KBytes
[  7]   3.00-4.00   sec  12.8 MBytes   107 Mbits/sec    8    102 KBytes
[  9]   3.00-4.00   sec  16.0 MBytes   134 Mbits/sec    3   87.7 KBytes
[ 11]   3.00-4.00   sec  12.7 MBytes   106 Mbits/sec    6    132 KBytes
[ 13]   3.00-4.00   sec  8.51 MBytes  71.4 Mbits/sec   25   53.7 KBytes
[ 15]   3.00-4.00   sec  7.77 MBytes  65.2 Mbits/sec   18   53.7 KBytes
[ 17]   3.00-4.00   sec  11.6 MBytes  97.0 Mbits/sec    5   91.9 KBytes
[ 19]   3.00-4.00   sec  11.2 MBytes  93.8 Mbits/sec   18   89.1 KBytes
[ 21]   3.00-4.00   sec  10.9 MBytes  91.7 Mbits/sec   13   73.5 KBytes
[ 23]   3.00-4.00   sec  7.46 MBytes  62.6 Mbits/sec    3   94.7 KBytes
[SUM]   3.00-4.00   sec   113 MBytes   946 Mbits/sec  122
- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   4.00-5.00   sec  14.4 MBytes   121 Mbits/sec   14    127 KBytes
[  7]   4.00-5.00   sec  7.08 MBytes  59.4 Mbits/sec   17   72.1 KBytes
[  9]   4.00-5.00   sec  9.07 MBytes  76.1 Mbits/sec   28   42.4 KBytes
[ 11]   4.00-5.00   sec  21.5 MBytes   180 Mbits/sec    7    160 KBytes
[ 13]   4.00-5.00   sec  7.83 MBytes  65.7 Mbits/sec   12   80.6 KBytes
[ 15]   4.00-5.00   sec  8.14 MBytes  68.3 Mbits/sec   11   96.2 KBytes
[ 17]   4.00-5.00   sec  9.07 MBytes  76.1 Mbits/sec   13   65.0 KBytes
[ 19]   4.00-5.00   sec  10.8 MBytes  90.7 Mbits/sec   18   79.2 KBytes
[ 21]   4.00-5.00   sec  11.8 MBytes  99.0 Mbits/sec    4   94.7 KBytes
[ 23]   4.00-5.00   sec  12.0 MBytes   101 Mbits/sec   16   82.0 KBytes
[SUM]   4.00-5.00   sec   112 MBytes   937 Mbits/sec  140
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-5.00   sec  88.7 MBytes   149 Mbits/sec   66             sender
[  5]   0.00-5.01   sec  86.9 MBytes   146 Mbits/sec                  receiver
[  7]   0.00-5.00   sec  64.2 MBytes   108 Mbits/sec   58             sender
[  7]   0.00-5.01   sec  63.4 MBytes   106 Mbits/sec                  receiver
[  9]   0.00-5.00   sec  58.0 MBytes  97.3 Mbits/sec   68             sender
[  9]   0.00-5.01   sec  57.4 MBytes  96.1 Mbits/sec                  receiver
[ 11]   0.00-5.00   sec  58.4 MBytes  97.9 Mbits/sec   61             sender
[ 11]   0.00-5.01   sec  57.3 MBytes  96.0 Mbits/sec                  receiver
[ 13]   0.00-5.00   sec  52.1 MBytes  87.4 Mbits/sec   62             sender
[ 13]   0.00-5.01   sec  51.5 MBytes  86.2 Mbits/sec                  receiver
[ 15]   0.00-5.00   sec  44.2 MBytes  74.1 Mbits/sec   67             sender
[ 15]   0.00-5.01   sec  43.6 MBytes  73.1 Mbits/sec                  receiver
[ 17]   0.00-5.00   sec  53.0 MBytes  88.9 Mbits/sec   51             sender
[ 17]   0.00-5.01   sec  52.5 MBytes  87.9 Mbits/sec                  receiver
[ 19]   0.00-5.00   sec  39.7 MBytes  66.6 Mbits/sec   88             sender
[ 19]   0.00-5.01   sec  39.3 MBytes  65.8 Mbits/sec                  receiver
[ 21]   0.00-5.00   sec  52.6 MBytes  88.3 Mbits/sec   61             sender
[ 21]   0.00-5.01   sec  52.0 MBytes  87.2 Mbits/sec                  receiver
[ 23]   0.00-5.00   sec  55.2 MBytes  92.6 Mbits/sec   44             sender
[ 23]   0.00-5.01   sec  54.5 MBytes  91.2 Mbits/sec                  receiver
[SUM]   0.00-5.00   sec   566 MBytes   949 Mbits/sec  626             sender
[SUM]   0.00-5.01   sec   558 MBytes   935 Mbits/sec                  receiver

iperf Done.

Step 9: Run command interfaces ethernet show counters at DUT0 and check if output matches the following regular expressions:

eth0p0 \s+up\s+\d+\s+\d+\s+0\s+\d{4,}
eth0p1 \s+up\s+\d+\s+\d+\s+0\s+\d{4,}
Show output
-------------------------------------------------------------------------------
 Name   Oper  Rx Packets  Rx Bytes  Rx Errors  Tx Packets  Tx Bytes   Tx Errors
-------------------------------------------------------------------------------
eth0p0  up        129356   8562643          0      139797  211606450          0
eth0p1  up             2       608          0      265807  402391494          0
eth0p2  down           0         0          0           0          0          0
eth0p3  down           0         0          0           0          0          0
eth0p4  down           0         0          0           0          0          0
eth0p5  down           0         0          0           0          0          0
eth0p6  down           0         0          0           0          0          0
eth0p7  down           0         0          0           0          0          0
  eth1  down           0         0          0           0          0          0
  eth2  down           0         0          0           0          0          0