Bug?: ip_conntrack

From: Xuan Baldauf (technik--lkml@exmail.de)
Date: Mon Jun 05 2000 - 17:56:10 EST


Hello, maybe this bug is already known, but just in case...:

while playing around with ip_conntrack.o of linux2.4.0-test1-ac8, I
noticed following:

> rmmod ip_conntrack

would take about 10 minutes (after masquerading was used). I assumed
that it will never quit, but it did. Looking into the kernel source I
found at net/ipv4/netfilter/ip_conntrack_core.c:947:

void ip_conntrack_cleanup(void)
{
#ifdef CONFIG_SYSCTL
 unregister_sysctl_table(ip_conntrack_sysctl_header);
#endif

 i_see_dead_people:
 ip_ct_selective_cleanup(kill_all, NULL);
 if (atomic_read(&ip_conntrack_count) != 0) {
  schedule();
  goto i_see_dead_people;
 }

 kmem_cache_destroy(ip_conntrack_cachep);
 vfree(ip_conntrack_hash);
 nf_unregister_sockopt(&so_getorigdst);
}

 It seems that this loop "i_see_dead_people" is intended, but was it
intended to last so long (10 minutes)? "rmmod" took all the CPU time
(like a process which was under full workload). I assume that this
loop waits for all masquerading entries to be cleared, but is it
intended to do nothing to make the clearing faster (set the timeout to
0 for example)?

Xuân. :o)

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Jun 07 2000 - 21:00:23 EST