Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: IPFilter issue in -current
On 23/12/2012 8:34 PM, Geoff Adams wrote:
...
> The slightly good news is that patching ns_bucketlen to 0 after
> noticing this problem keeps everything happy, where before all
> clients on the network would regularly see random connection
> failures. (Please excuse the extreme hackery in that code; I was
> sleep deprived. Even decent debugging printfs would test for 0
> before decrementing, rather than that ugliness.)
>
> I haven't had time to track down what causes them to be 0 at this point,
> though.
That's the problem. Something else could be going on, like a memory
leak or you're creating a potential memory leak, but since we don't
yet know what the cause is, it is hard to know what treating the
symptom is letting happen.
> One final thing I've discovered: The following printf gets hit fairly
> frequently (as seen above):
>
> Index: ip_nat.c
> ===================================================================
> RCS file: /cvsroot/src/sys/external/bsd/ipf/netinet/ip_nat.c,v
> retrieving revision 1.7
> diff -u -r1.7 ip_nat.c
> --- ip_nat.c 20 Dec 2012 21:42:28 -0000 1.7
> +++ ip_nat.c 23 Dec 2012 09:20:58 -0000
> @@ -2992,6 +3007,7 @@
> if (natl != NULL) {
> DT2(ns_new_xlate_exists, fr_info_t *, fin, nat_t *, natl);
> NBUMPSIDE(0, ns_xlate_exists);
> + printf("ipf_nat_newrdr: mapping already exists!\n");
> return -1;
> }
>
> This causes ipf_nat_add to jump to badnat.
> I also haven't yet spent any time looking into why this occurs.
This is where a dtrace enabled kernel would help ;)
I would be curious to see what the timestamp of the output of those
printfs about ipf_nat_newrdr was relative to that of "NEW RDR" lines
from "ipmon -oN" (or do you run ipmon with -a?)
Darren
Home |
Main Index |
Thread Index |
Old Index