You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
1.5 KiB
Bash

#!/bin/sh /etc/rc.common
# Copyright (c) 2016 Qualcomm Atheros, Inc.
#
# All Rights Reserved.
# Qualcomm Atheros Confidential and Proprietary.
START=54
ECM_SYSFS_FILE="/sys/kernel/debug/ecm/ecm_classifier_hyfi/enabled"
ieee1905managed_bridge=
ieee1905managed_bridge2=
. /lib/functions/hyfi-debug.sh
. /lib/functions/hyfi-iface.sh
. /lib/functions/hyfi-network.sh
start() {
config_load 'hyd'
config_get_bool enabled config 'Enable' '0'
local hyfi_bridging_rcd_enabled=`ls /etc/rc.d/S${START}hyfi-bridging 2> /dev/null`
[ "$enabled" -gt 0 -a -n "$hyfi_bridging_rcd_enabled" ] || {
return 1
}
# Enable hyfi-netfilter
if [ -f /proc/sys/net/bridge/bridge-nf-call-custom ]; then
sysctl -w net.bridge.bridge-nf-call-custom=1
fi
# Get the IEEE1905.1 managed bridge name and attach
hyfi_get_ieee1905_managed_iface ieee1905managed_bridge ieee1905managed_bridge2
# Bail out from starting hyd if attach fails.
if ! hyctl attach br-$ieee1905managed_bridge; then
stop
return 1
fi
if [ -n "$ieee1905managed_bridge2" ];then
if ! hyctl attach br-$ieee1905managed_bridge2; then
stop
return 1
fi
fi
}
stop() {
config_load 'hyd'
# Disable hyfi-netfilter
if [ -f /proc/sys/net/bridge/bridge-nf-call-custom ]; then
sysctl -w net.bridge.bridge-nf-call-custom=0
fi
# Get the IEEE1905.1 managed bridge name and detach
hyfi_get_ieee1905_managed_iface ieee1905managed_bridge
hyctl detach br-$ieee1905managed_bridge
if [ -n "$ieee1905managed_bridge2" ]; then
hyctl detach br-$ieee1905managed_bridge2
fi
}