Messages in this thread | | | Date | Thu, 18 Feb 1999 15:07:11 +0100 | From | Volker Dormeyer <> | Subject | ARP - hardtype 6 on ether device - [kernelpatch] |
| |
Hello!
Last week I posted the following to the linux-kernel list:
>We have a switched ethernet/token ring network environment based on >cabletron switch hardware (SmartSwitch 6000 and SmartSwitch 9000).
>The problem: >I can't reach a Workstation or Server in the switched >token ring segment with a linux box in the ethernet segement >(i. e. ping, telnet etc.). If I manually add the mac-address of >the destination in the token ring to the local arp cache of the >linux box in the ethernet, all communication works fine.
>With some work on sniffering the network and some help of cabletron >technical support I find out the following:
>The linux box sends the arp request packet with hardware type 1 but >the switch replies the packet with hardware type 6 in the arp packet.... --- snip ---
I got some replies which are all saying that it isn't the work of the PC
to accept the arp replies with hard type 6 on the ethernet. Sounds ok to me.
I contacted cabletron again; they provided a firmware upgrade for the switches to me. The release note of the new firmware says that it will send to arp replies to the ethernet (one with hard type 6 (IEEE802) and another with hard type 1 (ethernet)) to support TCP/IP stacks which are not rfc1042 comlpiant, too. I installed the firmware - result it doesen't work much better than the old version. I can't see the two arp replies with tcpdump or such.
Again, I did some work on sniffering. I asked myself why are the other UNIX machines (AIX, DEC UNIX) are having no problems. And at least why are also WinNT and Win95 working with this cabletron-switch behaviour.
Ok, for short tcpdump shows me, that the other machines are accepting both, arp replies with hard type 6 and hard type 1 on ethernet.
09:00:54.108838 eth0 > 0:0:0:0:0:0 0:a0:24:4d:b2:b1 arp 42: arp who-has 10.1.2.179 tell 10.1.190.10 (0:a0:24:4d:b2:b1) 0001 0800 0604 0001 00a0 244d b2b1 0b01 be0a 0000 0000 0000 0b01 02b3 09:00:54.110537 eth0 < 0:0:6f:d5:4a:ac 0:0:0:0:0:1 arp 60: arp reply 10.1.2.179 is-at 0:0:6f:d5:4a:ac (0:a0:24:4d:b2:b1) hardware #6 0006 0800 0604 0002 0000 6fd5 4aac 0b01 02b3 00a0 244d b2b1 0b01 be0a 0000 0000 0000 0000 0000 0000 0000 0000 0000
the arp reply is discarded by the linux kernel but accepted by the other UNIX machines.
After that, I looked to the linux-kernel source and patched something in /linux/net/ipv4/arp.c to make the kernel accept both arp types on ethernet. All our networking with the linux boxes is working right now.
Any suggestions on this? It would be kind if there is somebody who can take a look at it.
The patch for kernel 2.2.1 and a small readme is attached below.
Thanks, -Volker-
[unhandled content-type:application/x-gzip][unhandled content-type:application/x-gzip] | |