AIX Network Configuration: TCP/IP, VLANs, SEA and Link Aggregation

!DOCTYPE html> AIX Networking: EtherChannel, VLANs, and Troubleshooting

AIX Networking: EtherChannel, VLANs, IP Configuration, and Troubleshooting

Configure production AIX networking correctly -- EtherChannel bonding, VLAN tagging, IP aliases, jumbo frames, and a systematic troubleshooting methodology for every common network fault.

IP Configuration Basics

# Show all interfaces
ifconfig -a

# Configure an interface (temporary -- lost on reboot)
ifconfig en0 192.168.1.50 netmask 255.255.255.0 up

# Persistent configuration via chdev (survives reboot)
chdev -l en0 -a netaddr=192.168.1.50 -a netmask=255.255.255.0 -a state=up

# Add a second IP alias on same interface
ifconfig en0 alias 192.168.1.51 netmask 255.255.255.0

# Remove alias
ifconfig en0 delete 192.168.1.51

# Show interface statistics
entstat -d en0 | head -40

# Show errors (critical for troubleshooting)
entstat -d en0 | grep -iE "(error|drop|collision)"

Interface Naming

NameMeaningNotes
ent0Physical Ethernet deviceHardware adapter
en0Standard Ethernet interfaceUses ent0, non-VLAN
et0IEEE 802.3 interfaceUses ent0, rarely used
ent2EtherChannel deviceBonded ent0+ent1
en2Interface on top of EtherChannelConfigure IP here

EtherChannel (802.3ad LACP)

# Create EtherChannel from ent0 and ent1
smitty etherchannel   # GUI method
# OR via command line:

# Step 1: Create the EtherChannel adapter
mkdev -c adapter -s pseudo -t ibm_ech \
  -a adapter_names="ent0,ent1" \
  -a mode=8023ad \
  -a hash_mode=dst_src_port

# This creates ent2 (the bonded adapter)

# Step 2: Create interface on top
mkdev -c if -s EN -t en -a netaddr=192.168.1.50 \
  -a netmask=255.255.255.0 -a ipaddrtype=ipv4 -l en2

# Verify
lsdev -Cc adapter | grep ent
entstat -d ent2 | grep -i "LACP\|Partner\|mode"

# Check bond status
entstat -d ent2 | grep -A5 "ETHERNET CHANNEL"

EtherChannel Modes Comparison

ModeDescriptionSwitch Requirement
8023adLACP (recommended)Switch must support 802.3ad
round_robinOutbound load balancingNo special config
failoverActive/standby onlyNo special config
src_macHash on source MACNo special config

VLAN Tagging (802.1Q)

# Create a VLAN interface on VLAN 100 using ent0
mkdev -c adapter -s pseudo -t vlan \
  -a base_adapter=ent0 \
  -a vlan_tag=100 \
  -a netaddr=10.100.0.50 \
  -a netmask=255.255.255.0

# List VLAN adapters
lsdev -Cc adapter | grep vlan

# Show VLAN attributes
lsattr -El ent3   # ent3 = VLAN adapter

# Multiple VLANs on same physical NIC
# Create ent3 (VLAN 100), ent4 (VLAN 200), ent5 (VLAN 300)
# Each gets its own IP -- no performance penalty

Network Tuning

# Show all network tunables
no -a | head -40

# Key performance tunables
no -o tcp_recvspace=262144      # TCP receive buffer (default 16384)
no -o tcp_sendspace=262144      # TCP send buffer
no -o udp_recvspace=655360      # UDP receive (important for NFS)
no -o rfc1323=1                 # TCP large window scaling -- MUST for 10GbE
no -o tcp_nagle_limit=1         # Reduce Nagle delay for small packets

# Make tunables permanent (survives reboot)
no -p -o tcp_recvspace=262144
no -p -o rfc1323=1

# NFS tunables
nfso -o nfs_max_read_size=65536
nfso -o nfs_max_write_size=65536

# Jumbo frames (MTU 9000) -- switch must support it
chdev -l en0 -a mtu=9000
ping -s 8972 -c 3 192.168.1.1   # test jumbo frames end-to-end

Routing and DNS

# Show routing table
netstat -rn

# Add a static route
route add -net 10.20.0.0/24 192.168.1.1

# Add persistent static route
chdev -l inet0 -a route=net,-hopcount,0,,0,10.20.0.0,255.255.255.0,192.168.1.1

# Set default gateway
chdev -l inet0 -a route=net,,0,0.0.0.0,192.168.1.1

# DNS configuration
cat /etc/resolv.conf
# Add nameservers:
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
echo "nameserver 8.8.4.4" >> /etc/resolv.conf

# Test DNS
host ibm.com
nslookup ibm.com

Troubleshooting Methodology

Systematic Approach

# Step 1: Is the interface up?
ifconfig en0 | grep -E "(UP|DOWN|inet)"

# Step 2: Any errors accumulating?
entstat -d en0 | grep -iE "(error|drop|crc|collision)" | grep -v "^0"

# Step 3: Can we reach default gateway?
ping -c 4 $(netstat -rn | awk '/^default/{print $2}')

# Step 4: Is DNS working?
host ibm.com || echo "DNS FAILED"

# Step 5: Trace route to destination
traceroute 8.8.8.8

Common Issues and Fixes

SymptomLikely CauseFix
High CRC errorsBad cable or NICReplace cable, check duplex settings
Duplex mismatchAuto-neg failurechdev -l ent0 -a full_duplex=yes
Ping works, SSH doesn'tMTU mismatch / firewallTest ping -s 1472; check ipfilter
IP unreachable after rebootODM config not savedUse chdev not ifconfig
Slow NFSSmall rsize/wsize or buffersTune nfso, increase UDP buffers
# Check for duplicate IP on network
arp -a | grep 192.168.1.50   # multiple MACs = IP conflict

# Check physical link state
lsattr -El ent0 | grep "link_stat"
# Or:
entstat -d ent0 | grep "Link Status"

# Capture packets (AIX iptrace)
iptrace -i en0 -s 192.168.1.100 /tmp/trace.cap &
ipreport /tmp/trace.cap | head -100
[YES] Production tip: Always set rfc1323=1 on any AIX server connected at 1GbE or faster. The default TCP window size of 16KB is a severe bottleneck on high-latency links. This single tunable can double NFS and database throughput.

Key Takeaways: Configure IPs with chdev not ifconfig for persistence. Use EtherChannel with LACP for bonding. Always enable rfc1323=1 for large TCP windows. Check entstat errors before blaming the application for network issues.

AIXNetworkingEtherChannelVLANTCP TuningIBM POWER

Post a Comment

0 Comments