From 35fc59cd654c084cfe2550ed874d768f624b591e Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 11 Feb 2023 12:06:18 +0000 Subject: [PATCH] networkd: Introduce address flags for better readability Signed-off-by: Michael Tremer --- src/networkd/address.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/networkd/address.h b/src/networkd/address.h index f875b261..0885d755 100644 --- a/src/networkd/address.h +++ b/src/networkd/address.h @@ -29,6 +29,11 @@ typedef struct ether_addr nw_address_t; +enum { + NW_ADDRESS_MULTICAST = (1 << 0), + NW_ADDRESS_SOFTWAREASSIGNED = (1 << 1), +}; + static inline int nw_address_from_string(nw_address_t* addr, const char* s) { struct ether_addr* p = ether_aton_r(s, addr); if (!p) @@ -61,10 +66,10 @@ static inline int nw_address_generate(nw_address_t* addr) { } // Clear the multicast bit - addr->ether_addr_octet[0] &= 0xfe; + addr->ether_addr_octet[0] &= ~NW_ADDRESS_MULTICAST; // Set the software-generated bit - addr->ether_addr_octet[1] |= 0x02; + addr->ether_addr_octet[0] |= NW_ADDRESS_SOFTWAREASSIGNED; return 0; } -- 2.47.3