aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/utils.c
diff options
context:
space:
mode:
authorAndy Shevchenko <andy.shevchenko@gmail.com>2013-06-04 12:46:26 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-06-05 15:00:27 -0400
commit4cd5773a2ae6facdde3f563087a4cc50f00d9530 (patch)
treef473e0a20e69f056394d3b268bfb4256cedff4ed /net/core/utils.c
parent143e9c76c487957de89808cf2a3c828518ad131b (diff)
net: core: move mac_pton() to lib/net_utils.c
Since we have at least one user of this function outside of CONFIG_NET scope, we have to provide this function independently. The proposed solution is to move it under lib/net_utils.c with corresponding configuration variable and select wherever it is needed. Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com> Reported-by: Arnd Bergmann <arnd@arndb.de> Acked-by: David S. Miller <davem@davemloft.net> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/core/utils.c')
-rw-r--r--net/core/utils.c22
1 files changed, 0 insertions, 22 deletions
diff --git a/net/core/utils.c b/net/core/utils.c
index 3c7f5b51b979..aa88e23fc87a 100644
--- a/net/core/utils.c
+++ b/net/core/utils.c
@@ -338,25 +338,3 @@ void inet_proto_csum_replace16(__sum16 *sum, struct sk_buff *skb,
338 csum_unfold(*sum))); 338 csum_unfold(*sum)));
339} 339}
340EXPORT_SYMBOL(inet_proto_csum_replace16); 340EXPORT_SYMBOL(inet_proto_csum_replace16);
341
342int mac_pton(const char *s, u8 *mac)
343{
344 int i;
345
346 /* XX:XX:XX:XX:XX:XX */
347 if (strlen(s) < 3 * ETH_ALEN - 1)
348 return 0;
349
350 /* Don't dirty result unless string is valid MAC. */
351 for (i = 0; i < ETH_ALEN; i++) {
352 if (!isxdigit(s[i * 3]) || !isxdigit(s[i * 3 + 1]))
353 return 0;
354 if (i != ETH_ALEN - 1 && s[i * 3 + 2] != ':')
355 return 0;
356 }
357 for (i = 0; i < ETH_ALEN; i++) {
358 mac[i] = (hex_to_bin(s[i * 3]) << 4) | hex_to_bin(s[i * 3 + 1]);
359 }
360 return 1;
361}
362EXPORT_SYMBOL(mac_pton);