[Click] Problem when running click with adding a new element

Beyers Cronje bcronje at cs.co.za
Sun Oct 17 06:15:17 EDT 2004


Hi Yacine,
 
Have a look at http://www.pdos.lcs.mit.edu/click/doc/progman.html#Header%20Annotations . The packet header annotations have to be set in order to use 
p->ip_header and friends. CheckIPHeader element sets the IP header annonations, so in your example put your element in the config somewhere after CheckIPHeader in the config graph.
 
Alternatively you can use the following casts to gain a pointer to the IP and TCP (same for UDP) header if the header annotations haven't been set:
 
click_ip *ip = reinterpret_cast<click_ip *>(p->data());
click_tcp *tcph = reinterpret_cast<click_tcp *>(reinterpret_cast<unsigned char *>(ip) + (ip->ip_hl << 2));
 
Important, to use the above casts the packet should be an IP packet with ethernet header removed, this can easily be accomplished by using the Strip(14) element before your element.
 
Hope this helps.
 
Regards
 
Beyers Cronje
 

________________________________

From: click-bounces at amsterdam.lcs.mit.edu on behalf of yacine.djemaiel
Sent: Sat 10/16/2004 9:57 AM
To: click
Subject: [Click] Problem when running click with adding a new element



Hi,
I am trying to familiarize with click by building a new
element. Following Mr. Eddie Kohler's thesis i have succeeded
to add a new element that forward packets without handle them.
In the next step, i have tried to manipulate the click_ip
class so i call a new method in the pull method, the content
of this method is :

Packet *
NewElement::treat_packet(int port, Packet *p)
{

const click_ip *iph = p->ip_header();
if (iph->ip_p != IPPROTO_TCP) click_chatter("Non TCP
trafic");
else return p;
return p;
}

When running click with the following config, i obtain this
error message :
Segmentation fault

config used : FromDevice(eth0)->NewElement->Discard;

i have added a Queue, before the NewElement but i have
received the same error.

Thanks in advance,

Yacine Djemail


Accédez au courrier électronique de La Poste : www.laposte.net ;
3615 LAPOSTENET (0,34EUR/mn) ; tél : 08 92 68 13 50 (0,34EUR/mn)




_______________________________________________
click mailing list
click at amsterdam.lcs.mit.edu
https://amsterdam.lcs.mit.edu/mailman/listinfo/click



This is an email from CS Holdings. It is confidential to the ordinary user of the email address
to which it is addressed and may contain copyright and/or legally privileged information. No one
else may read, print, store, copy, forward or act in reliance upon all or any part of it or its 
attachments. If you received this email in error please notify its sender.


More information about the click mailing list