#!/bin/bash RULESET="table ip x { set y { type ipv4_addr flags interval } } delete element ip x y { 2.3.4.5 }" $NFT -f - <<< $RULESET if [ $? -eq 0 ] then exit 1 fi RULESET="table ip x { set y { type ipv4_addr flags interval } } add element x y { 1.1.1.1/24 } delete element x y { 1.1.1.1/24 } add element x y { 1.1.1.1/24 } delete element x y { 2.2.2.2/24 }" $NFT -f - <<< $RULESET if [ $? -eq 0 ] then exit 1 fi RULESET="flush ruleset create table inet filter set inet filter foo {} add element inet filter foo { foobar }" $NFT -f - <<< $RULESET if [ $? -eq 0 ] then exit 1 fi RULESET="table ip x { map x { type ifname . ipv4_addr : verdict elements = { if2 . 10.0.0.2 : jump chain2, if2 . 192.168.0.0/24 : jump chain2 } } chain chain2 {} }" $NFT -f - <<< $RULESET if [ $? -eq 0 ] then exit 1 fi RULESET="add set inet filter myset { type ipv4_addr; flags interval; auto-merge } add element inet filter myset { 192.168.0.0/24 } add element inet filter myset { 192.168.0.2 } add element inet filter myset { 192.168.1.0/24 } add element inet filter myset { 192.168.1.100 }" $NFT -f - <<< $RULESET || exit 0