blob: c53e41a9d1e9aa59e57699ecdb0593b707a6d450 [file] [log] [blame]
Pau Espin Pedrol4c8cd7b2019-04-04 16:08:27 +02001#!/bin/bash -e
2
Pau Espin Pedrol69b2cf32020-02-24 10:58:59 +01003netns="$1"
4ifname="$2" # optional
Pau Espin Pedrol23e60e52020-04-08 15:16:50 +02005ip_addr="$3" # optional
Pau Espin Pedrol4c8cd7b2019-04-04 16:08:27 +02006
7if [ -f "/var/run/netns/${netns}" ]; then
8 echo "netns $netns already exists"
9else
10 echo "Creating netns $netns"
11 ip netns add "$netns"
12fi
13
Pau Espin Pedrol69b2cf32020-02-24 10:58:59 +010014if [ "x$ifname" = "x" ]; then
15 exit 0
16fi
17
Pau Espin Pedrol4c8cd7b2019-04-04 16:08:27 +020018if [ -d "/sys/class/net/${ifname}" ]; then
19 echo "Moving iface $ifname to netns $netns"
20 ip link set $ifname netns $netns
21else
22 ip netns exec $netns ls "/sys/class/net/${ifname}" >/dev/null && echo "iface $ifname already in netns $netns"
23fi
Pau Espin Pedrol23e60e52020-04-08 15:16:50 +020024
25if [ "x$ip_addr" = "x" ]; then
26 exit 0
27fi
28
29echo "Setting up iface $ifname with ${ip_addr}"
30ip netns exec $netns ip link set dev $ifname up
31ip netns exec $netns ip addr add ${ip_addr}/24 dev $ifname
32
33#ip netns exec $netns ip route add default via ${ip_addr}