update bonding functions, add fail_over_mac option

This commit is contained in:
Alfonso Gamboa
2022-06-26 20:02:06 -07:00
parent 2a0515761f
commit 65e839b6a9
4 changed files with 45 additions and 44 deletions

View File

@@ -117,6 +117,33 @@ rename_interface_and_setup_bonding() {
eth_wlan_up
}
bonding_setup() {
echo "bonding kernel module setup"
if [[ "$BONDING_ENABLED" == "true" ]]; then
if [[ "$BONDING_LINK_MONITORING_FREQ_MS" == "" ]]; then
BONDING_LINK_MONITORING_FREQ_MS="100"
fi
if [[ "$BONDING_DOWN_DELAY_MS" == "" ]]; then
BONDING_DOWN_DELAY_MS="5000"
fi
if [[ "$BONDING_UP_DELAY_MS" == "" ]]; then
BONDING_UP_DELAY_MS="5000"
fi
if [[ "$BONDING_PRIMARY_INTERFACE" == "" ]]; then
BONDING_PRIMARY_INTERFACE="$1"
fi
if [[ "$BONDING_SECONDARY_INTERFACE" == "" ]]; then
BONDING_SECONDARY_INTERFACE="$2"
fi
if [[ "$BONDING_FAIL_OVER_MAC" == "" ]]; then
BONDING_FAIL_OVER_MAC="0"
fi
# Insert the bonding driver into the kernel
insmod $KMOD_PATH/kernel/drivers/net/bonding/bonding.ko mode=active-backup miimon="$BONDING_LINK_MONITORING_FREQ_MS" downdelay="$BONDING_DOWN_DELAY_MS" updelay="$BONDING_UP_DELAY_MS" primary="$BONDING_PRIMARY_INTERFACE" fail_over_mac="$BONDING_FAIL_OVER_MAC"
fi
}
eth_wlan_up() {
##Run DHCP client, and bind mount our fake wpa_cli.sh to fool iCamera
ifconfig wlan0 up
@@ -282,26 +309,7 @@ if [[ "$ENABLE_USB_ETH" == "true" ]]; then
insmod $KMOD_PATH/kernel/drivers/net/usb/$i.ko
done
if [[ "$BONDING_ENABLED" == "true" ]]; then
if [[ "$BONDING_LINK_MONITORING_FREQ_MS" == "" ]]; then
"$BONDING_LINK_MONITORING_FREQ_MS" = "100"
fi
if [[ "$BONDING_DOWN_DELAY_MS" == "" ]]; then
"$BONDING_DOWN_DELAY_MS" = "5000"
fi
if [[ "$BONDING_UP_DELAY_MS" == "" ]]; then
"$BONDING_UP_DELAY_MS" = "5000"
fi
if [[ "$BONDING_PRIMARY_INTERFACE" == "" ]]; then
"$BONDING_PRIMARY_INTERFACE" = "eth0"
fi
if [[ "$BONDING_SECONDARY_INTERFACE" == "" ]]; then
"$BONDING_SECONDARY_INTERFACE" = "wlan0"
fi
# Insert the bonding driver into the kernel
insmod $KMOD_PATH/kernel/drivers/net/bonding/bonding.ko mode=active-backup miimon="$BONDING_LINK_MONITORING_FREQ_MS" downdelay="$BONDING_DOWN_DELAY_MS" updelay="$BONDING_UP_DELAY_MS" primary="$BONDING_PRIMARY_INTERFACE"
fi
bonding_setup eth0 wlan0
swap_enable
@@ -340,26 +348,7 @@ if [[ "$ENABLE_USB_DIRECT" == "true" ]]; then
sleep 1
if [[ "$BONDING_ENABLED" == "true" ]]; then
if [[ "$BONDING_LINK_MONITORING_FREQ_MS" == "" ]]; then
"$BONDING_LINK_MONITORING_FREQ_MS" = "100"
fi
if [[ "$BONDING_DOWN_DELAY_MS" == "" ]]; then
"$BONDING_DOWN_DELAY_MS" = "5000"
fi
if [[ "$BONDING_UP_DELAY_MS" == "" ]]; then
"$BONDING_UP_DELAY_MS" = "5000"
fi
if [[ "$BONDING_PRIMARY_INTERFACE" == "" ]]; then
"$BONDING_PRIMARY_INTERFACE" = "usb0"
fi
if [[ "$BONDING_SECONDARY_INTERFACE" == "" ]]; then
"$BONDING_SECONDARY_INTERFACE" = "wlan0"
fi
# Insert the bonding driver into the kernel
insmod $KMOD_PATH/kernel/drivers/net/bonding/bonding.ko mode=active-backup miimon="$BONDING_LINK_MONITORING_FREQ_MS" downdelay="$BONDING_DOWN_DELAY_MS" updelay="$BONDING_UP_DELAY_MS" primary="$BONDING_PRIMARY_INTERFACE"
fi
bonding_setup usb0 wlan0
swap_enable

View File

@@ -32,7 +32,17 @@ ENABLE_IPTABLES="false"
ENABLE_NFSv4="false"
ENABLE_RTL8189FS_DRIVER="false"
ENABLE_RTL8189FS_DRIVER="true"
ENABLE_ATBM603X_DRIVER="true"
##### NETWORK INTERFACE BONDING #####
BONDING_ENABLED="false"
BONDING_PRIMARY_INTERFACE="eth0"
BONDING_SECONDARY_INTERFACE="wlan0"
BONDING_LINK_MONITORING_FREQ_MS="100"
BONDING_DOWN_DELAY_MS="5000"
BONDING_UP_DELAY_MS="5000"
BONDING_FAIL_OVER_MAC="0"
#####ACCESSORIES#####
REMOTE_SPOTLIGHT="false"
@@ -76,6 +86,7 @@ ENABLE_CIFS="false"
DISABLE_FW_UPGRADE="false"
AUDIO_PROMPT_VOLUME="50"
ENABLE_MP4_WRITE="false"
NIGHT_DROP_DISABLE="false"
#####DEBUG#####
#drops you to a shell via serial, doesn't load app_init.sh

View File

@@ -42,6 +42,7 @@ BONDING_SECONDARY_INTERFACE="wlan0"
BONDING_LINK_MONITORING_FREQ_MS="100"
BONDING_DOWN_DELAY_MS="5000"
BONDING_UP_DELAY_MS="5000"
BONDING_FAIL_OVER_MAC="0"
#####ACCESSORIES#####
REMOTE_SPOTLIGHT="false"