Dynamic

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 using bonding interfaces.

../../../../../_images/topologytransmit.svg

Test Dynamic Transmit Load Balance

Description

A bonding interface is configured in DUT0 using the transmit load balance in dynamic mode. This mode can be used to achieve load-balancing in transmission.

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 miimon 100
set interfaces bonding bond0 mode transmit-load-balance
set interfaces ethernet eth0p0 bond-group bond0
set interfaces ethernet eth0p1 address 192.168.200.10/24
set interfaces ethernet eth1 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 eth0 bridge-group bridge br0
set interfaces ethernet eth2 bridge-group bridge br0
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 3: Set the following configuration in DUT2 :

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

Step 4: 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:16/64

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

Bonding Mode: transmit load balancing
Show output
Ethernet Channel Bonding Driver: v6.1.55

Bonding Mode: transmit load balancing
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: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:a0:26:16:00:16
Slave queue ID: 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

Step 6: 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.629 ms

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

Step 7: Ping IP address 192.168.100.30 from DUT0:

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

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

Note

It is now important to generate two parallel traffic streams from the Test Center to DUT1 and DUT2 via DUT0.

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

eth1 \s+up\s+\d+\s+\d+\s+0\s+\d{4,}
eth0p0 \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        397183   26318840          0      521365  789310297          0
eth0p1  up        100002  103200608          0           0          0          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  up             0          0          0      643586  926107203          0
  eth2  down           0          0          0           0          0          0

Example 2

Step 1: Set the following configuration in DUT0 :

set interfaces bonding bond0 address 192.168.100.10/24
set interfaces bonding bond0 miimon 100
set interfaces bonding bond0 mode transmit-load-balance
set interfaces ethernet eth0p0 bond-group bond0
set interfaces ethernet eth0p1 bond-group bond0
set interfaces ethernet eth2 address 192.168.200.10/24
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: Set the following configuration in DUT2 :

set interfaces bridge br0 address 192.168.100.30/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 4: 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::a0:26ff:fe16:15/64

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

Bonding Mode: transmit load balancing
Show output
Ethernet Channel Bonding Driver: v6.1.55

Bonding Mode: transmit load balancing
Primary Slave: None
Currently Active Slave: eth0p1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 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

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

Step 6: 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.574 ms

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

Step 7: Ping IP address 192.168.100.30 from DUT0:

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

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

Note

It is now important to generate two parallel traffic streams from the Test Center to DUT1 and DUT2 via DUT0.

Step 8: 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            13       1898          0      762573  1106259033          0
eth0p1  up        468550   31032364          0      399555   604894325          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  up        100000  103200000          0           0           0          0