diff options
author | Ed L Cashin <ecashin@coraid.com> | 2005-04-29 10:24:03 -0400 |
---|---|---|
committer | Greg KH <gregkh@suse.de> | 2005-05-03 23:34:53 -0700 |
commit | 03c41c434775c52092d17a5031ad8ebaaf555bc4 (patch) | |
tree | a2f4e5f5fef46fac69b1e47e31ccbcf7d950b016 /drivers/block/aoe/aoenet.c | |
parent | 8800cea62025a5209d110c5fa5990429239d6eee (diff) | |
download | talos-op-linux-03c41c434775c52092d17a5031ad8ebaaf555bc4.tar.gz talos-op-linux-03c41c434775c52092d17a5031ad8ebaaf555bc4.zip |
[PATCH] aoe: improve allowed interfaces configuration
improve allowed interfaces configuration
Signed-off-by: Ed L. Cashin <ecashin@coraid.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
diff -uprN a/Documentation/aoe/aoe.txt b/Documentation/aoe/aoe.txt
Diffstat (limited to 'drivers/block/aoe/aoenet.c')
-rw-r--r-- | drivers/block/aoe/aoenet.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/drivers/block/aoe/aoenet.c b/drivers/block/aoe/aoenet.c index bc92aacb6dad..9e6f51c528b0 100644 --- a/drivers/block/aoe/aoenet.c +++ b/drivers/block/aoe/aoenet.c @@ -7,6 +7,7 @@ #include <linux/hdreg.h> #include <linux/blkdev.h> #include <linux/netdevice.h> +#include <linux/moduleparam.h> #include "aoe.h" #define NECODES 5 @@ -26,6 +27,19 @@ enum { }; static char aoe_iflist[IFLISTSZ]; +module_param_string(aoe_iflist, aoe_iflist, IFLISTSZ, 0600); +MODULE_PARM_DESC(aoe_iflist, "aoe_iflist=\"dev1 [dev2 ...]\"\n"); + +#ifndef MODULE +static int __init aoe_iflist_setup(char *str) +{ + strncpy(aoe_iflist, str, IFLISTSZ); + aoe_iflist[IFLISTSZ - 1] = '\0'; + return 1; +} + +__setup("aoe_iflist=", aoe_iflist_setup); +#endif int is_aoe_netif(struct net_device *ifp) @@ -36,7 +50,8 @@ is_aoe_netif(struct net_device *ifp) if (aoe_iflist[0] == '\0') return 1; - for (p = aoe_iflist; *p; p = q + strspn(q, WHITESPACE)) { + p = aoe_iflist + strspn(aoe_iflist, WHITESPACE); + for (; *p; p = q + strspn(q, WHITESPACE)) { q = p + strcspn(p, WHITESPACE); if (q != p) len = q - p; |