netfilter: conntrack: remove prealloc support
It was used by the nat extension, but since commit
7c96643519
("netfilter: move nat hlist_head to nf_conn") its only needed
for connections that use MASQUERADE target or a nat helper.
Also it seems a lot easier to preallocate a fixed size instead.
With default settings, conntrack first adds ecache extension (sysctl
defaults to 1), so we get 40(ct extension header) + 24 (ecache) == 64 byte
on x86_64 for initial allocation.
Followup patches can constify the extension structs and avoid
the initial zeroing of the entire extension area.
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:

committed by
Pablo Neira Ayuso

parent
495dcb56d0
commit
54044b1f02
@@ -88,21 +88,15 @@ static inline void nf_ct_ext_free(struct nf_conn *ct)
|
||||
/* Add this type, returns pointer to data or NULL. */
|
||||
void *nf_ct_ext_add(struct nf_conn *ct, enum nf_ct_ext_id id, gfp_t gfp);
|
||||
|
||||
#define NF_CT_EXT_F_PREALLOC 0x0001
|
||||
|
||||
struct nf_ct_ext_type {
|
||||
/* Destroys relationships (can be NULL). */
|
||||
void (*destroy)(struct nf_conn *ct);
|
||||
|
||||
enum nf_ct_ext_id id;
|
||||
|
||||
unsigned int flags;
|
||||
|
||||
/* Length and min alignment. */
|
||||
u8 len;
|
||||
u8 align;
|
||||
/* initial size of nf_ct_ext. */
|
||||
u8 alloc_size;
|
||||
};
|
||||
|
||||
int nf_ct_extend_register(struct nf_ct_ext_type *type);
|
||||
|
Reference in New Issue
Block a user