Compare commits

...

1 Commits

Author SHA1 Message Date
Reidar Cederqvist
50a1ba9691 some changes to facilitate netifd setting up vlan 2017-10-16 13:23:39 +02:00
4 changed files with 4 additions and 145 deletions

View File

@@ -6,23 +6,6 @@ if [ "$INTERFACE" == "eth2" ]; then
fi
# end FIX
addif() {
# check if wan had a event and start all related services
wan=`uci -q get layer2_interface_ethernet.Wan.baseifname`
if [ "$INTERFACE" == "$wan" ]; then
/etc/init.d/layer2_interface_ethernet start
/etc/init.d/layer2_interface_vlan start
fi
}
delif() {
##remove ethernet wan and nuke any vlans associated
wan=`uci -q get layer2_interface_ethernet.Wan.baseifname`
if [ "$INTERFACE" == "$wan" ]; then
/etc/init.d/layer2_interface_ethernet stop
fi
}
# true if speed on interface is Gbit
gigatest() {
local speed=$(ethctl $INTERFACE media-type 2>&1 | awk '{if (NR == 2) print $6}')
@@ -59,7 +42,6 @@ case "$ACTION" in
case "$PHYSDEVDRIVER" in
natsemi) sleep 1 ;;
esac
addif
local interfname=$(interfacename $INTERFACE)
local operstate=$(cat /sys/class/net/$INTERFACE/operstate)
# if [ "$operstate" == "up" ]; then
@@ -107,7 +89,6 @@ case "$ACTION" in
;;
esac
fi
delif
;;
esac

View File

@@ -6,58 +6,6 @@ include /lib/network
START=22
USE_PROCD=1
get_current_status() {
local port="$1"
local media="$(ethctl $port media-type 2>&1)"
if echo $media | grep "1000" >/dev/null; then
return 0
elif echo $media | grep "100" >/dev/null; then
return 1
elif echo $media | grep "10" >/dev/null; then
return 1
fi
}
removeethernet() {
config_get baseifname $1 baseifname
config_get ifname $1 ifname
ifname="${ifname:-$baseifname.1}"
vlanctl --if-delete $ifname
config_load layer2_interface_vlan
#kill all vlans related to this interface
config_foreach removevlan vlan_interface
}
removevlan() {
local baseifname
local ifname
local wan=`uci -q get layer2_interface_ethernet.Wan.baseifname`
config_get baseifname $1 baseifname
config_get ifname $1 ifname
ifname="${ifname:-$baseifname.1}"
if [ "$wan" == "$baseifname" ]; then
echo "vlanctl --if-delete $ifname"
vlanctl --if-delete $ifname
fi
}
addethernet() {
config_get baseifname $1 baseifname
config_get ifname $1 ifname
config_get bridge $1 bridge
config_get mac2 $1 mac2
ifname="${ifname:-$baseifname.1}"
brcm_virtual_interface_rules "$baseifname" "$ifname" "$bridge" "$mac2"
}
boot() {
local baseifname wanport portnum
config_load layer2_interface_ethernet
@@ -90,27 +38,3 @@ boot() {
echo '1' > /proc/sys/net/ipv6/conf/$baseifname/disable_ipv6
ifconfig $baseifname up
}
start_service() {
local baseifname
echo "Setting up Ethernet WAN"
config_load layer2_interface_ethernet
config_foreach addethernet ethernet_interface
}
stop_service() {
local ifname
config_load layer2_interface_ethernet
config_foreach removeethernet ethernet_interface
}
reload_service() {
stop
start
}
service_triggers() {
procd_add_reload_trigger layer2_interface_ethernet
}

View File

@@ -1,50 +0,0 @@
#!/bin/sh /etc/rc.common
. /lib/functions.sh
include /lib/network
START=22
USE_PROCD=1
vlan_inf_conf() {
local baseifname
local vlan8021p
local vlan8021q
local routed
config_get baseifname $1 baseifname
config_get ifname $1 ifname
config_get vlan8021p $1 vlan8021p
config_get vlan8021q $1 vlan8021q
config_get bridge $1 bridge
ifname="${ifname:-$baseifname.$vlan8021q}"
addbrcmvlan "$baseifname" "$vlan8021p" "$vlan8021q" "$bridge" "$ifname"
}
boot() {
echo "VLAN does not run at boot"
}
start_service() {
local vdslstatus
echo "Starting VLAN"
config_load layer2_interface_vlan
config_foreach vlan_inf_conf vlan_interface
}
stop_service() {
echo "Stopping VLAN"
removeall_vlandevices
}
reload_service() {
stop
start
}
service_triggers() {
procd_add_reload_trigger layer2_interface_vlan
}

View File

@@ -2,6 +2,8 @@
. /usr/share/libubox/jshn.sh
. /lib/network/ebtables.sh
. /lib/network/config.sh
. /lib/functions.sh
removeall_vlandevices()
{
@@ -81,6 +83,8 @@ addbrcmvlan()
bridge="${bridge:-0}"
ifconfig $baseifname up
ifbaseexists $baseifname
ret=$?
if [ "$ret" -eq 1 ]; then