[Click] Config problem?? Router dies.

Larsen Søren s_larsen at danfoss.com
Mon Jun 28 09:27:55 EDT 2004


Hi Eddie

Well it doesn't crash, the packets just stop getting through after the first
one.

I use ping for test, and when i restart the click kernel module with the
config file one ping usually gets through.

Right now I use the 1.4pre1 version of click on a redhat 7.2 running kernel
2.4.21 from kernel.org with the click patch applied.

It's to Thunderlan NIC's in the machine (from our old proliant 3000
servers.) so they should be ok with click i guess.

I'll check out the CVS version, but im not that experienced in linux, but
i'll give it a go :-)

Thanks for your help!! :-)

/Søren 

-----Oprindelig meddelelse-----
Fra: Eddie Kohler [mailto:kohler at cs.ucla.edu]
Sendt: 27. juni 2004 03:30
Til: Larsen Søren
Cc: click at amsterdam.lcs.mit.edu
Emne: Re: [Click] Config problem?? Router dies.

Hi Larsen,

Larsen Søren wrote:
> Hi everybody
>  
> I'm using click router as a WAN simulator here in my company, i got it 
> running fine a long time ago, but somehow i can't get it up an running 
> now :-( My new installation is a redhat 7.2 with a patched 2.4.21 
> kernel.
>  
> Click installed fine an runs as a kernel module, no problem there, the 
> problem comes when i load my configuration file, the first packet gets 
> trough but then it stops. Any ideas??? (i use ping to test it. theres 
> a windows client on each side, with static routes on.)

When you say "it stops", does it crash, or do packets simply stop going
through? 
  If there's a crash can you send the ksymoops?  And what version of Click
are you using?  Can you try with current anonymous CVS?

Eddie


>  
> i load the config file by using "click-install router1.click" ive 
> tried the following to.: "click-install < router1.click" & 
> "click-install -f router1.click"
>  
> Here is my config file.:
>  
> // Address Information
>  
> AddressInfo(
>   eth0  192.168.1.223 192.168.1.0/24 00:01:02:75:B8:35,
>   eth1  192.168.1.224 192.168.1.0/24 00:03:47:DC:E1:98, );
>  
> 
> // Device Setup
>  
> // The ethernet device module does the following:
> // A>>> For all incoming packets captured
> //   1. Captures all packets arriving on the h/w interface
> //   2. Annotates the packet with the current timestamp
> //   3. Sends it to the output of this module
> //
> // B>>> For all packets fed as input to the module
> //   1. Enqueue packets in a queue 
> //   2. Pass the packets through a delay shaper
> //   3. Put the packet out on the h/w interface
> elementclass GatewayDevice {
>   $device |
>   from :: FromDevice($device)
>  -> SetTimestamp()
>  -> output;
>   input 
>         // Modify this argument for the size of the queue  ->
> Queue(11)
>         // Modify this argument for latency (seconds)
>  -> DelayShaper(.005)      
>  // Modify this argument for bandwidth (Bytes/second)
>    //     -> BandwidthShaper(32768)
>         -> BandwidthShaper(250000)
>  -> to :: ToDevice($device);
>   ScheduleInfo(from 1, to 1);
> }
>  
> client_dev :: GatewayDevice(eth0);
> server_dev :: GatewayDevice(eth1);
>  
> // The ARP class handles only two types of packets
> //   1. Responses to ARP queries 
> //   2. IP packets
> server_arp_class, client_arp_class :: Classifier(12/0806 20/0001,
> 12/0806 20/0002, 12/0800); client_arpq :: ARPQuerier(eth0); 
> server_arpq :: ARPQuerier(eth1);
>  
> 
> // Packets flowing from Client to Server // 
> =====================================
>  
> // Feed all packets arriving on the client interface to // the arp 
> class client_dev -> client_arp_class;
>  
> // Respond to ARP queries
> client_arp_class[0]
>  -> ARPResponder(eth0)
>  -> client_dev;
>  
> // Handle and save ARP responses
> client_arp_class[1] -> [1]client_arpq;
>  
> 
> // For every IP packet,
> // strip the Ethernet headers,
> // check the IP header,
> // annotate the packet with the destination IP address, // send it out 
> on the server interface client_arp_class[2]  -> Strip(14)  -> 
> CheckIPHeader  -> GetIPAddress(16)  -> [0]server_arpq  -> server_dev;
>  
> 
> // Packets flowing from Server to Client // 
> =====================================
>  
> // Feed all packets arriving on the server interface // to the arp 
> class server_dev -> server_arp_class;
>  
> // Respond to ARP queries
> server_arp_class[0]
>  -> ARPResponder(eth1)
>  -> server_dev;
>  
> // Handle and save ARP responses
> server_arp_class[1] -> [1]server_arpq;
>  
> // For every IP packet,
> // strip the Ethernet headers,
> // check the IP header,
> // annotate the packet with the destination IP address, // send it out 
> on the client interface server_arp_class[2]
>         -> Strip(14)
>         -> CheckIPHeader
>         -> GetIPAddress(16)
>         -> [0]client_arpq
>         -> client_dev
>  
> Søren Larsen
> IT-IOS
> Danfoss IT
>  
> Danfoss A/S
> Nordborgvej 81
> 6430 Nordborg
> Telephone : +45 xx xx xx xx
> Mail :  <mailto:S_Larsen at danfoss.com> S_Larsen at danfoss.com
>  
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click


More information about the click mailing list