[source] base-files: allow failsafe to configure vlans
LEDE Commits
lede-commits at lists.infradead.org
Sat Aug 13 06:52:17 PDT 2016
jogo pushed a commit to source.git, branch master:
https://git.lede-project.org/?p=source.git;a=commitdiff;h=072cf26729aca15b8a0526f18bce2b5e7a27ab12
commit 072cf26729aca15b8a0526f18bce2b5e7a27ab12
Author: Jonas Gorski <jonas.gorski at gmail.com>
AuthorDate: Fri Jul 29 00:23:55 2016 +0200
base-files: allow failsafe to configure vlans
In preparation of properly setting up vlans and switches, add
support for configuring failsafe on a vlan tagged interface.
Signed-off-by: Jonas Gorski <jonas.gorski at gmail.com>
---
.../files/lib/preinit/10_indicate_preinit | 32 ++++++++++++++++++++--
1 file changed, 29 insertions(+), 3 deletions(-)
diff --git a/package/base-files/files/lib/preinit/10_indicate_preinit b/package/base-files/files/lib/preinit/10_indicate_preinit
index 2062433..33e90b1 100644
--- a/package/base-files/files/lib/preinit/10_indicate_preinit
+++ b/package/base-files/files/lib/preinit/10_indicate_preinit
@@ -3,9 +3,22 @@
# Copyright (C) 2010 Vertical Communications
preinit_ip_config() {
- grep -q "$1" /proc/net/dev || return
+ local netdev vid
- ip link set dev $1 up
+ netdev=${1%\.*}
+ vid=${1#*\.}
+
+ if [ "$vid" = "$netdev" ]; then
+ vid=
+ fi
+
+ grep -q "$netdev" /proc/net/dev || return
+
+ if [ -n "$vid" ]; then
+ ip link add link $netdev name $1 type vlan id $vid
+ fi
+
+ ip link set dev $netdev up
ip -4 address add $pi_ip/$pi_netmask broadcast $pi_broadcast dev $1
}
@@ -52,8 +65,21 @@ preinit_ip() {
preinit_ip_deconfig() {
[ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && {
+ local netdev vid
+
+ netdev=${pi_ifname%\.*}
+ vid=${pi_ifname#*\.}
+
+ if [ "$vid" = "$netdev" ]; then
+ vid=
+ fi
+
ip -4 address flush dev $pi_ifname
- ip link set dev $pi_ifname down
+ ip link set dev $netdev down
+
+ if [ -n "$vid" ]; then
+ ip link delete $pi_ifname
+ fi
}
}
More information about the lede-commits
mailing list