#!/bin/bash # list table with all objects and chains EXPECTED="table ip test { quota https-quota { 25 mbytes } ct helper cthelp { type \"sip\" protocol tcp l3proto ip } ct timeout cttime { protocol udp l3proto ip policy = { unreplied : 15, replied : 12 } } ct expectation ctexpect { protocol tcp dport 5432 timeout 1h size 12 l3proto ip } chain input { } }" set -e $NFT add table test $NFT add chain test input $NFT add quota test https-quota 25 mbytes $NFT add ct helper test cthelp { type \"sip\" protocol tcp \; } $NFT add ct timeout test cttime { protocol udp \; policy = {replied : 12, unreplied : 15 } \; } $NFT add ct expectation test ctexpect { protocol tcp \; dport 5432 \; timeout 1h \; size 12 \; } $NFT add table test-ip GET="$($NFT list table test)" if [ "$EXPECTED" != "$GET" ] ; then DIFF="$(which diff)" [ -x $DIFF ] && $DIFF -u <(echo "$EXPECTED") <(echo "$GET") exit 1 fi