diff options
author | Yasuyuki Kozakai <yasuyuki.kozakai@toshiba.co.jp> | 2007-03-14 19:43:37 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-26 01:25:54 -0400 |
commit | edda553c324bdc5bb5c2d553b524cab37058a855 (patch) | |
tree | 04b041d20e685e2d7dab1dad41419af0360aa312 /include/linux | |
parent | 9b88790972498d235a2a4d2b66640c3c5b70bb7c (diff) |
[NETFILTER]: nf_conntrack: add __nf_copy() to copy members in skb
This unifies the codes to copy netfilter related datas. Note that
__nf_copy() assumes destination skb doesn't have any netfilter
related members.
Signed-off-by: Yasuyuki Kozakai <yasuyuki.kozakai@toshiba.co.jp>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/skbuff.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 39a6da243b24..62ab1ab07028 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -1498,8 +1498,25 @@ static inline void nf_reset(struct sk_buff *skb) | |||
1498 | #endif | 1498 | #endif |
1499 | } | 1499 | } |
1500 | 1500 | ||
1501 | /* Note: This doesn't put any conntrack and bridge info in dst. */ | ||
1502 | static inline void __nf_copy(struct sk_buff *dst, const struct sk_buff *src) | ||
1503 | { | ||
1504 | dst->nfct = src->nfct; | ||
1505 | nf_conntrack_get(src->nfct); | ||
1506 | dst->nfctinfo = src->nfctinfo; | ||
1507 | #if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE) | ||
1508 | dst->nfct_reasm = src->nfct_reasm; | ||
1509 | nf_conntrack_get_reasm(src->nfct_reasm); | ||
1510 | #endif | ||
1511 | #ifdef CONFIG_BRIDGE_NETFILTER | ||
1512 | dst->nf_bridge = src->nf_bridge; | ||
1513 | nf_bridge_get(src->nf_bridge); | ||
1514 | #endif | ||
1515 | } | ||
1516 | |||
1501 | #else /* CONFIG_NETFILTER */ | 1517 | #else /* CONFIG_NETFILTER */ |
1502 | static inline void nf_reset(struct sk_buff *skb) {} | 1518 | static inline void nf_reset(struct sk_buff *skb) {} |
1519 | static inline void __nf_copy(struct sk_buff *dst, const struct sk_buff *src) {} | ||
1503 | #endif /* CONFIG_NETFILTER */ | 1520 | #endif /* CONFIG_NETFILTER */ |
1504 | 1521 | ||
1505 | #ifdef CONFIG_NETWORK_SECMARK | 1522 | #ifdef CONFIG_NETWORK_SECMARK |