diff options
| author | 2006-08-22 00:31:24 -0700 | |
|---|---|---|
| committer | 2006-09-22 14:55:24 -0700 | |
| commit | 2521c12cf1a29f6c380b13ca32a38175f6beed08 (patch) | |
| tree | 9077f28bd5a1fd25de83874f30cabcd28acb9e6c /net/netfilter/xt_CONNMARK.c | |
| parent | [NETFILTER]: ipt_recent: add module parameter for changing ownership of /proc/net/ipt_recent/* (diff) | |
| download | linux-dev-2521c12cf1a29f6c380b13ca32a38175f6beed08.tar.xz linux-dev-2521c12cf1a29f6c380b13ca32a38175f6beed08.zip | |
[NETFILTER]: conntrack: introduce connection mark event
This patch introduces the mark event. ctnetlink can use this to know if
the mark needs to be dumped.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/netfilter/xt_CONNMARK.c')
| -rw-r--r-- | net/netfilter/xt_CONNMARK.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/net/netfilter/xt_CONNMARK.c b/net/netfilter/xt_CONNMARK.c index 60c375d36f01..784482b74e58 100644 --- a/net/netfilter/xt_CONNMARK.c +++ b/net/netfilter/xt_CONNMARK.c @@ -52,13 +52,25 @@ target(struct sk_buff **pskb, switch(markinfo->mode) { case XT_CONNMARK_SET: newmark = (*ctmark & ~markinfo->mask) | markinfo->mark; - if (newmark != *ctmark) + if (newmark != *ctmark) { *ctmark = newmark; +#ifdef CONFIG_IP_NF_CONNTRACK_EVENTS + ip_conntrack_event_cache(IPCT_MARK, *pskb); +#else + nf_conntrack_event_cache(IPCT_MARK, *pskb); +#endif + } break; case XT_CONNMARK_SAVE: newmark = (*ctmark & ~markinfo->mask) | ((*pskb)->nfmark & markinfo->mask); - if (*ctmark != newmark) + if (*ctmark != newmark) { *ctmark = newmark; +#ifdef CONFIG_IP_NF_CONNTRACK_EVENTS + ip_conntrack_event_cache(IPCT_MARK, *pskb); +#else + nf_conntrack_event_cache(IPCT_MARK, *pskb); +#endif + } break; case XT_CONNMARK_RESTORE: nfmark = (*pskb)->nfmark; |
