#!/bin/bash

EXPECTED="table inet t {
	map m1 {
		typeof udp length . @ih,32,32 : verdict
		flags interval
		elements = { 20-80 . 0x14 : accept, 1-10 . 0xa : drop }
	}

	map m2 {
		typeof udp length . @ih,32,32 : verdict
		elements = { 20 . 0x24 : accept, 30 . 0x1e : drop }
	}

	chain c {
		udp length . @ih,32,32 vmap @m1
		udp length . @ih,32,32 vmap @m2
		udp length . @th,160,128 vmap { 47-63 . 0xe373135363130333131303735353203 : accept }
	}
}"

$NFT add element inet t m1 { 90-100 . 40 : drop }
$NFT delete element inet t m2 { 20 . 20 : accept }

set -e
$NFT -f - <<< $EXPECTED

