%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
#!/bin/bash # SPDX-License-Identifier: GPL-2.0 # # add private ipv4 and ipv6 addresses to loopback readonly V6_INNER='100::a/128' readonly V4_INNER='192.168.0.1/32' if getopts ":s" opt; then readonly SIT_DEV_NAME='sixtofourtest0' readonly V6_SIT='2::/64' readonly V4_SIT='172.17.0.1/32' shift fi fail() { echo "error: $*" 1>&2 exit 1 } setup() { ip -6 addr add "${V6_INNER}" dev lo || fail 'failed to setup v6 address' ip -4 addr add "${V4_INNER}" dev lo || fail 'failed to setup v4 address' if [[ -n "${V6_SIT}" ]]; then ip link add "${SIT_DEV_NAME}" type sit remote any local any \ || fail 'failed to add sit' ip link set dev "${SIT_DEV_NAME}" up \ || fail 'failed to bring sit device up' ip -6 addr add "${V6_SIT}" dev "${SIT_DEV_NAME}" \ || fail 'failed to setup v6 SIT address' ip -4 addr add "${V4_SIT}" dev "${SIT_DEV_NAME}" \ || fail 'failed to setup v4 SIT address' fi sleep 2 # avoid race causing bind to fail } cleanup() { if [[ -n "${V6_SIT}" ]]; then ip -4 addr del "${V4_SIT}" dev "${SIT_DEV_NAME}" ip -6 addr del "${V6_SIT}" dev "${SIT_DEV_NAME}" ip link del "${SIT_DEV_NAME}" fi ip -4 addr del "${V4_INNER}" dev lo ip -6 addr del "${V6_INNER}" dev lo } trap cleanup EXIT setup "$@" exit "$?"