diff options
Diffstat (limited to 'input/packet/ulogd_inppkt_NFLOG.c')
-rw-r--r-- | input/packet/ulogd_inppkt_NFLOG.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/input/packet/ulogd_inppkt_NFLOG.c b/input/packet/ulogd_inppkt_NFLOG.c index 8b6811c..3f013cc 100644 --- a/input/packet/ulogd_inppkt_NFLOG.c +++ b/input/packet/ulogd_inppkt_NFLOG.c @@ -55,6 +55,12 @@ static struct config_keyset libulog_kset = { .u.value = NFLOG_RMEM_DEFAULT, }, { + .key = "addressfamily", + .type = CONFIG_TYPE_INT, + .options = CONFIG_OPT_NONE, + .u.value = AF_INET, + }, + { .key = "unbind", .type = CONFIG_TYPE_INT, .options = CONFIG_OPT_NONE, @@ -98,6 +104,7 @@ enum nflog_keys { NFLOG_KEY_RAW_MAC_LEN, NFLOG_KEY_OOB_SEQ_LOCAL, NFLOG_KEY_OOB_SEQ_GLOBAL, + NFLOG_KEY_OOB_FAMILY, NFLOG_KEY_OOB_PROTOCOL, NFLOG_KEY_OOB_UID, }; @@ -225,6 +232,11 @@ static struct ulogd_key output_keys[] = { }, }, { + .type = ULOGD_RET_UINT8, + .flags = ULOGD_RETF_NONE, + .name = "oob.family", + }, + { .type = ULOGD_RET_UINT16, .flags = ULOGD_RETF_NONE, .name = "oob.protocol", @@ -255,6 +267,9 @@ interp_packet(struct ulogd_pluginstance *upi, struct nflog_data *ldata) u_int32_t uid; + ret[NFLOG_KEY_OOB_FAMILY].u.value.ui8 = af_ce(upi->config_kset).u.value; + ret[NFLOG_KEY_OOB_FAMILY].flags |= ULOGD_RETF_VALID; + if (ph) { /* FIXME */ ret[NFLOG_KEY_OOB_HOOK].u.value.ui8 = ph->hook; |