summaryrefslogtreecommitdiffstats
path: root/input/packet
diff options
context:
space:
mode:
Diffstat (limited to 'input/packet')
-rw-r--r--input/packet/ulogd_inppkt_NFLOG.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/input/packet/ulogd_inppkt_NFLOG.c b/input/packet/ulogd_inppkt_NFLOG.c
index 70e9f77..36f11d7 100644
--- a/input/packet/ulogd_inppkt_NFLOG.c
+++ b/input/packet/ulogd_inppkt_NFLOG.c
@@ -31,7 +31,7 @@ struct nflog_input {
/* configuration entries */
static struct config_keyset libulog_kset = {
- .num_ces = 10,
+ .num_ces = 9,
.ces = {
{
.key = "bufsize",
@@ -52,6 +52,13 @@ static struct config_keyset libulog_kset = {
.u.value = 1,
},
{
+ .key = "bind",
+ .type = CONFIG_TYPE_INT,
+ .options = CONFIG_OPT_NONE,
+ .u.value = 0,
+ },
+
+ {
.key = "seq_local",
.type = CONFIG_TYPE_INT,
.options = CONFIG_OPT_NONE,
@@ -87,11 +94,12 @@ static struct config_keyset libulog_kset = {
#define bufsiz_ce(x) (x->ces[0])
#define group_ce(x) (x->ces[1])
#define unbind_ce(x) (x->ces[2])
-#define seq_ce(x) (x->ces[3])
-#define seq_global_ce(x) (x->ces[4])
-#define label_ce(x) (x->ces[5])
-#define nlsockbufsize_ce(x) (x->ces[6])
-#define nlsockbufmaxsize_ce(x) (x->ces[7])
+#define bind_ce(x) (x->ces[3])
+#define seq_ce(x) (x->ces[4])
+#define seq_global_ce(x) (x->ces[5])
+#define label_ce(x) (x->ces[6])
+#define nlsockbufsize_ce(x) (x->ces[7])
+#define nlsockbufmaxsize_ce(x) (x->ces[8])
enum nflog_keys {
NFLOG_KEY_RAW_MAC = 0,
@@ -497,7 +505,8 @@ static int start(struct ulogd_pluginstance *upi)
goto out_handle;
/* This is the system logging (conntrack, ...) facility */
- if (group_ce(upi->config_kset).u.value == 0) {
+ if ((group_ce(upi->config_kset).u.value == 0) ||
+ (bind_ce(upi->config_kset).u.value > 0)) {
if (become_system_logging(upi, AF_INET) == -1)
goto out_handle;
if (become_system_logging(upi, AF_INET6) == -1)