mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-27 07:21:18 +01:00
tapsetup: require to be executed with sudo
This commit is contained in:
parent
b1babe5c19
commit
08b11d424d
61
dist/tools/tapsetup/tapsetup
vendored
61
dist/tools/tapsetup/tapsetup
vendored
@ -35,15 +35,15 @@ create_bridge() {
|
||||
|
||||
case "${PLATFORM}" in
|
||||
FreeBSD)
|
||||
sudo kldload if_bridge
|
||||
sudo ifconfig ${BRNAME} create || exit 1 ;;
|
||||
kldload if_bridge
|
||||
ifconfig ${BRNAME} create || exit 1 ;;
|
||||
Linux)
|
||||
sudo ip link add name ${BRNAME} type bridge || exit 1
|
||||
ip link add name ${BRNAME} type bridge || exit 1
|
||||
if [ -n "${DEACTIVATE_IPV6}" ]; then
|
||||
sudo -s sh -c "echo 1 > /proc/sys/net/ipv6/conf/${BRNAME}/disable_ipv6" || exit 1
|
||||
echo 1 > /proc/sys/net/ipv6/conf/${BRNAME}/disable_ipv6 || exit 1
|
||||
fi ;;
|
||||
OSX)
|
||||
sudo ifconfig ${BRNAME} create || exit 1 ;;
|
||||
ifconfig ${BRNAME} create || exit 1 ;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
@ -52,9 +52,9 @@ create_bridge() {
|
||||
up_bridge() {
|
||||
case "${PLATFORM}" in
|
||||
FreeBSD|OSX)
|
||||
sudo ifconfig ${BRNAME} up || exit 1 ;;
|
||||
ifconfig ${BRNAME} up || exit 1 ;;
|
||||
Linux)
|
||||
sudo ip link set ${BRNAME} up || exit 1 ;;
|
||||
ip link set ${BRNAME} up || exit 1 ;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
@ -65,17 +65,17 @@ delete_bridge() {
|
||||
|
||||
case "${PLATFORM}" in
|
||||
FreeBSD)
|
||||
sudo sysctl net.link.tap.user_open=0
|
||||
sudo kldunload if_tap || exit 1
|
||||
sudo kldunload if_bridge || exit 1 ;;
|
||||
sysctl net.link.tap.user_open=0
|
||||
kldunload if_tap || exit 1
|
||||
kldunload if_bridge || exit 1 ;;
|
||||
Linux)
|
||||
for IF in $(ls /sys/class/net/${BRNAME}/brif); do
|
||||
sudo ip link delete "${IF}"
|
||||
ip link delete "${IF}"
|
||||
done
|
||||
|
||||
sudo ip link delete ${BRNAME} || exit 1 ;;
|
||||
ip link delete ${BRNAME} || exit 1 ;;
|
||||
OSX)
|
||||
sudo ifconfig ${BRNAME} destroy || exit 1 ;;
|
||||
ifconfig ${BRNAME} destroy || exit 1 ;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
@ -84,8 +84,8 @@ delete_bridge() {
|
||||
begin_tap() {
|
||||
case "${PLATFORM}" in
|
||||
FreeBSD)
|
||||
sudo kldload if_tap || exit 1
|
||||
sudo sysctl net.link.tap.user_open=1 ;;
|
||||
kldload if_tap || exit 1
|
||||
sysctl net.link.tap.user_open=1 ;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
@ -95,24 +95,24 @@ create_tap() {
|
||||
case "${PLATFORM}" in
|
||||
FreeBSD)
|
||||
echo "creating ${TAPNAME}${N}" || exit 1
|
||||
sudo ifconfig tap${N} create || exit 1
|
||||
sudo chown ${USER} /dev/tap${N} || exit 1
|
||||
sudo ifconfig ${BRNAME} addm tap${N} || exit 1
|
||||
sudo ifconfig tap${N} up || exit 1 ;;
|
||||
ifconfig tap${N} create || exit 1
|
||||
chown ${SUDO_USER} /dev/tap${N} || exit 1
|
||||
ifconfig ${BRNAME} addm tap${N} || exit 1
|
||||
ifconfig tap${N} up || exit 1 ;;
|
||||
Linux)
|
||||
echo "creating ${TAPNAME}${N}"
|
||||
sudo ip tuntap add dev ${TAPNAME}${N} mode tap user ${USER} || exit 1
|
||||
ip tuntap add dev ${TAPNAME}${N} mode tap user ${SUDO_USER} || exit 1
|
||||
if [ -n "${DEACTIVATE_IPV6}" ]; then
|
||||
sudo -s sh -c "echo 1 > /proc/sys/net/ipv6/conf/${TAPNAME}${N}/disable_ipv6" || exit 1
|
||||
echo 1 > /proc/sys/net/ipv6/conf/${TAPNAME}${N}/disable_ipv6 || exit 1
|
||||
fi
|
||||
sudo ip link set dev ${TAPNAME}${N} master ${BRNAME} || exit 1
|
||||
sudo ip link set ${TAPNAME}${N} up || exit 1 ;;
|
||||
ip link set dev ${TAPNAME}${N} master ${BRNAME} || exit 1
|
||||
ip link set ${TAPNAME}${N} up || exit 1 ;;
|
||||
OSX)
|
||||
sudo chown ${USER} /dev/tap${N} || exit 1
|
||||
chown ${SUDO_USER} /dev/tap${N} || exit 1
|
||||
echo "start RIOT instance for tap${N} now and hit enter"
|
||||
read
|
||||
sudo ifconfig ${BRNAME} addm tap${N} || exit 1
|
||||
sudo ifconfig tap${N} up || exit 1 ;;
|
||||
ifconfig ${BRNAME} addm tap${N} || exit 1
|
||||
ifconfig tap${N} up || exit 1 ;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
@ -174,12 +174,9 @@ while true ; do
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "${USER}" ]; then
|
||||
export USER=$(id -un)
|
||||
if [ -z "${USER}" ]; then
|
||||
echo 'need to export $USER'
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "${SUDO_USER}" ]; then
|
||||
echo 'Environment variable $SUDO_USER required; Please run with `sudo`'
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "${COMMAND}" ]; then
|
||||
COMMAND="create"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user