cvs commit: src/sys/netgraph/netflow ng_netflow.c

Louis Mamakos louie at transsys.com
Sun Feb 3 08:58:46 PST 2008


On Feb 2, 2008, at 4:31 PM, Alexander Motin wrote:

> Gleb Smirnoff пишет:
>>  you should have asked me for review before committing! This is
>> not a bug, this is a feature. This was quite clear from the comments,
>> that you removed:
>> -       /* if export hook disconnected stop running expire(). */
>>  This is intended behavior. We must not lose information unless
>> user explicitly wants to lose information. In the latter case
>> he will connect ng_hole(4) node to the "export" hook. But we must
>> not lose information if user runs some script that swaps receiving
>> node on the "export" hook.
>>  Please backout this change!
>
> Expire process was not depending completely on connected hook even  
> before this commit. For example, every TCP session closing forces  
> some data export. So even with export hook disconnected some data  
> still will be lost and not just lost, but it was leading to memory  
> leak which I have fixed with other commit.
>
> So if you insist that it was a feature then sorry. Then it should be  
> documented and fixed to work correctly. But as soon as nobody notice  
> that memory leak, probably nobody uses this feature actively.
>
> -- 
> Alexander Motin
>

If there's a concern about no losing the netflow data, then it's  
likely that it's usually the case that an export hook is connected.   
If a user wanted to change the export arrangement for the netflow  
data, then just disconnected and reconnecting to the export hook won't  
caused data to be lost if the expiry parameters are set to something  
reasonable.

Finally, in the absence of infinite amounts of memory, data will  
eventually be lost.  The only decision is over what duration data  
should be kept around so that it might be harvested.  It's a huge  
surprise that the netflow module consumes large amounts of kernel  
memory.  As a user, I expected the expiration timers to be the policy  
that I specify to control how long the netflow stats are stored, and  
my expectation wasn't met.

Louis Mamakos



More information about the cvs-src mailing list