summaryrefslogtreecommitdiffstats
path: root/src/conntrack/api.c
diff options
context:
space:
mode:
author/C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org </C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org>2007-06-07 18:45:47 +0000
committer/C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org </C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org>2007-06-07 18:45:47 +0000
commit7c9c8caef248a5445a8840320e5c71c6df71768d (patch)
tree0a3a38c66f38e32c046d7df1def928e25df2d0b7 /src/conntrack/api.c
parentf585a8a3f0e24bb2d51b8876057d5835ba3172ba (diff)
Introduce NFCT_Q_CREATE_UPDATE: create conntrack, if it exists, update it
Diffstat (limited to 'src/conntrack/api.c')
-rw-r--r--src/conntrack/api.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/conntrack/api.c b/src/conntrack/api.c
index 2d90818..245ced2 100644
--- a/src/conntrack/api.c
+++ b/src/conntrack/api.c
@@ -428,17 +428,18 @@ int nfct_build_conntrack(struct nfnl_subsys_handle *ssh,
* depending on the request.
*
* For query types:
- * NFCT_Q_CREATE
- * NFCT_Q_UPDATE
- * NFCT_Q_DESTROY
- * NFCT_Q_GET
+ * NFCT_Q_CREATE: add a new conntrack, if it exists, fail
+ * NFCT_O_CREATE_UPDATE: add a new conntrack, if it exists, update it
+ * NFCT_Q_UPDATE: update a conntrack
+ * NFCT_Q_DESTROY: destroy a conntrack
+ * NFCT_Q_GET: get a conntrack
*
* Pass a valid pointer to a conntrack object.
*
* For query types:
- * NFCT_Q_FLUSH
- * NFCT_Q_DUMP
- * NFCT_Q_DUMP_RESET
+ * NFCT_Q_FLUSH: flush the conntrack table
+ * NFCT_Q_DUMP: dump the conntrack table
+ * NFCT_Q_DUMP_RESET: dump the conntrack table and reset counters
*
* Pass a valid pointer to the protocol family (u_int8_t)
*
@@ -482,6 +483,10 @@ int nfct_build_query(struct nfnl_subsys_handle *ssh,
case NFCT_Q_DUMP_RESET:
nfnl_fill_hdr(ssh, &req->nlh, 0, *family, 0, IPCTNL_MSG_CT_GET_CTRZERO, NLM_F_ROOT|NLM_F_MATCH|NLM_F_REQUEST|NLM_F_DUMP);
break;
+ case NFCT_Q_CREATE_UPDATE:
+ nfct_build_conntrack(ssh, req, size, IPCTNL_MSG_CT_NEW, NLM_F_REQUEST|NLM_F_CREATE|NLM_F_ACK, data);
+ break;
+
default:
errno = ENOTSUP;
return -1;