[Click] Problem with InfiniteSource and Discard

Nikola Knežević laladelausanne at gmail.com
Mon Dec 29 05:16:53 EST 2008


On 16 Dec 2008, at 18:45 , Eddie Kohler wrote:

> This is running in the kernel or at user level?
>>


>> one of my students discovered that when he uses a configuration  
>> like  this:
>> InfiniteSource(\<0800>, 1000000, 1, true) -> Discard;
>> Click dies with "out of memory" after 300k packets. Also, _packet-   
>> >clone(); returns NULL pointer. How to solve this issue?
>>

Hi guys,
I've tracked down the problem. It is relate only to FreeBSD, and when  
used in conjuction with InfiniteSource and Discard.  
Click::Packet::~Packet has a bug, since it checks whether data_pointer  
is null, and if yes, calls m_freem. It should call m_freem iff _m is  
not null. So, instead of m_freem being in an else branch, if should be  
in its own if branch.

Cheers,
Nikola


More information about the click mailing list