[Click] issue with kernel level click and connectivity

abs6@njit.edu abs6 at njit.edu
Thu Jul 12 14:46:56 EDT 2007


Hello All,

I have a simple kernel level click router configuration with two interfaces
generated from make-ip-conf.pl. The topology is like
LAN1---R1----R2---LAN2

When I run the click router (R1), I cannot ping from machines on either side of
LANs to each other.

Using dmesg following messages are observed:
click: starting router thread pid 3178 (eb0f3a40)
e1000_poll_on
e1000_poll_on

Initially, I thought my problem is similar to the problem with the arpqueurier
in the make-ip-conf.pl script discussed below on the click mailing list long
time  back, but I assumed it is fixed.

https://amsterdam.lcs.mit.edu/pipermail/click/2005-May/003966.html

If anyone can help that will be great.

Thanks.

Amey


//My script is below:
// Generated by make-ip-conf.pl
// eth1 10.1.2.2 00:04:23:9F:0C:D2
// eth2 10.1.3.2 00:04:23:9F:0C:D3

// Shared IP input path and routing table
ip :: Strip(14)
    -> CheckIPHeader(INTERFACES 10.1.2.2/255.255.255.0 10.1.3.2/255.255.255.0)
    -> rt :: StaticIPLookup(
    10.1.2.2/32 0,
    255.255.255.255/32 0,
    10.1.2.2/32 0,
    10.1.3.2/32 0,
    255.255.255.255/32 0,
    10.1.3.2/32 0,
    10.1.2.0/255.255.255.0 1,
    10.1.3.0/255.255.255.0 2,
    255.255.255.255/32 0.0.0.0 0,
    0.0.0.0/32 0,
    0.0.0.0/0.0.0.0 10.1.2.2 1);

// ARP responses are copied to each ARPQuerier and the host.
arpt :: Tee(3);

// Input and output paths for eth1
c0 :: Classifier(12/0806 20/0001, 12/0806 20/0002, 12/0800, -);
PollDevice(eth1) -> c0;
out0 :: Queue(200) -> todevice0 :: ToDevice(eth1);
c0[0] -> ar0 :: ARPResponder(10.1.2.2 00:04:23:9F:0C:D2) -> out0;
arpq0 :: ARPQuerier( 10.1.2.2, 00:04:23:9F:0C:D2) -> out0;
c0[1] -> arpt;
arpt[0] -> [1]arpq0;
c0[2] -> Paint(1) -> ip;
c0[3] -> Print("eth1 non-IP") -> Discard;

// Input and output paths for eth2
c1 :: Classifier(12/0806 20/0001, 12/0806 20/0002, 12/0800, -);
PollDevice(eth2) -> c1;
out1 :: Queue(200) -> todevice1 :: ToDevice(eth2);
c1[0] -> ar1 :: ARPResponder(10.1.3.2 00:04:23:9F:0C:D3) -> out1;
arpq1 :: ARPQuerier(10.1.3.2, 00:04:23:9F:0C:D3) -> out1;
c1[1] -> arpt;
arpt[1] -> [1]arpq1;
c1[2] -> Paint(2) -> ip;
c1[3] -> Print("eth2 non-IP") -> Discard;

// Local delivery
toh :: Print(toh)-> ToHost;
arpt[2] -> toh;
rt[0] -> EtherEncap(0x0800, 1:1:1:1:1:1, 2:2:2:2:2:2) -> toh;

// Forwarding path for eth1
rt[1] -> DropBroadcasts
    -> cp0 :: PaintTee(1)
    -> gio0 :: IPGWOptions(10.1.2.2)
    -> FixIPSrc(10.1.2.2)
    -> dt0 :: DecIPTTL
    -> fr0 :: IPFragmenter(1500)
    -> [0]arpq0;
dt0[1] -> ICMPError(10.1.2.2, timeexceeded) -> rt;
fr0[1] -> ICMPError(10.1.2.2, unreachable, needfrag) -> rt;
gio0[1] -> ICMPError( 10.1.2.2, parameterproblem) -> rt;
cp0[1] -> ICMPError(10.1.2.2, redirect, host) -> rt;

// Forwarding path for eth2
rt[2] -> DropBroadcasts
    -> cp1 :: PaintTee(2)
    -> gio1 :: IPGWOptions(10.1.3.2)
    -> FixIPSrc(10.1.3.2)
    -> dt1 :: DecIPTTL
    -> fr1 :: IPFragmenter(1500)
    -> [0]arpq1;
dt1[1] -> ICMPError(10.1.3.2, timeexceeded) -> rt;
fr1[1] -> ICMPError(10.1.3.2, unreachable, needfrag) -> rt;
gio1[1] -> ICMPError( 10.1.3.2, parameterproblem) -> rt;
cp1[1] -> ICMPError(10.1.3.2, redirect, host) -> rt;



More information about the click mailing list