Loading net/netfilter/nft_numgen.c +22 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,16 @@ static int nft_ng_inc_init(const struct nft_ctx *ctx, return err; } static bool nft_ng_inc_reduce(struct nft_regs_track *track, const struct nft_expr *expr) { const struct nft_ng_inc *priv = nft_expr_priv(expr); nft_reg_track_cancel(track, priv->dreg, NFT_REG32_SIZE); return false; } static int nft_ng_dump(struct sk_buff *skb, enum nft_registers dreg, u32 modulus, enum nft_ng_types type, u32 offset) { Loading Loading @@ -172,6 +182,16 @@ static int nft_ng_random_dump(struct sk_buff *skb, const struct nft_expr *expr) priv->offset); } static bool nft_ng_random_reduce(struct nft_regs_track *track, const struct nft_expr *expr) { const struct nft_ng_random *priv = nft_expr_priv(expr); nft_reg_track_cancel(track, priv->dreg, NFT_REG32_SIZE); return false; } static struct nft_expr_type nft_ng_type; static const struct nft_expr_ops nft_ng_inc_ops = { .type = &nft_ng_type, Loading @@ -180,6 +200,7 @@ static const struct nft_expr_ops nft_ng_inc_ops = { .init = nft_ng_inc_init, .destroy = nft_ng_inc_destroy, .dump = nft_ng_inc_dump, .reduce = nft_ng_inc_reduce, }; static const struct nft_expr_ops nft_ng_random_ops = { Loading @@ -188,6 +209,7 @@ static const struct nft_expr_ops nft_ng_random_ops = { .eval = nft_ng_random_eval, .init = nft_ng_random_init, .dump = nft_ng_random_dump, .reduce = nft_ng_random_reduce, }; static const struct nft_expr_ops * Loading Loading
net/netfilter/nft_numgen.c +22 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,16 @@ static int nft_ng_inc_init(const struct nft_ctx *ctx, return err; } static bool nft_ng_inc_reduce(struct nft_regs_track *track, const struct nft_expr *expr) { const struct nft_ng_inc *priv = nft_expr_priv(expr); nft_reg_track_cancel(track, priv->dreg, NFT_REG32_SIZE); return false; } static int nft_ng_dump(struct sk_buff *skb, enum nft_registers dreg, u32 modulus, enum nft_ng_types type, u32 offset) { Loading Loading @@ -172,6 +182,16 @@ static int nft_ng_random_dump(struct sk_buff *skb, const struct nft_expr *expr) priv->offset); } static bool nft_ng_random_reduce(struct nft_regs_track *track, const struct nft_expr *expr) { const struct nft_ng_random *priv = nft_expr_priv(expr); nft_reg_track_cancel(track, priv->dreg, NFT_REG32_SIZE); return false; } static struct nft_expr_type nft_ng_type; static const struct nft_expr_ops nft_ng_inc_ops = { .type = &nft_ng_type, Loading @@ -180,6 +200,7 @@ static const struct nft_expr_ops nft_ng_inc_ops = { .init = nft_ng_inc_init, .destroy = nft_ng_inc_destroy, .dump = nft_ng_inc_dump, .reduce = nft_ng_inc_reduce, }; static const struct nft_expr_ops nft_ng_random_ops = { Loading @@ -188,6 +209,7 @@ static const struct nft_expr_ops nft_ng_random_ops = { .eval = nft_ng_random_eval, .init = nft_ng_random_init, .dump = nft_ng_random_dump, .reduce = nft_ng_random_reduce, }; static const struct nft_expr_ops * Loading