summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorEric Leblond <eric@regit.org>2013-07-29 00:30:56 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2013-07-31 19:27:25 +0200
commitd0218ea4573837d775c3e605913a45021f1526b9 (patch)
treee22d649f5bb96353d2ab1fda6a78dfae279b774e /include
parenta320531e78f1bcb12b24da048f34592771392a9a (diff)
src: Add icmpv6 support
This patch adds ICMPv6 support to nftables. It is now possible to write rules such as: nft add rule ip6 filter input icmpv6 type nd-router-advert accept Signed-off-by: Eric Leblond <eric@regit.org> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'include')
-rw-r--r--include/datatype.h2
-rw-r--r--include/payload.h14
2 files changed, 16 insertions, 0 deletions
diff --git a/include/datatype.h b/include/datatype.h
index 053fbd93..239d5ea5 100644
--- a/include/datatype.h
+++ b/include/datatype.h
@@ -32,6 +32,7 @@
* @TYPE_CT_STATE: conntrack state (bitmask subtype)
* @TYPE_CT_DIR: conntrack direction
* @TYPE_CT_STATUS: conntrack status (bitmask subtype)
+ * @TYPE_ICMP6_TYPE: ICMPv6 type codes (integer subtype)
*/
enum datatypes {
TYPE_INVALID,
@@ -62,6 +63,7 @@ enum datatypes {
TYPE_CT_STATE,
TYPE_CT_DIR,
TYPE_CT_STATUS,
+ TYPE_ICMP6_TYPE,
__TYPE_MAX
};
#define TYPE_MAX (__TYPE_MAX - 1)
diff --git a/include/payload.h b/include/payload.h
index 8f5398b7..c9cc84f3 100644
--- a/include/payload.h
+++ b/include/payload.h
@@ -197,6 +197,18 @@ enum icmp_hdr_fields {
ICMPHDR_MTU,
};
+enum icmp6_hdr_fields {
+ ICMP6HDR_INVALID,
+ ICMP6HDR_TYPE,
+ ICMP6HDR_CODE,
+ ICMP6HDR_CHECKSUM,
+ ICMP6HDR_PPTR,
+ ICMP6HDR_MTU,
+ ICMP6HDR_ID,
+ ICMP6HDR_SEQ,
+ ICMP6HDR_MAXDELAY,
+};
+
enum ip6_hdr_fields {
IP6HDR_INVALID,
IP6HDR_VERSION,
@@ -207,6 +219,7 @@ enum ip6_hdr_fields {
IP6HDR_HOPLIMIT,
IP6HDR_SADDR,
IP6HDR_DADDR,
+ IP6HDR_PROTOCOL,
};
enum ah_hdr_fields {
@@ -278,6 +291,7 @@ extern const struct payload_desc payload_udplite;
extern const struct payload_desc payload_tcp;
extern const struct payload_desc payload_dccp;
extern const struct payload_desc payload_sctp;
+extern const struct payload_desc payload_icmp6;
extern const struct payload_desc payload_ip;
extern const struct payload_desc payload_ip6;