"GARDNER,ROBERT (A-Scotland,ex1)": ARPs and other mysteries

Eddie Kohler kohler at aciri.org
Mon Aug 20 14:39:30 EDT 2001


------- Forwarded Message

From: "GARDNER,ROBERT (A-Scotland,ex1)" <robert_gardner at agilent.com>
To: "'Eddie Kohler'" <kohler at aciri.org>
Subject: ARPs and other mysteries
Date: Mon, 20 Aug 2001 20:56:42 +0200
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2653.19)
Content-Type: text/plain;
	charset="iso-8859-1"

Hi Ed,

I read your thesis but it didn't quite answer my specific query.
I would be very grateful if you could take a look at the click description
below and tell me where I'm going wrong with FromLinux and ARPResponder.

I have a point-to-point network and I just want to be able to
ping between A and B.

"ping -I 10.224.64.200 10.224.64.201"
            A ----------------------------------- B
       10.224.64.200                        10.224.64.201
     00:02:e3:00:09:04                    00:02:e3:00:23:9a
       CLICK-RUNNING                          no CLICK

If you include the commented out code, which includes
an 'manual' ARP response for B, then ping works fine.

If the same code is then commented out again, and we let ARP requests loose
onto the network, we can see the reply messages coming back from B
(via chatter) but they do not seem to be acted upon at A after being passed
to
Linux - and the ping fails once the ARPs are refreshed:
"Destination Host Unreachable"

This is a shame since we might add a third machine, C, and want
to be able to communicate with it without manually adding its
MAC address to an ARPResponder running on A.

As far as I can see, the two ARP replies (one from the ARPResponder and one
from machine B - see below) are identical, except some padding bytes. I have
found that it does not help is the padding is removed.

This problem has had me bamboozled for some time.
Loving CLICK a lot:)

regards

Robert



// *************************** TRANSMITTER *************************

FromLinux(fake, 10.224.64.198/255.255.255.224, ETHER 00:02:e3:00:09:04) ->

/* 
cl :: Classifier(12/0806, -);
cl[0] ->    // ARP packets
Print(Linux_ARP_Request, 1500) ->
ARPResponder(
               10.224.64.201/255.255.255.255 00:02:e3:00:23:9a
            ) ->
Print(ARP_Responder,1500) ->
ToLinux;

cl[1] ->    // All other packets
*/

Queue ->
ToDevice(eth3);


// ***************************** RECEIVER *****************************


FromDevice(eth3, 0) ->
cl2 :: Classifier(12/0806, -);

cl2[0] ->    // ARP packets
Print(Network_ARP_Reply, 1500) ->
ToLinux();

cl2[1] ->    // All other packets
ToLinux();

// ************************** END ****************************



WITH THE CODE INCLUDED...
chatter: Linux_ARP_Request:   42 | ffffffff ffff0002 e3000904 08060001
08000604 00010002 e3000904 0ae040c8 00000000 00000ae0 40c9
chatter: ARP_Responder:       42 | 0002e300 09040002 e300239a 08060001
08000604 00020002 e300239a 0ae040c9 0002e300 09040ae0 40c8


WITH THE CODE COMMENTED OUT...
chatter: Network_ARP_Reply:   60 | 0002e300 09040002 e300239a 08060001
08000604 00020002 e300239a 0ae040c9 0002e300 09040ae0 40c80000 00000000
00000000 00000000 00000000



------- End of Forwarded Message




More information about the click mailing list