drivers/net: param for lapbether for specific ethernet device
Subsystems (3)
PATCH 1/1 drivers/net: param for lapbether for specific ethernet device
From 35607dd0607bca5322860703143c31cb04377764 Mon Sep 17 00:00:00 2001
From: Stephen Moorby <[email protected]>
Date: Wed, 19 Jun 2013 08:22:51 +0100
Subject: [PATCH 1/1] drivers/net: param for lapbether for specific ethernet
device
The lapbether driver binds to the first ethernet device that comes up. This causes problems in hardware with multiple ethernet interfaces, potentially resulting in the LAPB traffic on the wrong interface. Have added a module parameter 'eth_dev' to specify the ethernet interface over which lapbether should operate. The module behaves as before if no device is specified.
Patch created on linux-next 18-Jun-2013.
Tested on 2.6.32-45-generic.
--- drivers/net/wan/lapbether.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-)
drivers/net/wan/lapbether.c +13 -2
@@ -47,6 +47,7 @@#include <net/x25device.h> +static char *eth_dev;static const u8 bcast_addr[6 ] = {0xFF ,0xFF ,0xFF ,0xFF ,0xFF ,0xFF };/* If this number is made larger, check that the temporary string buffer
@@ -381,8 +382,14 @@ static int lapbeth_device_event(struct notifier_block *this,switch (event) {case NETDEV_UP :/* New ethernet device -> new LAPB interface */ -if (lapbeth_get_x25_dev (dev) ==NULL ) -lapbeth_new_device (dev); +if (lapbeth_get_x25_dev (dev) ==NULL ) { +if (NULL != eth_dev) { +if (0 ==strcmp (dev->name, eth_dev)) +lapbeth_new_device (dev); + }else { +lapbeth_new_device (dev); + } + }break ;case NETDEV_DOWN :/* ethernet device closed -> close LAPB interface */
@@ -446,6 +453,10 @@ static void __exit lapbeth_cleanup_driver(void) }module_exit (lapbeth_cleanup_driver); +module_param (eth_dev, charp,S_IRUGO ); +MODULE_PARM_DESC (eth_dev,"Ethernet device to use" ); + +MODULE_AUTHOR ("Jonathan Naylor <[email protected]>" );MODULE_DESCRIPTION ("The unofficial LAPB over Ethernet driver" );MODULE_LICENSE ("GPL" );
Signature · 1 line
1.8.1.2
David Miller
maintainerPlease no module parameters, provide a run-time, programmatic way to configure this aspect.
Hello.
Quoted 5 lines · Stephen Moorby
From
35607dd0607bca5322860703143c31cb04377764Mon Sep 17 00:00:00 2001
From: Stephen Moorby <[email protected]>
Date: Wed, 19 Jun 2013 08:22:51 +0100
Subject: [PATCH 1/1]drivers/net: param for lapbether for specific ethernet
device
No need for this header.
Quoted 19 lines
The lapbether driver binds to the first ethernet device that comes up. This causes problems in hardware with multiple ethernet interfaces, potentially resulting in the LAPB traffic on the wrong interface. Have added a module parameter '
eth_dev' to specify the ethernet interface over which lapbether should operate. The module behaves as before if no device is specified.Patch created on linux-next 18-Jun-2013.
Tested on 2.6.32-45-generic.Signed-off-by Stephen Moorby <[email protected]>--- drivers/net/wan/lapbether.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-)drivers/net/wan/lapbether.c +0
-0
[...]
drivers/net/wan/lapbether.c static int lapbeth_device_event(struct · line 382
Quoted 2 lines
drivers/net/wan/lapbether.c +0
-0@@ -381,8 +382,14 @@ static int lapbeth_device_event(struct notifier_block *this,
Your patch is line-wrapped.
drivers/net/wan/lapbether.c static int lapbeth_device_event(struct notifier_block *this, · line 392
Quoted 13 lines
drivers/net/wan/lapbether.c +8
-2switch (event) {case NETDEV_UP :/* New ethernet device -> new LAPB interface */ -if (lapbeth_get_x25_dev (dev) ==NULL ) -lapbeth_new_device (dev); +if (lapbeth_get_x25_dev (dev) ==NULL ) { +if (NULL != eth_dev) { +if (0 ==strcmp (dev->name, eth_dev)) +lapbeth_new_device (dev); + }else { +lapbeth_new_device (dev); + } + }
It seems the patch is also white space damaged, i.e. tabs converted
to spaces.
WBR, Sergei
Quoted 6 lines · Stephen Moorby
From
35607dd0607bca5322860703143c31cb04377764Mon Sep 17 00:00:00 2001
From: Stephen Moorby <[email protected]>
Date: Wed, 19 Jun 2013 08:22:51 +0100
Subject: [PATCH 1/1]drivers/net: param for lapbether for specific ethernet
device
Quoted 6 lines
The lapbether driver binds to the first ethernet device that comes up. This causes problems in hardware with multiple ethernet interfaces, potentially resulting in the LAPB traffic on the wrong interface. Have added a module parameter '
eth_dev' to specify the ethernet interface over which lapbether should operate. The module behaves as before if no device is specified.
[...]
The proper interface for creating and destroying layered devices is rtnetlink.
The current behaviour is weird and it seems like it would be hard for userland to reliably get the LAPB interface(s) into the right state. So maybe the auto-creation should be removed, or, for backward compatibility (and at the risk of annoying David) it should be possible to disable it by setting a module parameter.
Ben.
Signature · 3 lines
Ben Hutchings, Staff Engineer, Solarflare Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked.