xref: /aosp_15_r20/external/iptables/iptables/tests/shell/testcases/chain/0003rename_0 (revision a71a954618bbadd4a345637e5edcf36eec826889)
1#!/bin/bash -x
2
3die() {
4	echo "E: $@"
5	exit 1
6}
7
8cmds="iptables ip6tables"
9[[ $XT_MULTI == *xtables-nft-multi ]] && cmds+=" arptables ebtables"
10
11declare -A invnames
12invnames["existing"]="c2"
13invnames["spaced"]="foo bar"
14invnames["dashed"]="-foo"
15invnames["negated"]="!foo"
16# XXX: ebtables-nft accepts 255 chars
17#invnames["overlong"]="thisisquitealongnameforachain"
18invnames["standard target"]="ACCEPT"
19invnames["extension target"]="DNAT"
20
21for cmd in $cmds; do
22	$XT_MULTI $cmd -N c1 || die "$cmd: can't add chain c1"
23	$XT_MULTI $cmd -N c2 || die "$cmd: can't add chain c2"
24	for key in "${!invnames[@]}"; do
25		val="${invnames[$key]}"
26		if [[ $key == "extension target" ]]; then
27			if [[ $cmd == "arptables" ]]; then
28				val="mangle"
29			elif [[ $cmd == "ebtables" ]]; then
30				val="dnat"
31			fi
32		fi
33		$XT_MULTI $cmd -N "$val" && \
34			die "$cmd: added chain with $key name"
35		$XT_MULTI $cmd -E c1 "$val" && \
36			die "$cmd: renamed to $key name"
37	done
38done
39
40exit 0
41