#!/bin/bash set -e EXPECTED="define interfaces = { eth0, eth1 } table ip x { map z { type ifname : verdict elements = { \$interfaces : drop, lo : accept } } chain y { iifname vmap { lo : accept, \$interfaces : drop } } }" $NFT -f - <<< "$EXPECTED" EXPECTED="table ip x { map w { typeof ip saddr . meta mark : verdict flags interval counter elements = { 127.0.0.1-127.0.0.4 . 0x123434-0xb00122 : accept, } } chain k { type filter hook input priority filter + 1; policy accept; meta mark set 0x123434 ip saddr . meta mark vmap @w } }" $NFT -f - <<< "$EXPECTED"