diff options
| author | Patrick McHardy <kaber@trash.net> | 2005-01-26 06:03:38 -0800 |
|---|---|---|
| committer | David S. Miller <davem@nuts.davemloft.net> | 2005-01-26 06:03:38 -0800 |
| commit | 526160d90d978477e7712f3bf887dfcb1e2a2973 (patch) | |
| tree | f897ec724c9ff4b5c6f7b2b88d250c68ddcd124a /include | |
| parent | 5365e5da514e767a5843ae37fee8c3373f5b0cf9 (diff) | |
[IPV4]: Keep fragment queues private to each user.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/netfilter_ipv4/ip_conntrack.h | 3 | ||||
| -rw-r--r-- | include/net/ip.h | 17 |
2 files changed, 15 insertions, 5 deletions
diff --git a/include/linux/netfilter_ipv4/ip_conntrack.h b/include/linux/netfilter_ipv4/ip_conntrack.h index 138421138944..3781192ce159 100644 --- a/include/linux/netfilter_ipv4/ip_conntrack.h +++ b/include/linux/netfilter_ipv4/ip_conntrack.h @@ -262,10 +262,9 @@ extern void (*ip_conntrack_destroyed)(struct ip_conntrack *conntrack); /* Fake conntrack entry for untracked connections */ extern struct ip_conntrack ip_conntrack_untracked; -extern int ip_ct_no_defrag; /* Returns new sk_buff, or NULL */ struct sk_buff * -ip_ct_gather_frags(struct sk_buff *skb); +ip_ct_gather_frags(struct sk_buff *skb, u_int32_t user); /* Iterate over all conntracks: if iter returns true, it's deleted. */ extern void diff --git a/include/net/ip.h b/include/net/ip.h index deeab8c10759..b4db1375da2c 100644 --- a/include/net/ip.h +++ b/include/net/ip.h @@ -286,9 +286,20 @@ extern int ip_call_ra_chain(struct sk_buff *skb); /* * Functions provided by ip_fragment.o */ - -struct sk_buff *ip_defrag(struct sk_buff *skb); -extern void ipfrag_flush(void); + +enum ip_defrag_users +{ + IP_DEFRAG_LOCAL_DELIVER, + IP_DEFRAG_CALL_RA_CHAIN, + IP_DEFRAG_CONNTRACK_IN, + IP_DEFRAG_CONNTRACK_OUT, + IP_DEFRAG_NAT_OUT, + IP_DEFRAG_VS_IN, + IP_DEFRAG_VS_OUT, + IP_DEFRAG_VS_FWD +}; + +struct sk_buff *ip_defrag(struct sk_buff *skb, u32 user); extern int ip_frag_nqueues; extern atomic_t ip_frag_mem; |
