summaryrefslogtreecommitdiffstats
path: root/filter/ulogd_filter_IP2BIN.c
diff options
context:
space:
mode:
Diffstat (limited to 'filter/ulogd_filter_IP2BIN.c')
-rw-r--r--filter/ulogd_filter_IP2BIN.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/filter/ulogd_filter_IP2BIN.c b/filter/ulogd_filter_IP2BIN.c
index 9bbeebb..9e6f3a9 100644
--- a/filter/ulogd_filter_IP2BIN.c
+++ b/filter/ulogd_filter_IP2BIN.c
@@ -39,7 +39,9 @@ enum input_keys {
KEY_ORIG_IP_DADDR,
KEY_REPLY_IP_SADDR,
KEY_REPLY_IP_DADDR,
- MAX_KEY = KEY_REPLY_IP_DADDR,
+ KEY_ARP_SPA,
+ KEY_ARP_TPA,
+ MAX_KEY = KEY_ARP_TPA,
};
static struct ulogd_key ip2bin_inp[] = {
@@ -83,6 +85,16 @@ static struct ulogd_key ip2bin_inp[] = {
.flags = ULOGD_RETF_NONE|ULOGD_KEYF_OPTIONAL,
.name = "reply.ip.daddr",
},
+ [KEY_ARP_SPA] = {
+ .type = ULOGD_RET_IPADDR,
+ .flags = ULOGD_RETF_NONE|ULOGD_KEYF_OPTIONAL,
+ .name = "arp.saddr",
+ },
+ [KEY_ARP_TPA] = {
+ .type = ULOGD_RET_IPADDR,
+ .flags = ULOGD_RETF_NONE|ULOGD_KEYF_OPTIONAL,
+ .name = "arp.daddr",
+ },
};
static struct ulogd_key ip2bin_keys[] = {
@@ -110,7 +122,14 @@ static struct ulogd_key ip2bin_keys[] = {
.type = ULOGD_RET_RAWSTR,
.name = "reply.ip.daddr.bin",
},
-
+ {
+ .type = ULOGD_RET_RAWSTR,
+ .name = "arp.saddr.bin",
+ },
+ {
+ .type = ULOGD_RET_RAWSTR,
+ .name = "arp.daddr.bin",
+ },
};
static char ipbin_array[MAX_KEY - START_KEY + 1][FORMAT_IPV6_BUFSZ];
@@ -150,6 +169,7 @@ static int interp_ip2bin(struct ulogd_pluginstance *pi)
addr_family = AF_INET6;
break;
case NFPROTO_IPV4:
+ case NFPROTO_ARP:
addr_family = AF_INET;
break;
case NFPROTO_BRIDGE: