]> git.ipfire.org Git - people/ms/network.git/commitdiff
networkd: Introduce address flags for better readability
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 11 Feb 2023 12:06:18 +0000 (12:06 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 11 Feb 2023 12:06:18 +0000 (12:06 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/networkd/address.h

index f875b26102edc0d0afa8826dba9ee6ae742fd6cd..0885d755d68f3add8062ea3a2a0d6eabd58f7f07 100644 (file)
 
 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;
 }