[openwrt/openwrt] lantiq: create ATM/PTM interfaces with dsl as netdev name

LEDE Commits lede-commits at lists.infradead.org
Tue Jan 9 23:13:31 PST 2018


mkresin pushed a commit to openwrt/openwrt.git, branch master:
https://git.lede-project.org/d3fd38637febad007bcc692bd79d5af08a17689d

commit d3fd38637febad007bcc692bd79d5af08a17689d
Author: Mathias Kresin <dev at kresin.me>
AuthorDate: Sat Jan 6 17:30:38 2018 +0100

    lantiq: create ATM/PTM interfaces with dsl as netdev name
    
    Renaming an atm etherbride using 'ip link' (via hotplug) is racy since the
    original netdev might disappear before br2684ctl has finished appling it's
    setting:
    
     local2.notice br2684ctl[1667]: Interface "nas0" created sucessfully
     local2.notice br2684ctl[1667]: Communicating over ATM 0.8.35, encapsulation: LLC
     kern.info kernel: dsl0: renamed from nas0
     kern.err kernel: br2684:br2684_regvcc: tried to attach to non-existent device
     local2.err br2684ctl[1667]: Could not configure interface:No such device or address
    
    By passing the final used netdev name to br2684ctl_wrap another race
    condition workaround will be enabled again.
    
    Change the lantiq ptm driver to create a netdev with the name dsl as well.
    Albeit the rename via 'ip link' works fine so far, using a different
    approach for ptm then atm could be confusing.
    
    Signed-off-by: Mathias Kresin <dev at kresin.me>
---
 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_adsl.c         |  6 +++---
 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c         |  2 +-
 target/linux/lantiq/base-files/etc/board.d/02_network        |  2 +-
 .../lantiq/base-files/etc/uci-defaults/02_migrate_xdsl_iface | 12 ++++++++++++
 4 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_adsl.c b/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_adsl.c
index b3803f9..f764eba 100644
--- a/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_adsl.c
+++ b/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_adsl.c
@@ -254,7 +254,7 @@ static struct net_device_ops g_ptm_netdev_ops = {
 #endif
 
 static struct net_device *g_net_dev[2] = {0};
-static char *g_net_dev_name[2] = {"ptm0", "ptmfast0"};
+static char *g_net_dev_name[2] = {"dsl0", "dslfast0"};
 
 #ifdef CONFIG_IFX_PTM_RX_TASKLET
   static struct tasklet_struct g_ptm_tasklet[] = {
@@ -927,8 +927,8 @@ static int proc_read_wanmib(char *page, char **start, off_t off, int count, int
     int len = 0;
     int i;
     char *title[] = {
-        "ptm0\n",
-        "ptmfast0\n"
+        "dsl0\n",
+        "dslfast0\n"
     };
 
     for ( i = 0; i < ARRAY_SIZE(title); i++ ) {
diff --git a/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c b/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c
index 22f1e23..4e10d72 100644
--- a/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c
+++ b/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c
@@ -121,7 +121,7 @@ static struct net_device_ops g_ptm_netdev_ops = {
 };
 
 static struct net_device *g_net_dev[1] = {0};
-static char *g_net_dev_name[1] = {"ptm0"};
+static char *g_net_dev_name[1] = {"dsl0"};
 
 static int g_ptm_prio_queue_map[8];
 
diff --git a/target/linux/lantiq/base-files/etc/board.d/02_network b/target/linux/lantiq/base-files/etc/board.d/02_network
index efe631c..ca974b0 100755
--- a/target/linux/lantiq/base-files/etc/board.d/02_network
+++ b/target/linux/lantiq/base-files/etc/board.d/02_network
@@ -229,7 +229,7 @@ buffalo,wbmr-300hpd)
 esac
 
 ls /lib/modules/$(uname -r)/ltq_atm* 1> /dev/null 2>&1 && \
-	ucidef_add_atm_bridge "$vpi" "$vci" "$encaps" "$payload"
+	ucidef_add_atm_bridge "$vpi" "$vci" "$encaps" "$payload" "dsl"
 
 if lantiq_is_vdsl_system; then
 	ucidef_add_vdsl_modem "$annex" "$tone" "$xfer_mode"
diff --git a/target/linux/lantiq/base-files/etc/uci-defaults/02_migrate_xdsl_iface b/target/linux/lantiq/base-files/etc/uci-defaults/02_migrate_xdsl_iface
index 292d407..3b0313d 100644
--- a/target/linux/lantiq/base-files/etc/uci-defaults/02_migrate_xdsl_iface
+++ b/target/linux/lantiq/base-files/etc/uci-defaults/02_migrate_xdsl_iface
@@ -29,6 +29,17 @@ rename_xdsl_ifname()
 	IFNAME_CHANGED=1
 }
 
+add_atm_bridge_nameprefix()
+{
+	local cfg="$1"
+
+	config_get nameprefix "$cfg" nameprefix
+	[ -z "$nameprefix" ] || return
+
+	uci set network.${cfg}.nameprefix="dsl"
+	IFNAME_CHANGED=1
+}
+
 migrate_network_xdsl_ifname()
 {
 	rename_xdsl_ifname network "$1" ifname
@@ -42,6 +53,7 @@ migrate_led_xdsl_ifname()
 
 config_load network
 config_foreach migrate_network_xdsl_ifname
+config_foreach add_atm_bridge_nameprefix atm-bridge
 
 [ "$IFNAME_CHANGED" = "1" ] && uci commit network
 



More information about the lede-commits mailing list