8.5.15. Creation of SEAs with Load Sharing
To demonstrate the generation of SEAs with load sharing, the following trunking adapters were created on the two virtual I/O servers ms05-vio1 and ms05-vio2:
$ lpar lseth ms05-vio*
LPAR_NAME SLOT REQ STATE TRUNK IEEE QOS MAC_ADDR PVID VSWITCH ADDL_VLAN_IDS
…
ms05-vio1 70 No 1 - 0 none A1B58A075A46 1 ETHCTRL -
ms05-vio1 71 No 1 1 1 none A1B58A075A47 1 ETHTEST3 11,12,13
ms05-vio1 72 No 1 1 1 none A1B58A075A48 2 ETHTEST3 14,15
ms05-vio1 73 No 1 1 1 none A1B58A075A49 3 ETHTEST3 17,18,19
ms05-vio1 74 No 1 1 1 none A1B58A075A4A 4 ETHTEST3 20,21,22
ms05-vio1 75 No 1 1 1 none A1B58A075A4B 5 ETHTEST3 23
…
ms05-vio2 70 No 1 - 0 none A1B58A070346 1 ETHCTRL -
ms05-vio2 71 No 1 2 1 none A1B58A070347 1 ETHTEST3 11,12,13
ms05-vio2 72 No 1 2 1 none A1B58A070348 2 ETHTEST3 14,15
ms05-vio2 73 No 1 2 1 none A1B58A070349 3 ETHTEST3 17,18,19
ms05-vio2 74 No 1 2 1 none A1B58A07034A 4 ETHTEST3 20,21,22
ms05-vio2 75 No 1 2 1 none A1B58A07034B 5 ETHTEST3 23
…
$
We have created 5 trunking adapters (slot 71 to 75) and a control channel (slot 70). The trunking adapters of virtual I/O server ms05-vio1 again have the higher trunking priority 1. We used the existing virtual switch ETHTEST3 as the virtual switch.
We start again with the primary SEA on ms05-vio1 and first display the candidates for a new SEA:
$ vios lssea -c ms05-vio1
NAME STATUS PHYSLOC PARENT DESCRIPTION
ent3 Available U78AA.001.VYRGU0Q-P1-C7-T4 pci1 4-Port Gigabit Ethernet PCI-Express Adapter (e414571614102004)
ent2 Available U78AA.001.VYRGU0Q-P1-C7-T3 pci1 4-Port Gigabit Ethernet PCI-Express Adapter (e414571614102004)
ent39 Available U8205.E6C.05E4E5Q-V1-C70-T1 vio0 Virtual I/O Ethernet Adapter (l-lan)
ent41 Available U8205.E6C.05E4E5Q-V1-C71-T1 vio0 Virtual I/O Ethernet Adapter (l-lan)
ent42 Available U8205.E6C.05E4E5Q-V1-C72-T1 vio0 Virtual I/O Ethernet Adapter (l-lan)
ent43 Available U8205.E6C.05E4E5Q-V1-C73-T1 vio0 Virtual I/O Ethernet Adapter (l-lan)
ent44 Available U8205.E6C.05E4E5Q-V1-C74-T1 vio0 Virtual I/O Ethernet Adapter (l-lan)
ent45 Available U8205.E6C.05E4E5Q-V1-C75-T1 vio0 Virtual I/O Ethernet Adapter (l-lan)
$
The creation of the SEA works as usual with the command “vios mksea“, whereby the value sharing for load sharing must be specified for the ha_mode attribute:
$ vios mksea ms05-vio1 ent3 ent41 ent42 ent43 ent44 ent45 ha_mode=sharing ctl_chan=ent39 jumbo_frames=yes
SEA ent46 created
$
The newly created SEA is still in the primary state because the second SEA has not yet been created:
$ vios lssea ms05-vio1 ent46
TIMES TIMES TIMES BRIDGE
NAME HA_MODE PRIORITY STATE PRIMARY BACKUP FLIPFLOP MODE
ent46 Sharing 1 PRIMARY 1 0 0 All
$
The column HA_MODE shows that the SEA is configured for load sharing. The last column, BRIDGE_MODE, is also interesting: the value All indicates that the SEA is currently responsible for forwarding using all its trunking adapters, and thus for all supported VLANs. This is also confirmed by the output of “vios lssea -V“:
$ vios lssea -V ms05-vio1 ent46
SEA LNAGG NAME TYPE VSWITCH MODE ACTIVE PRIORITY PVID VLAN_TAG_IDS
ent46 - ent3 real - - - - - -
ent46 - ent45 virtual ETHTEST3 VEB True 1 5 23
ent46 - ent44 virtual ETHTEST3 VEB True 1 4 20,21,22
ent46 - ent43 virtual ETHTEST3 VEB True 1 3 17,18,19
ent46 - ent42 virtual ETHTEST3 VEB True 1 2 14,15
ent46 - ent41 virtual ETHTEST3 VEB True 1 1 11,12,13
ent46 - ent39 control ETHCTRL - - - 1 None
$
Next we list the potential candidates for a SEA on the second virtual I/O server ms05-vio2:
$ vios lssea -c ms05-vio2
NAME STATUS PHYSLOC PARENT DESCRIPTION
ent3 Available U78AA.001.VYRGU0Q-P1-C6-T2 pci3 4-Port Gigabit Ethernet PCI-Express Adapter (e414571614102004)
ent4 Available U78AA.001.VYRGU0Q-P1-C6-T3 pci3 4-Port Gigabit Ethernet PCI-Express Adapter (e414571614102004)
ent5 Available U78AA.001.VYRGU0Q-P1-C6-T4 pci3 4-Port Gigabit Ethernet PCI-Express Adapter (e414571614102004)
ent38 Available U8205.E6C.05E4E5Q-V2-C70-T1 vio0 Virtual I/O Ethernet Adapter (l-lan)
ent39 Available U8205.E6C.05E4E5Q-V2-C71-T1 vio0 Virtual I/O Ethernet Adapter (l-lan)
ent40 Available U8205.E6C.05E4E5Q-V2-C72-T1 vio0 Virtual I/O Ethernet Adapter (l-lan)
ent41 Available U8205.E6C.05E4E5Q-V2-C73-T1 vio0 Virtual I/O Ethernet Adapter (l-lan)
ent42 Available U8205.E6C.05E4E5Q-V2-C74-T1 vio0 Virtual I/O Ethernet Adapter (l-lan)
ent43 Available U8205.E6C.05E4E5Q-V2-C75-T1 vio0 Virtual I/O Ethernet Adapter (l-lan)
$
Using the informations from the above output, the second SEA can be created:
$ vios mksea ms05-vio2 ent5 ent39 ent40 ent41 ent42 ent43 ha_mode=sharing ctl_chan=ent38 jumbo_frames=yes
SEA ent44 created
$
The status of the newly created SEA is BACKUP_SH:
$ vios lssea ms05-vio2 ent44
TIMES TIMES TIMES BRIDGE
NAME HA_MODE PRIORITY STATE PRIMARY BACKUP FLIPFLOP MODE
ent44 Sharing 2 BACKUP_SH 0 1 0 Partial
$
The suffix “_SH” indicates that the adapter is currently in load sharing mode!
The status of the SEA created first, has changed, as the output of “vios lssea” indicates:
$ vios lssea ms05-vio1 ent46
TIMES TIMES TIMES BRIDGE
NAME HA_MODE PRIORITY STATE PRIMARY BACKUP FLIPFLOP MODE
ent46 Sharing 1 PRIMARY_SH 1 0 0 Partial
$
The status (column STATE) has changed from PRIMARY (no load sharing) to PRIMARY_SH (load sharing). The value in the column BRIDGE_MODE has also changed and is now Partial. This means that the SEA is the active SEA for some trunking adapters, but not for other trunking adapters. For which VLANs a SEA is the active SEA, you can see the from the output of “vios lssea -V“:
$ vios lssea -V ms05-vio1 ent46
SEA LNAGG NAME TYPE VSWITCH MODE ACTIVE PRIORITY PVID VLAN_TAG_IDS
ent46 - ent3 real - - - - - -
ent46 - ent45 virtual ETHTEST3 VEB False 1 5 23
ent46 - ent44 virtual ETHTEST3 VEB False 1 4 20,21,22
ent46 - ent43 virtual ETHTEST3 VEB True 1 3 17,18,19
ent46 - ent42 virtual ETHTEST3 VEB True 1 2 14,15
ent46 - ent41 virtual ETHTEST3 VEB True 1 1 11,12,13
ent46 - ent39 control ETHCTRL - - - 1 None
$
The output shows that the trunking adapters ent41, ent42 and ent43 are active (column ACTIVE is True) and trunking adapters ent44 and ent45 are inactive (column ACTIVE is False). Since the number of trunking adapters is uneven, the primary SEA is assigned one more trunking adapter than the backup SEA. For the second SEA, the roles are then exactly reversed:
$ vios lssea -V ms05-vio2 ent44
SEA LNAGG NAME TYPE VSWITCH MODE ACTIVE PRIORITY PVID VLAN_TAG_IDS
ent44 - ent5 real - - - - - -
ent44 - ent43 virtual ETHTEST3 VEB True 2 5 23
ent44 - ent42 virtual ETHTEST3 VEB True 2 4 20,21,22
ent44 - ent41 virtual ETHTEST3 VEB False 2 3 17,18,19
ent44 - ent40 virtual ETHTEST3 VEB False 2 2 14,15
ent44 - ent39 virtual ETHTEST3 VEB False 2 1 11,12,13
ent44 - ent38 control ETHCTRL - - - 1 None
$