Blame bootstrap_ver/iptables/tests/shell/testcases/arptables/0001-arptables-save-restore_0

Packit Service fa126c
#!/bin/bash
Packit Service fa126c
Packit Service fa126c
set -e
Packit Service fa126c
#set -x
Packit Service fa126c
Packit Service fa126c
# there is no legacy backend to test
Packit Service fa126c
[[ $XT_MULTI == */xtables-nft-multi ]] || { echo "skip $XT_MULTI"; exit 0; }
Packit Service fa126c
Packit Service fa126c
# fill arptables manually
Packit Service fa126c
Packit Service fa126c
$XT_MULTI arptables -F
Packit Service fa126c
$XT_MULTI arptables -A INPUT -s 10.0.0.0/8 -j ACCEPT
Packit Service fa126c
$XT_MULTI arptables -A INPUT -d 192.168.123.1 -j ACCEPT
Packit Service fa126c
$XT_MULTI arptables -A INPUT --source-mac fe:ed:ba:be:00:01 -j ACCEPT
Packit Service fa126c
$XT_MULTI arptables -A INPUT --destination-mac fe:ed:ba:be:00:01 -j ACCEPT
Packit Service fa126c
$XT_MULTI arptables -N foo
Packit Service fa126c
$XT_MULTI arptables -A foo -i lo -j ACCEPT
Packit Service fa126c
$XT_MULTI arptables -A foo -l 6 -j ACCEPT
Packit Service fa126c
$XT_MULTI arptables -A foo -j MARK --set-mark 12345
Packit Service fa126c
$XT_MULTI arptables -A foo --opcode Request -j ACCEPT
Packit Service fa126c
$XT_MULTI arptables -A foo --h-type 1 --proto-type 0x800 -j ACCEPT
Packit Service fa126c
$XT_MULTI arptables -A foo -l 6 --h-type 1 --proto-type 0x800 -i lo --opcode Request -j ACCEPT
Packit Service fa126c
$XT_MULTI arptables -A INPUT -j foo
Packit Service fa126c
$XT_MULTI arptables -A INPUT
Packit Service fa126c
Packit Service fa126c
$XT_MULTI arptables -A OUTPUT -o lo -j ACCEPT
Packit Service fa126c
$XT_MULTI arptables -A OUTPUT -o eth134 -j mangle --mangle-ip-s 10.0.0.1
Packit Service fa126c
$XT_MULTI arptables -A OUTPUT -o eth432 -j CLASSIFY --set-class feed:babe
Packit Service fa126c
$XT_MULTI arptables -A OUTPUT -o eth432 --opcode Request -j CLASSIFY --set-class feed:babe
Packit Service fa126c
$XT_MULTI arptables -P OUTPUT DROP
Packit Service fa126c
Packit Service fa126c
# compare against stored arptables dump
Packit Service fa126c
Packit Service fa126c
DUMP='*filter
Packit Service fa126c
:INPUT ACCEPT
Packit Service fa126c
:OUTPUT DROP
Packit Service fa126c
:foo -
Packit Service fa126c
-A INPUT -s 10.0.0.0/8 --h-length 6 --h-type 1 -j ACCEPT
Packit Service fa126c
-A INPUT -d 192.168.123.1 --h-length 6 --h-type 1 -j ACCEPT
Packit Service fa126c
-A INPUT --src-mac fe:ed:ba:be:00:01 --h-length 6 --h-type 1 -j ACCEPT
Packit Service fa126c
-A INPUT --dst-mac fe:ed:ba:be:00:01 --h-length 6 --h-type 1 -j ACCEPT
Packit Service fa126c
-A INPUT --h-length 6 --h-type 1 -j foo
Packit Service fa126c
-A INPUT --h-length 6 --h-type 1 
Packit Service fa126c
-A OUTPUT -o lo --h-length 6 --h-type 1 -j ACCEPT
Packit Service fa126c
-A OUTPUT -o eth134 --h-length 6 --h-type 1 -j mangle --mangle-ip-s 10.0.0.1
Packit Service fa126c
-A OUTPUT -o eth432 --h-length 6 --h-type 1 -j CLASSIFY --set-class feed:babe
Packit Service fa126c
-A OUTPUT -o eth432 --h-length 6 --opcode 1 --h-type 1 -j CLASSIFY --set-class feed:babe
Packit Service fa126c
-A foo -i lo --h-length 6 --h-type 1 -j ACCEPT
Packit Service fa126c
-A foo --h-length 6 --h-type 1 -j ACCEPT
Packit Service fa126c
-A foo --h-length 6 --h-type 1 -j MARK --set-xmark 0x3039/0xffffffff
Packit Service fa126c
-A foo --h-length 6 --opcode 1 --h-type 1 -j ACCEPT
Packit Service fa126c
-A foo --h-length 6 --h-type 1 --proto-type 0x800 -j ACCEPT
Packit Service fa126c
-A foo -i lo --h-length 6 --opcode 1 --h-type 1 --proto-type 0x800 -j ACCEPT
Packit Service fa126c
'
Packit Service fa126c
Packit Service fa126c
diff -u <(echo -e "$DUMP") <($XT_MULTI arptables-save)
Packit Service fa126c
Packit Service fa126c
# make sure dump can be restored and check it didn't change
Packit Service fa126c
Packit Service fa126c
$XT_MULTI arptables -F
Packit Service fa126c
$XT_MULTI arptables-restore <<<$DUMP
Packit Service fa126c
diff -u <(echo -e "$DUMP") <($XT_MULTI arptables-save)