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-03-25 14:32:49 +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-03-25 14:32:49 +0000 |
commit | 845dc5b01cefe918597061f3b0534fd2a7b4ee1d (patch) | |
tree | 1788dde3561bd096deade15249c0f11c12e23e66 /src/conntrack/build.c | |
parent | ea5ae395bef0188a0f3d85444e9ae7abb611e051 (diff) |
This rather trivial patch adds ICMPv6 support for libnetfilter_conntrack,
but only for the new API - deprecated/extensions was left unchanged.
Signed-off-by: Krzysztof Oledzki <ole@ans.pl>
Diffstat (limited to 'src/conntrack/build.c')
-rw-r--r-- | src/conntrack/build.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/conntrack/build.c b/src/conntrack/build.c index 37dded0..cf65ef3 100644 --- a/src/conntrack/build.c +++ b/src/conntrack/build.c @@ -55,6 +55,7 @@ void __build_tuple_proto(struct nfnlhdr *req, nfnl_addattr_l(&req->nlh, size, CTA_PROTO_DST_PORT, &t->l4dst.tcp.port, sizeof(u_int16_t)); break; + case IPPROTO_ICMP: nfnl_addattr_l(&req->nlh, size, CTA_PROTO_ICMP_CODE, &t->l4dst.icmp.code, sizeof(u_int8_t)); @@ -63,6 +64,16 @@ void __build_tuple_proto(struct nfnlhdr *req, nfnl_addattr_l(&req->nlh, size, CTA_PROTO_ICMP_ID, &t->l4src.icmp.id, sizeof(u_int16_t)); break; + + case IPPROTO_ICMPV6: + nfnl_addattr_l(&req->nlh, size, CTA_PROTO_ICMPV6_CODE, + &t->l4dst.icmp.code, sizeof(u_int8_t)); + nfnl_addattr_l(&req->nlh, size, CTA_PROTO_ICMPV6_TYPE, + &t->l4dst.icmp.type, sizeof(u_int8_t)); + nfnl_addattr_l(&req->nlh, size, CTA_PROTO_ICMPV6_ID, + &t->l4src.icmp.id, sizeof(u_int16_t)); + break; + default: break; } |