AS/400 Ethernet Type May Cause Problems
After a core network switch reload, a strange problem occured for 5250 terminal sessions to an AS/400. Sometimes they worked and sometimes not. The same behaviour was observed using ping from within the same IP subnet.
The problem appeared to be the Ethernet framing on the AS/400. The ARP replies kept changing between type SNAP and ARPA. An ARP entry on the core routers showed the mac address of the AS/400 but using Ethernet “SNAP” encapsulation, rather than “ARPA”, the latter of which is the default encapsulation type for the Cisco 6500’s which we were using.
CORE-6500#sh ip arp | i 10.10.10.1
Internet 10.10.10.1 11 0009.6b6b.b3e2 SNAP Vlan1
Clearing the ARP cache and then pinging the AS/400 from the core (causing an arp request using ARPA encapsulation to be replied to by the AS/400 using the same ARPA encapsulation) populated the mac address with an arp entry of the correct type:
CORE-6500#sh ip arp | i 10.10.10.1
Internet 10.10.10.1 4 0009.6b6b.b3e2 ARPA Vlan1
But when the Arp cache ages out it soon reverted back:
CORE-6500#sh ip arp | i 10.10.10.1
Internet 10.10.10.1 11 0009.6b6b.b3e2 SNAP Vlan1
Apparently the AS/400 sends out both SNAP and ARPA encapsulation types (SNAP for backwards-compatibility with older systems) in Arp requests/replies.
There are two ways to fix this:
1. Change the AS/400 to ensure that it only uses ARPA
2. Configure a static ARP entry on the switch of type ARPA (not good if you ever move IP address or change the NIC or AS/400 hardware)
To add a static ARP entry of type ARPA:
CORE-6500(config)#arp 10.10.10.1 0009.6b6b.b3e2 arpa
The ARP types are:
ARPA = Standard Ethernet-style ARP (RFC 826).
SNAP = ARP packets conforming to RFC 1042.
To change the frame type on an AS/400 you can use the ETHSTD(8022) & ETHSTD(8023) commands. See page 12/13 (pages 18/19 in the .pdf):