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 There are a couple of preliminary tidying-up patches first. Jeremy Sowden (3): netfilter: nf_tables: white-space fixes. netfilter: bitwise: replace gotos with returns. netfilter: bitwise: add support for shifts. include/uapi/linux/netfilter/nf_tables.h | 9 ++- net/netfilter/nft_bitwise.c | 97 ++++++++++++++++++++---- net/netfilter/nft_set_bitmap.c | 4 +- net/netfilter/nft_set_hash.c | 2 +- 4 files changed, 94 insertions(+), 18 deletions(-) -- 2.24.1