#!/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"
