| #!/bin/sh | |
| # SPDX-License-Identifier: GPL-2.0 | |
| # | |
| # Execute a subprocess in a network namespace | |
| set -e | |
| readonly NETNS="ns-$(mktemp -u XXXXXX)" | |
| setup() { | |
| ip netns add "${NETNS}" | |
| ip -netns "${NETNS}" link set lo up | |
| } | |
| cleanup() { | |
| ip netns del "${NETNS}" | |
| } | |
| trap cleanup EXIT | |
| setup | |
| ip netns exec "${NETNS}" "$@" | |
| exit "$?" |