diff options
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> | 2008-02-10 02:07:42 +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> | 2008-02-10 02:07:42 +0000 |
commit | f2c0b30fcdca99a0a3db69e1118b406e1829541c (patch) | |
tree | 371f445e887899cd32b66483cfd3d69c94d4a671 /filter | |
parent | ac46219f7e855b8405165616cb8845c8af6b2b3d (diff) |
revert r7348
Diffstat (limited to 'filter')
-rw-r--r-- | filter/raw2packet/ulogd_raw2packet_BASE.c | 32 |
1 files changed, 9 insertions, 23 deletions
diff --git a/filter/raw2packet/ulogd_raw2packet_BASE.c b/filter/raw2packet/ulogd_raw2packet_BASE.c index 62a9a87..48f2993 100644 --- a/filter/raw2packet/ulogd_raw2packet_BASE.c +++ b/filter/raw2packet/ulogd_raw2packet_BASE.c @@ -44,7 +44,6 @@ #include <ulogd/ipfix_protocol.h> enum output_keys { - KEY_OOB_FAMILY, KEY_IP_SADDR, KEY_IP_DADDR, KEY_IP_PROTOCOL, @@ -99,11 +98,6 @@ enum output_keys { }; static struct ulogd_key iphdr_rets[] = { - [KEY_OOB_FAMILY] = { - .type = ULOGD_RET_UINT8, - .flags = ULOGD_RETF_NONE, - .name = "oob.family", - }, [KEY_IP_SADDR] = { .type = ULOGD_RET_IPADDR, .flags = ULOGD_RETF_NONE, @@ -825,27 +819,15 @@ out: static int _interp_pkt(struct ulogd_pluginstance *pi) { - struct ulogd_key *ret = pi->output.keys; - struct iphdr *iph = pi->input.keys[0].u.source->u.value.ptr; u_int32_t len = pi->input.keys[1].u.source->u.value.ui32; u_int8_t family = pi->input.keys[2].u.source->u.value.ui8; - switch (iph->version) { - case 4: - ret[KEY_OOB_FAMILY].u.value.ui8 = AF_INET; - ret[KEY_OOB_FAMILY].flags |= ULOGD_RETF_VALID; - - return _interp_iphdr(pi, len); - case 6: - ret[KEY_OOB_FAMILY].u.value.ui8 = AF_INET6; - ret[KEY_OOB_FAMILY].flags |= ULOGD_RETF_VALID; - - return _interp_ipv6hdr(pi, len); - default: - /* unknown protocol */ - return 0; + switch (family) { + case AF_INET: + return _interp_iphdr(pi, len); + case AF_INET6: + return _interp_ipv6hdr(pi, len); } - return 0; } @@ -865,6 +847,10 @@ static struct ulogd_key base_inp[] = { .vendor = IPFIX_VENDOR_NETFILTER, .field_id = IPFIX_NF_rawpacket_length, }, + }, + { + .type = ULOGD_RET_UINT8, + .name = "oob.family", } }; |