packages/net/tunneldigger-broker/files/hook-mtu-changed
Perry Melange 49cdf15da4 tunneldigger-broker: add option to isolate bridge ports
Add new option to a config bridge section to indicate
if a bridge port added to the bridge should be isolated
or not.  The default is 0 (no isolation).

example

config bridge
     option interface 'br-mybridge1446'
     option mtu '1446'
     option isolate '1' # default '0'

Signed-off-by: Perry Melange <isprotejesvalkata@gmail.com>
2023-08-20 02:25:27 +02:00

34 lines
903 B
Bash
Executable file

#!/bin/sh
. /lib/functions/tunneldigger.sh
TUNNEL_ID="$1"
INTERFACE="$3"
OLD_MTU="$4"
NEW_MTU="$5"
# Get the bridge interface name for the old and new MTUs.
tunneldigger_get_bridge old_bridge "${OLD_MTU}"
tunneldigger_get_bridge new_bridge "${NEW_MTU}"
if [ -z "$old_bridge" ]; then
echo "Unable to determine which bridge to use for MTU ${OLD_MTU}."
exit 1
fi
if [ -z "$new_bridge" ]; then
echo "Unable to determine which bridge to use for MTU ${NEW_MTU}."
exit 1
fi
# Get the isolation option for this bridge
tunneldigger_get_bridge_isolate isolate "${NEW_MTU}"
# Remove interface from old bridge.
ip link set dev ${INTERFACE} nomaster
ip link set dev ${old_bridge} mtu ${OLD_MTU}
# Change interface bridge and MTU.
ip link set dev ${INTERFACE} master ${new_bridge} mtu ${NEW_MTU}
echo $isolate > /sys/class/net/${INTERFACE}/brport/isolated
ip link set dev ${new_bridge} mtu ${NEW_MTU}