From 627be570eff8f05849614a257e6fa45c744f4dbd Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Fri, 10 Mar 2017 18:13:50 +0100 Subject: exthdr: Add support for exthdr specific flags This allows to have custom flags in exthdr expression, which is necessary for upcoming existence checks (of both IPv6 extension headers as well as TCP options). Signed-off-by: Phil Sutter Signed-off-by: Pablo Neira Ayuso --- include/expression.h | 1 + include/exthdr.h | 2 +- include/tcpopt.h | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/expression.h b/include/expression.h index 4f2948cc..423eae71 100644 --- a/include/expression.h +++ b/include/expression.h @@ -282,6 +282,7 @@ struct expr { const struct proto_hdr_template *tmpl; unsigned int offset; enum nft_exthdr_op op; + unsigned int flags; } exthdr; struct { /* EXPR_META */ diff --git a/include/exthdr.h b/include/exthdr.h index cdcc2b95..c7f806eb 100644 --- a/include/exthdr.h +++ b/include/exthdr.h @@ -23,7 +23,7 @@ extern struct expr *exthdr_expr_alloc(const struct location *loc, extern void exthdr_init_raw(struct expr *expr, uint8_t type, unsigned int offset, unsigned int len, - enum nft_exthdr_op op); + enum nft_exthdr_op op, uint32_t flags); extern bool exthdr_find_template(struct expr *expr, const struct expr *mask, unsigned int *shift); diff --git a/include/tcpopt.h b/include/tcpopt.h index f43a7eb7..412d02e7 100644 --- a/include/tcpopt.h +++ b/include/tcpopt.h @@ -8,7 +8,8 @@ extern struct expr *tcpopt_expr_alloc(const struct location *loc, uint8_t type, uint8_t field); extern void tcpopt_init_raw(struct expr *expr, uint8_t type, - unsigned int offset, unsigned int len); + unsigned int offset, unsigned int len, + uint32_t flags); extern bool tcpopt_find_template(struct expr *expr, const struct expr *mask, unsigned int *shift); -- cgit v1.2.3