[Click] Two questions: p->kill(), and ping reply

Andrushka andrusha at gmail.com
Thu Aug 25 03:29:16 EDT 2005


Hello!
Now i'm using next config:
=========================================
in :: PollNic(0);
out :: ToNic(0);
ip :: CheckIPHeader(14);

in -> ip;
ip[0]
        -> CheckICMPHeader
        -> IPPrint(ICMP)
        -> ICMPPingResponder
        -> out;

ip[1]
        -> Print(ARP)
        -> ARPResponder(192.168.0.1 52:54:00:12:34:56)
        -> out;
==========================================

Question 1:

My ToNic is PUSH processing:

void ToNic::push(int, Packet *p)
{
  n_write(_nic, p->data(), p->length());
  //p->kill();
}

But when i uncomment p->kill() Click is seg_fault. Why ?

Question 2:
When i ping 192.168.0.1 my ping program got ARP answer.
Click prints next:
ARP:   60 | 52540012 345600ff c7d77bbf 08060001 08000604 000100ff 
ICMP: 0.000000: 192.168.0.5 > 192.168.0.1: icmp: echo request (6108, 1280)
ICMP: 88.402516: 192.168.0.1 > 192.168.0.5: icmp: echo reply (6108, 1280)
ICMP: 0.000000: 192.168.0.5 > 192.168.0.1: icmp: echo request (6108, 1536)
ICMP: 91.484948: 192.168.0.1 > 192.168.0.5: icmp: echo reply (6108, 1536)
ICMP: 0.000000: 192.168.0.5 > 192.168.0.1: icmp: echo request (6108, 1792)
ICMP: 94.496430: 192.168.0.1 > 192.168.0.5: icmp: echo reply (6108, 1792)

I can't understand why there strings with "echo reply"????
There are must be only "echo request".

And my ping doesn't recive any echo answer:
bash-2.05b$ ping 192.168.0.1  
PING 192.168.0.1 (192.168.0.1) 1450(1478) bytes of data.

--- 192.168.0.1 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 1801ms

And when i do tcpdump:
09:43:56.887896 arp who-has 192.168.0.1 tell 192.168.0.5
09:43:56.922986 arp reply 192.168.0.1 is-at 52:54:00:12:34:56
09:43:57.628382 IP 192.168.0.5 > 192.168.0.1: icmp 1458: echo request seq 1
09:43:57.671099 IP 192.168.0.1 > 192.168.0.5: icmp 1458: echo reply seq 1
09:43:58.627928 IP 192.168.0.5 > 192.168.0.1: icmp 1458: echo request seq 2
09:43:58.655502 IP 192.168.0.1 > 192.168.0.5: icmp 1458: echo reply seq 2
09:43:59.627930 IP 192.168.0.5 > 192.168.0.1: icmp 1458: echo request seq 3
09:43:59.675073 IP 192.168.0.1 > 192.168.0.5: icmp 1458: echo reply seq 3

Why ping doesn't recive answer?

Thanks!



More information about the click mailing list