From 845dc5b01cefe918597061f3b0534fd2a7b4ee1d Mon Sep 17 00:00:00 2001 From: "/C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org" Date: Tue, 25 Mar 2008 14:32:49 +0000 Subject: 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 --- src/conntrack/parse.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/conntrack/parse.c') diff --git a/src/conntrack/parse.c b/src/conntrack/parse.c index 6fc7732..e5e62c8 100644 --- a/src/conntrack/parse.c +++ b/src/conntrack/parse.c @@ -152,6 +152,24 @@ static void __parse_proto(const struct nfattr *attr, *(u_int16_t *)NFA_DATA(tb[CTA_PROTO_ICMP_ID-1]); set_bit(ATTR_ICMP_ID, set); } + + if (tb[CTA_PROTO_ICMPV6_TYPE-1]) { + tuple->l4dst.icmp.type = + *(u_int8_t *)NFA_DATA(tb[CTA_PROTO_ICMPV6_TYPE-1]); + set_bit(ATTR_ICMP_TYPE, set); + } + + if (tb[CTA_PROTO_ICMPV6_CODE-1]) { + tuple->l4dst.icmp.code = + *(u_int8_t *)NFA_DATA(tb[CTA_PROTO_ICMPV6_CODE-1]); + set_bit(ATTR_ICMP_CODE, set); + } + + if (tb[CTA_PROTO_ICMPV6_ID-1]) { + tuple->l4src.icmp.id = + *(u_int16_t *)NFA_DATA(tb[CTA_PROTO_ICMPV6_ID-1]); + set_bit(ATTR_ICMP_ID, set); + } } void __parse_tuple(const struct nfattr *attr, -- cgit v1.2.3