AIX VIO Vlan Tagging
id : kvpv7tenk5
category : computer
blog : unixlinux
created : 10/11/11 - 17:19:23

Design
    • 2 VIOS :
      • 2 Shared Ethernet Adapter on each :
      • One using VLAN tagging (VLAN 833,834,835,836).
      • Second not using VLAN tagging (VLAN 832).
    • 3 VIOC :
      • Each on using VLAN 832.
      • Lpar1 using VLAN 833.
      • Lpar2 using VLAN 834.
      • Lpar3 using VLAN 836.


VIOS
Virtual adapter creation
    • Create two virtual adapters (one supporting VLAN tagging) with their control channel adapters :
      • Virtual adapter with VLAN tagging enabled (VLANS 833,834,835,836) :

      • Virtual control channel adapter for first SEA :

      • Virtual adapter without VLAN tagging :

      • Virtual control channel adapter for second SEA :

Ensure VLAN tags are not stripped on the VIOS
  • It is important that the virtual LAN ID added to the packets leaving the client partitions (the default virtual LAN ID number) is not removed on entering the Virtual I/O Server. This is what happens when a default configuration is used (in this scenario, 832).
  • It is for this reason that the default virtual LAN ID on the Virtual I/O Servers virtual must be set to an unused virtual LAN ID (in this scenario, 999).
  • If a packet arrives with this virtual LAN ID (999), the virtual LAN ID tag will be stripped off (untagged) and cannot then be forwarded on to the correct external VLAN. If this was sent through the Shared Ethernet Adapter to the external physical network, it will arrive at the Ethernet switch as untagged. The resulting outcome depends on the settings on the physical Ethernet switch. The packet might be discarded or sent on to a default VLAN, but the chances of it going to
virtual LAN ID 999 are remote unless th network administrator has explicitly set this up (for example, the Ethernet switch port has a default virtual LAN ID of 199).
SEA creation
Create trunked SEA to access VLANS 833,834,835,836 :
    • VIOS1 :
# mkvdev -sea ent0 -vadapter ent5 -default ent5 -defaultid 999 -attr ha_mode=auto ctl_chan=ent4
ent6 available

    • VIOS2 :
# mkvdev -sea ent0 -vadapter ent5 -default ent5 -defaultid 999 -attr ha_mode=auto ctl_chan=ent4 
ent6 available

Create simple SEA to access VLAN 832 :
    • VIOS1 :
# mkvdev -sea ent1 -vadapter ent3 -default ent3 -defaultid 832 -attr ha_mode=auto ctl_chan=ent2
ent7 available

    • VIOS2 :
# mkvdev -sea ent1 -vadapter ent3 -default ent3 -defaultid 832 -attr ha_mode=auto ctl_chan=ent2
ent7 available

SEA VLAN Adatper creation
  • To communicate to the external VLANS (VLANS 833,834,835,836) on VIOS create a VLAN adapter with mkvdev command :
# mkvdev -vlan ent6 -tagid 833
ent8 available

  • Assign an ip address to SEA VLAN adapter with mktcpip command :
# mktcpip -hostname vios1 -interface ent8 -inetadd x.x.x.x -netamask x.x.x.x -gateway x.x.x.x -start

VIOC
Communicate with one VLAN
  • Create two virtual adapter :

      • One on VLAN 833 (using VLAN tagging).

      • One on VLAN 832 (not using VLAN tagging).

Communicate with all VLANS
  • Instead of the first adapter on VLAN 833 create an virtual adapter supporting VLAN tagging :

  • Create VLAN Ethernet Adapter to communicate to the external VLAN Tagged Network :
# smit vlan

      Add a VLAN
      Select ent0
      Specify VLAN ID 835 (same as SEA failover)
      Press Enter

ent2 available

  • Repeat this operation for each VLAN.