The following procedure is specific to an LPAR named "mx1apvio01" but is representative of how to configure etherchannels on all VIO servers in the MtXia environment. This procedure removes all existing ethernet devices and reconfigures them from scratch. This has been found to be the best method for configuring network devices on the VIO server.


#procedure|VIO ethernet config for mx1apvio01 serving HACMP LPAR's| see
#below

# Unconfigure all ethernet adapters
lscfg -l ent*
for i in 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
do
  ifconfig en${i} down
  ifconfig en${i} detach
  ifconfig et${i} down
  ifconfig et${i} detach
  rmdev -Rdl ent${i}
  rmdev -Rdl en${i}
  rmdev -Rdl et${i}
done
ifconfig -a
lsdev -Cc adapter | grep ent


# Rediscover all ethernet adapters
cfgmgr
lsdev -Cc adapter | grep ent
lsdev -C | grep inet
lsdev -C | grep lo
lscfg -l ent*


# turn off the chksum_offload parameter on all adapters
for i in 10 9 8 7 6 5 4 3 2 1 0
do
  lsattr -El ent${i} | grep chksum_offload
  chdev -l ent${i} -a chksum_offload=no
  chdev -l ent${i} -a chksum_offload=no -P
  lsattr -El ent${i} | grep chksum_offload
done

# mx1apvio01:ent0      Gigabit Ethernet-SX PCI-X Adapter (14106802)
# mx1apvio01:ent2      Gigabit Ethernet-SX PCI-X Adapter (14106802)
# mx1apvio01:ent6      Gigabit Ethernet-SX PCI-X Adapter (14106802)
# mx1apvio01:ent1      10/100 Mbps Ethernet PCI Adapter II (1410ff01)
# mx1apvio01:ent3      10/100 Mbps Ethernet PCI Adapter II (1410ff01)
# mx1apvio01:ent4      10/100 Mbps Ethernet PCI Adapter II (1410ff01)
# mx1apvio01:ent5      10/100 Mbps Ethernet PCI Adapter II (1410ff01)

# Create etherchannel adapters
rmdev -Rdl ent11
rmdev -Rdl en11
rmdev -Rdl et11

rmdev -Rdl ent12
rmdev -Rdl en12
rmdev -Rdl et12

# The network address used is that of the default gateway, used to
# determine the health of the etherchannel.

if mkdev -c adapter -s pseudo -t ibm_ech \
   -a adapter_names='ent0,ent2,ent6' \
   -a netaddr=146.61.65.254
then
  /usr/lib/methods/defif
fi
if mkdev -c adapter -s pseudo -t ibm_ech \
   -a adapter_names='ent1,ent3,ent4' \
   -a netaddr=146.61.68.254 \
   -a backup_adapter='ent5'
then
  /usr/lib/methods/defif
fi
lsdev -Cc adapter | grep ent

chdev -l ent11 -a mode=round_robin
chdev -l ent12 -a mode=round_robin
lsattr -El ent11
lsattr -El ent12

# build the SEA's (shared ethernet adapters)
/usr/ios/cli/ioscli mkvdev -sea ent11 -vadapter ent7 \
  -default ent7 -defaultid 65
/usr/ios/cli/ioscli mkvdev -sea ent12 -vadapter ent9 \
  -default ent9 -defaultid 68

# configure IP addresses on unused virtual ethernet devices
smitty tcpip

# mx1apvio01: en8:  inet 146.61.65.182 netmask 0xffffff00
# mx1apvio01: en10: inet 146.61.68.150 netmask 0xffffff00

################################################################

procedure|VIO ethernet config for mx1apvio02 serving HACMP LPAR's| see
below

# Unconfigure all ethernet adapters
lscfg -l ent*
for i in 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
do
  ifconfig en${i} down
  ifconfig en${i} detach
  ifconfig et${i} down
  ifconfig et${i} detach
  rmdev -Rdl ent${i}
  rmdev -Rdl en${i}
  rmdev -Rdl et${i}
done
ifconfig -a
lsdev -Cc adapter | grep ent



# turn off the chksum_offload parameter on all adapters
for i in 10 9 8 7 6 5 4 3 2 1 0
do
  lsattr -El ent${i} | grep chksum_offload
  chdev -l ent${i} -a chksum_offload=no
  chdev -l ent${i} -a chksum_offload=no -P
  lsattr -El ent${i} | grep chksum_offload
done

# mx1apvio02:ent0      Gigabit Ethernet-SX PCI-X Adapter (14106802)
# mx1apvio02:ent1      Gigabit Ethernet-SX PCI-X Adapter (14106802)
# mx1apvio02:ent6      Gigabit Ethernet-SX PCI-X Adapter (14106802)
# mx1apvio02:ent2      10/100 Mbps Ethernet PCI Adapter II (1410ff01)
# mx1apvio02:ent3      10/100 Mbps Ethernet PCI Adapter II (1410ff01)
# mx1apvio02:ent4      10/100 Mbps Ethernet PCI Adapter II (1410ff01)
# mx1apvio02:ent5      10/100 Mbps Ethernet PCI Adapter II (1410ff01)

# Create etherchannel adapters
rmdev -Rdl ent11
rmdev -Rdl en11
rmdev -Rdl et11

rmdev -Rdl ent12
rmdev -Rdl en12
rmdev -Rdl et12

if mkdev -c adapter -s pseudo -t ibm_ech \
   -a adapter_names='ent0,ent1,ent6' \
   -a netaddr=146.61.65.254
then
  /usr/lib/methods/defif
fi
if mkdev -c adapter -s pseudo -t ibm_ech \
   -a adapter_names='ent2,ent3,ent4' \
   -a netaddr=146.61.68.254 \
   -a backup_adapter='ent5'
then
  /usr/lib/methods/defif
fi
lsdev -Cc adapter | grep ent

chdev -l ent11 -a mode=round_robin
chdev -l ent12 -a mode=round_robin
lsattr -El ent11
lsattr -El ent12

# build the SEA's (shared ethernet adapters)
/usr/ios/cli/ioscli mkvdev -sea ent11 -vadapter ent7 \
  -default ent7 -defaultid 65
/usr/ios/cli/ioscli mkvdev -sea ent12 -vadapter ent9 \
  -default ent9 -defaultid 68

# configure IP addresses on etherchannels
smitty tcpip

# mx1apvio02: en8:  inet 146.61.65.183 netmask 0xffffff00
# mx1apvio02: en10: inet 146.61.68.151 netmask 0xffffff00

################################################################

procedure|VIO ethernet config for mx1apvio03 serving HACMP LPAR's| see
below

# Unconfigure all ethernet adapters
lscfg -l ent*
for i in 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
do
  ifconfig en${i} down
  ifconfig en${i} detach
  ifconfig et${i} down
  ifconfig et${i} detach
  rmdev -Rdl ent${i}
  rmdev -Rdl en${i}
  rmdev -Rdl et${i}
done
ifconfig -a
lsdev -Cc adapter | grep ent


# Rediscover all ethernet adapters
cfgmgr
lsdev -Cc adapter | grep ent
lsdev -C | grep inet
lsdev -C | grep lo
lscfg -l ent*

# turn off the chksum_offload parameter on all adapters
for i in 10 9 8 7 6 5 4 3 2 1 0
do
  lsattr -El ent${i} | grep chksum_offload
  chdev -l ent${i} -a chksum_offload=no
  chdev -l ent${i} -a chksum_offload=no -P
  lsattr -El ent${i} | grep chksum_offload
done

# mx1apvio03:ent0      Gigabit Ethernet-SX PCI-X Adapter (14106802)
# mx1apvio03:ent2      Gigabit Ethernet-SX PCI-X Adapter (14106802)
# mx1apvio03:ent6      Gigabit Ethernet-SX PCI-X Adapter (14106802)
# mx1apvio03:ent1      10/100 Mbps Ethernet PCI Adapter II (1410ff01)
# mx1apvio03:ent3      10/100 Mbps Ethernet PCI Adapter II (1410ff01)
# mx1apvio03:ent4      10/100 Mbps Ethernet PCI Adapter II (1410ff01)
# mx1apvio03:ent5      10/100 Mbps Ethernet PCI Adapter II (1410ff01)

# Create etherchannel adapters
rmdev -Rdl ent11
rmdev -Rdl en11
rmdev -Rdl et11

rmdev -Rdl ent12
rmdev -Rdl en12
rmdev -Rdl et12

if mkdev -c adapter -s pseudo -t ibm_ech \
   -a adapter_names='ent0,ent2,ent6' \
   -a netaddr=146.61.65.254
then
  /usr/lib/methods/defif
fi
if mkdev -c adapter -s pseudo -t ibm_ech \
   -a adapter_names='ent1,ent3,ent4' \
   -a netaddr=146.61.68.254 \
   -a backup_adapter='ent5'
then
  /usr/lib/methods/defif
fi
lsdev -Cc adapter | grep ent

chdev -l ent11 -a mode=round_robin
chdev -l ent12 -a mode=round_robin
lsattr -El ent11
lsattr -El ent12

# build the SEA's (shared ethernet adapters)
/usr/ios/cli/ioscli mkvdev -sea ent11 -vadapter ent7 \
  -default ent7 -defaultid 65
/usr/ios/cli/ioscli mkvdev -sea ent12 -vadapter ent9 \
  -default ent9 -defaultid 68

# configure IP addresses on etherchannels
smitty tcpip

# mx1apvio03: en8:  inet 146.61.65.184 netmask 0xffffff00
# mx1apvio03: en10: inet 146.61.68.152 netmask 0xffffff00


################################################################

procedure|VIO ethernet config for mx1apvio04 serving HACMP LPAR's| see
below

# Unconfigure all ethernet adapters
lscfg -l ent*
for i in 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
do
  ifconfig en${i} down
  ifconfig en${i} detach
  ifconfig et${i} down
  ifconfig et${i} detach
  rmdev -Rdl ent${i}
  rmdev -Rdl en${i}
  rmdev -Rdl et${i}
done
ifconfig -a
lsdev -Cc adapter | grep ent


# Rediscover all ethernet adapters
cfgmgr
lsdev -Cc adapter | grep ent
lsdev -C | grep inet
lsdev -C | grep lo
lscfg -l ent*

# turn off the chksum_offload parameter on all adapters
for i in 10 9 8 7 6 5 4 3 2 1 0
do
  lsattr -El ent${i} | grep chksum_offload
  chdev -l ent${i} -a chksum_offload=no
  chdev -l ent${i} -a chksum_offload=no -P
  lsattr -El ent${i} | grep chksum_offload
done

# mx1apvio04:ent2      Gigabit Ethernet-SX PCI-X Adapter (14106802)
# mx1apvio04:ent3      Gigabit Ethernet-SX PCI-X Adapter (14106802)
# mx1apvio04:ent6      Gigabit Ethernet-SX PCI-X Adapter (14106802)
# mx1apvio04:ent0      10/100 Mbps Ethernet PCI Adapter II (1410ff01)
# mx1apvio04:ent1      10/100 Mbps Ethernet PCI Adapter II (1410ff01)
# mx1apvio04:ent4      10/100 Mbps Ethernet PCI Adapter II (1410ff01)
# mx1apvio04:ent5      10/100 Mbps Ethernet PCI Adapter II (1410ff01)

# Create etherchannel adapters
rmdev -Rdl ent11
rmdev -Rdl en11
rmdev -Rdl et11

rmdev -Rdl ent12
rmdev -Rdl en12
rmdev -Rdl et12

if mkdev -c adapter -s pseudo -t ibm_ech \
   -a adapter_names='ent2,ent3,ent6' \
   -a netaddr=146.61.65.254
then
  /usr/lib/methods/defif
fi
if mkdev -c adapter -s pseudo -t ibm_ech \
   -a adapter_names='ent0,ent1,ent4' \
   -a netaddr=146.61.68.254 \
   -a backup_adapter='ent5'
then
  /usr/lib/methods/defif
fi
lsdev -Cc adapter | grep ent

chdev -l ent11 -a mode=round_robin
chdev -l ent12 -a mode=round_robin
lsattr -El ent11
lsattr -El ent12

/usr/ios/cli/ioscli mkvdev -sea ent11 -vadapter ent7 \
  -default ent7 -defaultid 65
/usr/ios/cli/ioscli mkvdev -sea ent12 -vadapter ent9 \
  -default ent9 -defaultid 68

# configure IP addresses on etherchannels
smitty tcpip

# mx1apvio04:en8:  inet 146.61.65.185 netmask 0xffffff00
# mx1apvio04:en10: inet 146.61.68.153 netmask 0xffffff00