
philipc at snapgear
Sep 2, 2007, 5:20 PM
Post #3 of 3
(748 views)
Permalink
|
|
Re: [PATCH] libnetfilter_conntrack: Packet/byte counters are 64 bit
[In reply to]
|
|
Pablo Neira Ayuso wrote: > Philip Craig wrote: >> The counters in struct nf_conntrack are 64 bit, so the getter/setter >> have to access them as such. > > Still my kernel has 32 bit counters although I know that there was a > patch on the table to recover 64 bits counters. I'm still getting in > sync with the development again, did that patch finally hit mainline? The kernel still sends 32 bit from what I can see, but this is problem independent of what the kernel sends. The library handles receiving both 32 and 64 bit counters from the kernel, and stores them in a 64 bit field in a structure. The getter/setter then access that field, but that doesn't work if they access only 32 bits of it, at least for big endian. An alternative fix is to change the nf_conntrack field to 32 bit, but I would only do that if you never intend for the kernel to send 64 bit counters.
|