summaryrefslogtreecommitdiff
path: root/include/net.h
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2009-02-01 21:31:37 +0100
committerWolfgang Denk <wd@denx.de>2009-02-01 21:31:37 +0100
commitee924e00300bd1136589b2d5f8ad1f008df01bd4 (patch)
tree4f517ecc2faf55dbaa3145835eef2eac2e0a4033 /include/net.h
parentf4b6f45dcba989f5a900edc07ececae80c79abdf (diff)
parentfc01ea1e27d5b124f0a1868d0ce569f156d58dfe (diff)
downloadu-boot-imx-ee924e00300bd1136589b2d5f8ad1f008df01bd4.zip
u-boot-imx-ee924e00300bd1136589b2d5f8ad1f008df01bd4.tar.gz
u-boot-imx-ee924e00300bd1136589b2d5f8ad1f008df01bd4.tar.bz2
Merge branch 'master' of git://git.denx.de/u-boot-net
Diffstat (limited to 'include/net.h')
-rw-r--r--include/net.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/net.h b/include/net.h
index d2d394f..bbe0d4b 100644
--- a/include/net.h
+++ b/include/net.h
@@ -474,6 +474,22 @@ static inline int is_multicast_ether_addr(const u8 *addr)
return (0x01 & addr[0]);
}
+/**
+ * is_valid_ether_addr - Determine if the given Ethernet address is valid
+ * @addr: Pointer to a six-byte array containing the Ethernet address
+ *
+ * Check that the Ethernet address (MAC) is not 00:00:00:00:00:00, is not
+ * a multicast address, and is not FF:FF:FF:FF:FF:FF.
+ *
+ * Return true if the address is valid.
+ */
+static inline int is_valid_ether_addr(const u8 * addr)
+{
+ /* FF:FF:FF:FF:FF:FF is a multicast address so we don't need to
+ * explicitly check for it here. */
+ return !is_multicast_ether_addr(addr) && !is_zero_ether_addr(addr);
+}
+
/* Convert an IP address to a string */
extern void ip_to_string (IPaddr_t x, char *s);