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 |
