summaryrefslogtreecommitdiffstats
path: root/src/netlink_delinearize.c
diff options
context:
space:
mode:
authorLaura Garcia Liebana <nevola@gmail.com>2016-10-22 23:36:07 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2016-10-27 21:46:43 +0200
commitd4f9a8fb9e9acc09b0726e19e7c8e5faaa959803 (patch)
tree0277f97784fdda68d2e2acb6c8ba493135466a5f /src/netlink_delinearize.c
parent8a7f6de536408336770e352cde939f8cb09a644d (diff)
src: add offset attribute for numgen expression
Add support to add an offset to the numgen generated value. Example: ct mark set numgen inc mod 2 offset 100 This will generate marks with serie like 100, 101, 100, ... Signed-off-by: Laura Garcia Liebana <nevola@gmail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/netlink_delinearize.c')
-rw-r--r--src/netlink_delinearize.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/netlink_delinearize.c b/src/netlink_delinearize.c
index d8d1d7d7..c3b0b278 100644
--- a/src/netlink_delinearize.c
+++ b/src/netlink_delinearize.c
@@ -590,13 +590,14 @@ static void netlink_parse_numgen(struct netlink_parse_ctx *ctx,
const struct nftnl_expr *nle)
{
enum nft_registers dreg;
- uint32_t type, until;
+ uint32_t type, until, offset;
struct expr *expr;
type = nftnl_expr_get_u32(nle, NFTNL_EXPR_NG_TYPE);
until = nftnl_expr_get_u32(nle, NFTNL_EXPR_NG_MODULUS);
+ offset = nftnl_expr_get_u32(nle, NFTNL_EXPR_NG_OFFSET);
- expr = numgen_expr_alloc(loc, type, until);
+ expr = numgen_expr_alloc(loc, type, until, offset);
dreg = netlink_parse_register(nle, NFTNL_EXPR_NG_DREG);
netlink_set_register(ctx, dreg, expr);
}