diff options
author | Andy Shevchenko <andy.shevchenko@gmail.com> | 2013-06-04 12:46:26 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-06-05 15:00:27 -0400 |
commit | 4cd5773a2ae6facdde3f563087a4cc50f00d9530 (patch) | |
tree | f473e0a20e69f056394d3b268bfb4256cedff4ed /net/core/utils.c | |
parent | 143e9c76c487957de89808cf2a3c828518ad131b (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.c | 22 |
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 | } |
340 | EXPORT_SYMBOL(inet_proto_csum_replace16); | 340 | EXPORT_SYMBOL(inet_proto_csum_replace16); |
341 | |||
342 | int 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 | } | ||
362 | EXPORT_SYMBOL(mac_pton); | ||