Subject: [PATCH] loopback: Improve the loopback device so I can more easily allocate multiple instances. From: Eric W. Biederman Date: 1135188495 -0700 --- drivers/net/loopback.c | 16 +++++++++++++--- 1 files changed, 13 insertions(+), 3 deletions(-) 44d1673cc5348db79f9663089fd8de60f3444041 diff --git a/drivers/net/loopback.c b/drivers/net/loopback.c index 193e009..1a427a4 100644 --- a/drivers/net/loopback.c +++ b/drivers/net/loopback.c @@ -40,7 +40,6 @@ #include #include #include -#include #include #include @@ -208,11 +207,10 @@ static void loopback_uninit(struct net_d } /* Setup and register the loopback device. */ -int loopback_init(struct net_device *dev) +static int loopback_init(struct net_device *dev) { struct net_device_stats *stats; - strcpy(dev->name, (dev == &init_host.loopback_dev)?"lo": "lo%d"); dev->mtu = (16 * 1024) + 20 + 20 + 12; dev->uninit = loopback_uninit; dev->hard_start_xmit = loopback_xmit; @@ -242,3 +240,15 @@ int loopback_init(struct net_device *dev } return 0; }; + +int loopback_setup(struct net_device *dev) +{ + static int instance; + + strcpy(dev->name, "lo"); + if (instance++) { + snprintf(dev->name, sizeof(dev->name), "lo%d", instance); + } + dev->init = loopback_init; + return register_netdevice(dev); +} -- 1.0.GIT