[Click] Issue with Intra-node Click Packets dropped by Kernel

dmoore7@nd.edu dmoore7 at nd.edu
Tue Dec 4 08:18:05 EST 2007



Hello All,
I have a problem regarding the dropping of packets routed back to a host that
originated from that host. I shall elaborate below.
I have configured a system of 3 computers with click configurations, as shown
below:

S1 <--> N3
S2 <--> N3 <--> N2 <--> N1
S3 <--> N3

Basically, there are 6 "devices" on the network, each with its own IP and MAC
address: the three nodes, and three "spoofs" that are hosted by the 3rd node.

Each spoof takes the following form and exists in the click config file for Node
3.
FromHost(spoof_eth2_0, 192.168.10.11/24, ETHER 01:02:03:04:05:06) ->
SpoofFromHost_spoof_eth2_0 :: Print(FromHostspoof_eth2_0)
SpoofToHost_spoof_eth2_0 :: IPPrint(ToHostspoof_eth2_0) -> ToHost(spoof_eth2_0);

Using IPClassifiers at each node, and a carefully built list of all possible
destinations and the next-hop to get to them, I can ping and route all standard
traffic between nodes as follows:
N1 to anything
N2 to anything
N3, S1, S2, and S3 to both N1 and N2

My problem is that when I attempt to deliver traffic originating on N3 (either
from N3's IP, or from any of the spoofs N3 hosts) to a device on N3, the packet
is dropped by the linux kernel.  Specifically, an attempt to:
"ping  <IP of S1> -i <device name of N3>" executed on machine N3, generates an
appropriate "ToHostspoof_eth2_0" message, indicating that the packet was passed
to Linux via the appropriate ToHost().  However no ping reply is given, and
programs awaing UDP traffic of the same nature never see it.  (I have spoofed
all ARP replies appropriately within Click).

To clarify, packets sent to the same host by another machine ("ping <IP of S2>
-i <device name of N2>" sent from machine N2) do arrive and are replied to,
while packets sent to the local node from that node go unreplied, albeit
delivered.

This is preventing the spoofed devices from communicating with eachother,
although they can communicate with other machines.
My question is: what packet properties would cause the kernel to drop a packet
delivered via ToHost?  The destination IP address and MAC address of the packet
being delivered have been verified to match the DEVname I deliver them to.  The
source address and MAC address match that of another device on the same node.

Any help is appreciated, thank you for your time.
 - David Moore




More information about the click mailing list