summaryrefslogtreecommitdiff
path: root/src/basic/ether-addr-util.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2016-02-21 14:11:34 +0100
committerLennart Poettering <lennart@poettering.net>2016-02-21 20:40:58 +0100
commitb553a6b13c68cb72addde48281abe3f3b46e16a4 (patch)
treed8f8548603e1bd3a2812257eae233fba546e2e24 /src/basic/ether-addr-util.c
parent33859a6bf5fd2b62a562a751a509708617e19776 (diff)
downloadsystemd-b553a6b13c68cb72addde48281abe3f3b46e16a4.tar.gz
sd-lldp: filter out LLDP messages coming from our own MAC address
Let's not get confused should we be connected to some bridge that mirrors back our packets.
Diffstat (limited to 'src/basic/ether-addr-util.c')
-rw-r--r--src/basic/ether-addr-util.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/basic/ether-addr-util.c b/src/basic/ether-addr-util.c
index ded6d31f4b..d2c030903b 100644
--- a/src/basic/ether-addr-util.c
+++ b/src/basic/ether-addr-util.c
@@ -42,3 +42,26 @@ char* ether_addr_to_string(const struct ether_addr *addr, char buffer[ETHER_ADDR
return buffer;
}
+
+bool ether_addr_is_null(const struct ether_addr *addr) {
+ assert(addr);
+
+ return addr->ether_addr_octet[0] == 0 &&
+ addr->ether_addr_octet[1] == 0 &&
+ addr->ether_addr_octet[2] == 0 &&
+ addr->ether_addr_octet[3] == 0 &&
+ addr->ether_addr_octet[4] == 0 &&
+ addr->ether_addr_octet[5] == 0;
+}
+
+bool ether_addr_equal(const struct ether_addr *a, const struct ether_addr *b) {
+ assert(a);
+ assert(b);
+
+ return a->ether_addr_octet[0] == b->ether_addr_octet[0] &&
+ a->ether_addr_octet[1] == b->ether_addr_octet[1] &&
+ a->ether_addr_octet[2] == b->ether_addr_octet[2] &&
+ a->ether_addr_octet[3] == b->ether_addr_octet[3] &&
+ a->ether_addr_octet[4] == b->ether_addr_octet[4] &&
+ a->ether_addr_octet[5] == b->ether_addr_octet[5];
+}