8.5.1. SEA without VLAN Tagging
If VLAN tagging is not used (extremely unlikely for most environments), only 2 adapters are required for a SEA, a trunking adapter for connection to the virtual hypervisor switch and a physical adapter for the connection to an external network. The trunking adapter can be IEEE802.1q compatible, but it does not have to be, since VLAN tagging is not used in our example. Any VLAN can be used for the PVID to be specified; the selected VLAN ID is only used within the virtual switch.
As already discussed in the chapter on Virtual Ethernet, each connected external network should use its own virtual switch so that the externally separated networks are not connected together within the managed system. Therefore we first create a new virtual switch with the command “ms addvswitch“:
$ ms addvswitch ms05 ETHTEST1
The new virtual switch ETHTEST1 is not yet aware of any VLANs:
$ ms lsvswitch ms05
NAME VSWITCH SWITCH_MODE VLAN_IDS
ms05 ETHNAS VEB 1,2,13,19
ms05 ETHERNET0(Default) VEB 1,2,100,110,200
ms05 ETHCTRL VEB 1,2
ms05 ETHTEST1 VEB none
A free slot number is needed for the required trunking adapter. We therefore list all the virtual slots used, in order to select a suitable free slot number:
$ lpar lsvslot ms05-vio1
SLOT REQ ADAPTER_TYPE STATE DATA
0 Yes serial/server 1 remote: (any)/any connect_status=unavailable hmc=1
1 Yes serial/server 1 remote: (any)/any connect_status=unavailable hmc=1
10 No eth 1 PVID=100 VLANS= ETHERNET0 A556570DFD0A
20 No eth 1 PVID=1 VLANS= ETHCTRL A556570DFD14
21 No eth 1 TRUNK(1) IEEE PVID=1 VLANS=100,110 ETHERNET0 A556570DFD15
22 No eth 1 TRUNK(1) IEEE PVID=2 VLANS=200 ETHERNET0 A556570DFD16
40 No eth 1 PVID=2 VLANS= ETHCTRL A556570DFD28
41 No eth 1 TRUNK(1) IEEE PVID=1 VLANS=13 ETHNAS A556570DFD29
42 No eth 1 TRUNK(1) IEEE PVID=2 VLANS=19 ETHNAS A556570DFD2A
We decided to use the free slot 51 as the slot number for the trunking adapter. The trunking adapter can be created with the command “lpar addeth” (add virtual ethernet). A trunking priority (1-15) must be specified. In addition, the virtual switch to be used and the slot number for the adapter must be specified. We use VLAN ID 1 as the PVID here:
$ lpar addeth -t 1 -s ETHTEST1 ms05-vio1 51 1
(Note: Specifying a trunking priority makes the virtual Ethernet adapter a trunking adapter!)
The “vios lssea” command offers the option ‘-c‘ (candidates) to list possible candidates for a shared Ethernet adapter. Both candidates for the physical adapter of the SEA and candidates for the trunking adapter of the SEA are listed:
$ 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)
ent1 Available U78AA.001.VYRGU0Q-P1-C7-T2 pci1 4-Port Gigabit Ethernet PCI-Express Adapter (e414571614102004)
ent38 Available U8205.E6C.05E4E5Q-V1-C51-T1 vio0 Virtual I/O Ethernet Adapter (l-lan)
The ‘-c‘ option is very useful on larger systems with a large number of adapters. Only unused adapters are displayed. Adapters that are already in use in other SEAs are not listed.
The trunking adapter that has just been created in slot 51, is the Ethernet adapter ent38. The physical port ent1 is to be used for the newly created SEA. The command to create a SEA is “vios mksea” (make SEA). At least the physical adapter for the SEA, the first argument after the name of the virtual I/O server, and a trunking adapter must be specified:
$ vios mksea ms05-vio1 ent1 ent38
SEA ent39 created
If you want to see all adapters belonging to a SEA (virtual and physical), the option ‘-a‘ (all adapters) of “vios lssea” can be used:
$ vios lssea -a ms05-vio1 ent39
SEA LNAGG NAME TYPE STATUS SPEED VSWITCH MODE PHYSLOC
ent39 - ent1 real Up 1000 Mbps Full Duplex - - U78AA.001.VYRGU0Q-P1-C7-T2
ent39 - ent38 virtual - - ETHTEST1 VEB U8205.E6C.05E4E5Q-V1-C51-T1
The physical adapter ent1 (column TYPE, value real) has the status Up and currently has a speed of 1000 Mbps. The only trunking adapter (column TYPE, value virtual) is connected to the virtual switch ETHTEST1.
The newly created SEA is shown in figure 8.3. The client LPAR in the upper left, forwards an untagged Ethernet frame to the virtual hypervisor switch ETHTEST1 via the virtual Ethernet adapter ent0 of the LPAR (with PVID 1). The hypervisor adds a VLAN header to the frame using the PVID 1 as the VLAN and forwards the frame to the trunking port for VLAN 1. There, the VLAN tag is removed again (since the VLAN ID matches the PVID of the trunking port) and then the frame is forwarded to the SEA ent39 of the virtual I/O server as an untagged Ethernet frame. The SEA in turn forwards the Ethernet frame using its physical adapter ent1 to the connected external network as an untagged frame.
Untagged frames from the external network to an LPAR within the managed system take the reverse route.
Client LPARs must use PVID 1 if they want to exchange data with the outside world, as there is only a trunking port for VLAN 1!