Message ID | 51C16A07.3070903@ntlworld.com |
---|---|
State | Rejected, archived |
Delegated to: | David Miller |
Headers | show |
Please no module parameters, provide a run-time, programmatic way to configure this aspect. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hello. On 19-06-2013 12:21, Stephen Moorby wrote: > From 35607dd0607bca5322860703143c31cb04377764 Mon Sep 17 00:00:00 2001 > From: Stephen Moorby <steve.moorby@ntlworld.com> > 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. > 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 <steve.moorby@ntlworld.com> > --- > drivers/net/wan/lapbether.c | 15 +++++++++++++-- > 1 file changed, 13 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/wan/lapbether.c b/drivers/net/wan/lapbether.c > index a33a46f..510fc4a 100644 > --- a/drivers/net/wan/lapbether.c > +++ b/drivers/net/wan/lapbether.c [...] > @@ -381,8 +382,14 @@ static int lapbeth_device_event(struct > notifier_block *this, Your patch is line-wrapped. > 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); > + } > + } It seems the patch is also white space damaged, i.e. tabs converted to spaces. WBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, 2013-06-19 at 09:21 +0100, Stephen Moorby wrote: > From 35607dd0607bca5322860703143c31cb04377764 Mon Sep 17 00:00:00 2001 > From: Stephen Moorby <steve.moorby@ntlworld.com> > 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. [...] 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.
diff --git a/drivers/net/wan/lapbether.c b/drivers/net/wan/lapbether.c index a33a46f..510fc4a 100644 --- a/drivers/net/wan/lapbether.c +++ b/drivers/net/wan/lapbether.c @@ -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: