All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH nf-next v3 00/10] netfilter: nft_bitwise: shift support
@ 2020-01-15 20:05 Jeremy Sowden
  2020-01-15 20:05 ` [PATCH nf-next v3 01/10] netfilter: nf_tables: white-space fixes Jeremy Sowden
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: Jeremy Sowden @ 2020-01-15 20:05 UTC (permalink / raw)
  To: Pablo Neira Ayuso; +Cc: Netfilter Devel

The connmark xtables extension supports bit-shifts.  Add support for
shifts to nft_bitwise in order to allow nftables to do likewise, e.g.:

  nft add rule t c oif lo ct mark set meta mark << 8 | 0xab
  nft add rule t c iif lo meta mark & 0xff 0xab ct mark set meta mark >> 8

Changes since v2:

  * convert NFTA_BITWISE_DATA from u32 to nft_data;
  * add check that shift value is not too large;
  * use BITS_PER_TYPE to get the size of u32, rather than hard-coding it
    when evaluating shifts.

Changes since v1:

  * more white-space fixes;
  * move bitwise op enum to UAPI;
  * add NFTA_BITWISE_OP and NFTA_BITWISE_DATA;
  * remove NFTA_BITWISE_LSHIFT and NFTA_BITWISE_RSHIFT;
  * add helpers for initializaing, evaluating and dumping different
    types of operation.

Jeremy Sowden (10):
  netfilter: nf_tables: white-space fixes.
  netfilter: bitwise: remove NULL comparisons from attribute checks.
  netfilter: bitwise: replace gotos with returns.
  netfilter: bitwise: add NFTA_BITWISE_OP netlink attribute.
  netfilter: bitwise: add helper for initializing boolean operations.
  netfilter: bitwise: add helper for evaluating boolean operations.
  netfilter: bitwise: add helper for dumping boolean operations.
  netfilter: bitwise: only offload boolean operations.
  netfilter: bitwise: add NFTA_BITWISE_DATA attribute.
  netfilter: bitwise: add support for shifts.

 include/uapi/linux/netfilter/nf_tables.h |  24 ++-
 net/netfilter/nft_bitwise.c              | 217 ++++++++++++++++++-----
 net/netfilter/nft_set_bitmap.c           |   4 +-
 net/netfilter/nft_set_hash.c             |   2 +-
 4 files changed, 200 insertions(+), 47 deletions(-)

-- 
2.24.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2020-01-15 20:48 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-01-15 20:05 [PATCH nf-next v3 00/10] netfilter: nft_bitwise: shift support Jeremy Sowden
2020-01-15 20:05 ` [PATCH nf-next v3 01/10] netfilter: nf_tables: white-space fixes Jeremy Sowden
2020-01-15 20:05 ` [PATCH nf-next v3 02/10] netfilter: bitwise: remove NULL comparisons from attribute checks Jeremy Sowden
2020-01-15 20:05 ` [PATCH nf-next v3 03/10] netfilter: bitwise: replace gotos with returns Jeremy Sowden
2020-01-15 20:05 ` [PATCH nf-next v3 04/10] netfilter: bitwise: add NFTA_BITWISE_OP netlink attribute Jeremy Sowden
2020-01-15 20:05 ` [PATCH nf-next v3 05/10] netfilter: bitwise: add helper for initializing boolean operations Jeremy Sowden
2020-01-15 20:05 ` [PATCH nf-next v3 06/10] netfilter: bitwise: add helper for evaluating " Jeremy Sowden
2020-01-15 20:05 ` [PATCH nf-next v3 07/10] netfilter: bitwise: add helper for dumping " Jeremy Sowden
2020-01-15 20:05 ` [PATCH nf-next v3 08/10] netfilter: bitwise: only offload " Jeremy Sowden
2020-01-15 20:05 ` [PATCH nf-next v3 09/10] netfilter: bitwise: add NFTA_BITWISE_DATA attribute Jeremy Sowden
2020-01-15 20:05 ` [PATCH nf-next v3 10/10] netfilter: bitwise: add support for shifts Jeremy Sowden
2020-01-15 20:48 ` [PATCH nf-next v3 00/10] netfilter: nft_bitwise: shift support Jeremy Sowden

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.