8.5.6. Adding and Removing Trunking Adapter (not HA)

A shared Ethernet adapter can also be expanded to include additional trunking adapters. A maximum of 16 trunking adapters can be used by a single shared Ethernet adapter.

We are going to expand the shared Ethernet adapter ent42, which was already used in the examples above:

$ vios lssea -V ms05-vio1 ent42
SEA    LNAGG  NAME   TYPE     VSWITCH   MODE  ACTIVE  PRIORITY  PVID  VLAN_TAG_IDS
ent42  -      ent2   real     -         -     -       -         -     -
ent42  -      ent41  virtual  ETHTEST2  VEB   True    1         2     200,205,210
ent42  -      ent39  virtual  ETHTEST2  VEB   True    1         1     100,110
$

First, another virtual trunking adapter must be created. Slot 63 has not yet been used (“lpar lsvslot“). The trunking adapters already used by ent42 have trunking priority 1, are connected to the virtual switch ETHTEST2 and are IEEE802.1Q compatible. We use VLAN ID 3 as the PVID for the new trunking adapter, which has not yet been used by the SEA. We configure the VLAN IDs 1020 and 1090 as additional VLANs:

$ lpar addeth -i -t 1 -s ETHTEST2 ms05-vio1 63 3 1020,1090
$

The trunking adapters used by a SEA are stored in the attribute virt_adapters:

$ vios lsattr ms05-vio1 ent42 virt_adapters
value
ent39,ent41
$

The SEA ent42 uses the adapters ent39 and ent41. To add a trunking adapter, simply add the additional adapter to the virt_adapters attribute. The necessary device name of the new trunking adapter can be found out easily using “vios lssea” and the option “-c” (candidates):

$ 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)
ent43  Available  U8205.E6C.05E4E5Q-V1-C63-T1  vio0    Virtual I/O Ethernet Adapter (l-lan)
$

The newly created trunking adapter in slot 63 is obviously ent43. The virt_adapters attribute can be changed with the “vios chdev” command:

$ vios chdev ms05-vio1 ent42 virt_adapters=ent39,ent41,ent43
$

The VLANs of the new trunking adapter are immediately available by the SEA (if the external switch configuration has been adjusted accordingly):

$ vios lssea -V ms05-vio1 ent42
SEA    LNAGG  NAME   TYPE     VSWITCH   MODE  ACTIVE  PRIORITY  PVID  VLAN_TAG_IDS
ent42  -      ent2   real     -         -     -       -         -     -
ent42  -      ent41  virtual  ETHTEST2  VEB   True    1         2     200,205,210
ent42  -      ent39  virtual  ETHTEST2  VEB   True    1         1     100,110
ent42  -      ent43  virtual  ETHTEST2  VEB   True    1         3     1020,1090
$

The SEA ent42 now has 3 trunking adapters, with the VLANs 100, 110, 200, 205, 210, 1020 and 1090.

If a trunking adapter is no longer to be used by the SEA, it can be removed in a similar way. The corresponding adapter only has to be removed from the virt_adapters attribute of the SEA:

$ vios chdev ms05-vio1 ent42 virt_adapters=ent39,ent41
$

The VLANs (1020 and 1090) of the removed trunking adapter are no longer directly supported by the SEA!

Finally, the trunking adapter can be deleted, when it is no longer needed. This can be done using “lpar rmeth“:

$ lpar rmeth ms05-vio1 63
$