Re: Is this nf_conn "use" counter bug???

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



kendo wrote:
>  In my linux 2.6.30.9,I found a strange question about netfilter:
>   
> [root@localhost ~]# conntrack -L | grep flow
> conntrack v0.9.13 (conntrack-tools): 321 flow entries have been shown.
> 
> [root@localhost ~]# conntrack -C
> 14360
> 
> ct.count(14360) is far greater than the conntrack hash table number(321).Final,table full...game over.
> 
> Further analysis of statistics counters:
> 
> [root@localhost ~]# cat /proc/net/stat/nf_conntrack
> entries  searched found new invalid ignore delete delete_list insert insert_failed drop early_drop icmp_error  expect_new expect_create expect_delete
> 0000392c  00000078 00036049 000042b9 000005f7 0000037f 00000468 000039af 00004291 0000002a 00000000 00000000 0000015c  00000000 00000000 00000000 
> 0000392c  00000003 0000873e 00000012 00000061 00000414 00000053 000007a5 00000012 00000000 00000000 00000000 00000002  00000000 00000000 00000000 
> 0000392c  00000000 000017c4 00000002 00000012 00000eb8 00000103 00000009 00000002 00000000 00000000 00000000 00000000  00000000 00000000 00000000 
> 0000392c  00000004 00002a4d 00000004 00000018 000005a3 000000f6 00000011 00000003 00000000 00000000 00000000 00000003  00000000 00000000 00000000 
> 0000392c  00000006 000034d6 0000007d 0000004f 00000197 000000a5 00000031 00000030 00000051 00000000 00000000 0000000c  00000000 00000000 00000000 
> 0000392c  00000004 000038a8 00000004 00000055 00000383 000000cf 00000016 00000004 00000000 00000000 00000000 00000002  00000000 00000000 00000000 
> 0000392c  00000004 00002e82 00000004 0000000d 0000179c 0000010e 00000014 00000004 00000000 00000000 00000000 00000000  00000000 00000000 00000000 
> 0000392c  00000001 00003911 00000005 0000006d 000002fd 000000f9 00000011 00000005 00000000 00000000 00000000 00000002  00000000 00000000 00000000
> 
> I found "delete_list"(16868) countres is far greater than the "delete"(2607) counters.Is cant't be release when a conntrack be delete from conntrack hash table???
> 
> static void death_by_timeout(unsigned long ul_conntrack)
> {
>  struct ip_conntrack *ct = (void *)ul_conntrack;
> 
>  WRITE_LOCK(&ip_conntrack_lock);
>  /* Inside lock so preempt is disabled on module removal path.
>   * Otherwise we can get spurious warnings. */
>  CONNTRACK_STAT_INC(delete_list);
>  clean_from_lists(ct);
>  WRITE_UNLOCK(&ip_conntrack_lock);
>  ip_conntrack_put(ct);
> }

This code looks like from the 2.4 era.

> static inline void nf_conntrack_put(struct nf_conntrack *nfct)
> {
>  if (nfct && atomic_dec_and_test(&nfct->use))
>   nf_conntrack_destroy(nfct);
> }
> 
> What is wrong with the nfct->use counter may be the problem,Lead to nf_conntrack_destroy functions can not properly be called? From a statistical counter to the results of,clean_from_lists have been implemented,but the nf_conntrack_destroy does not seem to be running.
> 
> This is only my guess,I didn't fond any thing from the source code.However,if it is not so,What causes my connection to track the total number of non-stop to rise,table full and memory has been eaten?

Most likely there's an skb leak somewhere and the conntrack references
are not released.

> Environment:
> -----internet--cisco switch (two port bonding)-----linux box(two bridge)----cisco switch(two port bonging)---server
> 
> Cisco switch link aggregation,use two port.Linux box have two Independent network bridge.

Please post your full network settings and netfilter rules.
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux