osmocore: Add function osmo_macaddr_parse() to parse ETH MAC address
diff --git a/src/macaddr.c b/src/macaddr.c
new file mode 100644
index 0000000..1181dfe
--- /dev/null
+++ b/src/macaddr.c
@@ -0,0 +1,25 @@
+#include <stdint.h>
+#include <string.h>
+#include <stdlib.h>
+
+
+int osmo_macaddr_parse(uint8_t *out, const char *in)
+{
+ /* 00:00:00:00:00:00 */
+ char tmp[18];
+ char *tok;
+ unsigned int i = 0;
+
+ if (strlen(in) < 17)
+ return -1;
+
+ strncpy(tmp, in, sizeof(tmp)-1);
+ tmp[sizeof(tmp)-1] = '\0';
+
+ for (tok = strtok(tmp, ":"); tok && (i < 6); tok = strtok(NULL, ":")) {
+ unsigned long ul = strtoul(tok, NULL, 16);
+ out[i++] = ul & 0xff;
+ }
+
+ return 0;
+}