X Tutup
Skip to content

Commit ca2b7cd

Browse files
committed
ether-addr-util: drop redundant "addr" from struct hw_addr_data
Also, this makes always specifiy "struct" for hw_addr_data.
1 parent 91d0750 commit ca2b7cd

15 files changed

+55
-57
lines changed

src/basic/ether-addr-util.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@
1010
#include "macro.h"
1111
#include "string-util.h"
1212

13-
char* hw_addr_to_string(const hw_addr_data *addr, char buffer[HW_ADDR_TO_STRING_MAX]) {
13+
char* hw_addr_to_string(const struct hw_addr_data *addr, char buffer[HW_ADDR_TO_STRING_MAX]) {
1414
assert(addr);
1515
assert(buffer);
1616
assert(addr->length <= HW_ADDR_MAX_SIZE);
1717

1818
for (size_t i = 0; i < addr->length; i++) {
19-
sprintf(&buffer[3*i], "%02"PRIx8, addr->addr.bytes[i]);
19+
sprintf(&buffer[3*i], "%02"PRIx8, addr->bytes[i]);
2020
if (i < addr->length - 1)
2121
buffer[3*i + 2] = ':';
2222
}

src/basic/ether-addr-util.h

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,22 @@
1111
* defines a macro of the same name with a much lower size. */
1212
#define HW_ADDR_MAX_SIZE 32
1313

14-
union hw_addr_union {
15-
struct ether_addr ether;
16-
uint8_t infiniband[INFINIBAND_ALEN];
17-
uint8_t bytes[HW_ADDR_MAX_SIZE];
18-
};
19-
20-
typedef struct hw_addr_data {
21-
union hw_addr_union addr;
14+
struct hw_addr_data {
2215
size_t length;
23-
} hw_addr_data;
16+
union {
17+
struct ether_addr ether;
18+
uint8_t infiniband[INFINIBAND_ALEN];
19+
uint8_t bytes[HW_ADDR_MAX_SIZE];
20+
};
21+
};
2422

2523
#define HW_ADDR_TO_STRING_MAX (3*HW_ADDR_MAX_SIZE)
26-
char* hw_addr_to_string(const hw_addr_data *addr, char buffer[HW_ADDR_TO_STRING_MAX]);
24+
char* hw_addr_to_string(const struct hw_addr_data *addr, char buffer[HW_ADDR_TO_STRING_MAX]);
2725

2826
/* Use only as function argument, never stand-alone! */
2927
#define HW_ADDR_TO_STR(hw_addr) hw_addr_to_string((hw_addr), (char[HW_ADDR_TO_STRING_MAX]){})
3028

31-
#define HW_ADDR_NULL ((const hw_addr_data){})
29+
#define HW_ADDR_NULL ((const struct hw_addr_data){})
3230

3331
#define ETHER_ADDR_FORMAT_STR "%02X%02X%02X%02X%02X%02X"
3432
#define ETHER_ADDR_FORMAT_VAL(x) (x).ether_addr_octet[0], (x).ether_addr_octet[1], (x).ether_addr_octet[2], (x).ether_addr_octet[3], (x).ether_addr_octet[4], (x).ether_addr_octet[5]

src/libsystemd/sd-netlink/netlink-message.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,7 @@ int sd_netlink_message_append_ether_addr(sd_netlink_message *m, unsigned short t
494494
return 0;
495495
}
496496

497-
int netlink_message_append_hw_addr(sd_netlink_message *m, unsigned short type, const hw_addr_data *data) {
497+
int netlink_message_append_hw_addr(sd_netlink_message *m, unsigned short type, const struct hw_addr_data *data) {
498498
int r;
499499

500500
assert_return(m, -EINVAL);
@@ -506,7 +506,7 @@ int netlink_message_append_hw_addr(sd_netlink_message *m, unsigned short type, c
506506
if (r < 0)
507507
return r;
508508

509-
r = add_rtattr(m, type, data->addr.bytes, data->length);
509+
r = add_rtattr(m, type, data->bytes, data->length);
510510
if (r < 0)
511511
return r;
512512

@@ -886,7 +886,7 @@ int sd_netlink_message_read_ether_addr(sd_netlink_message *m, unsigned short typ
886886
return 0;
887887
}
888888

889-
int netlink_message_read_hw_addr(sd_netlink_message *m, unsigned short type, hw_addr_data *data) {
889+
int netlink_message_read_hw_addr(sd_netlink_message *m, unsigned short type, struct hw_addr_data *data) {
890890
int r;
891891
void *attr_data;
892892

@@ -899,11 +899,11 @@ int netlink_message_read_hw_addr(sd_netlink_message *m, unsigned short type, hw_
899899
r = netlink_message_read_internal(m, type, &attr_data, NULL);
900900
if (r < 0)
901901
return r;
902-
else if ((size_t) r > sizeof(union hw_addr_union))
902+
else if (r > HW_ADDR_MAX_SIZE)
903903
return -EIO;
904904

905905
if (data) {
906-
memcpy(data->addr.bytes, attr_data, r);
906+
memcpy(data->bytes, attr_data, r);
907907
data->length = r;
908908
}
909909

src/libsystemd/sd-netlink/netlink-util.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,11 +117,11 @@ int rtnl_log_create_error(int r);
117117
userdata, description); \
118118
})
119119

120-
int netlink_message_append_hw_addr(sd_netlink_message *m, unsigned short type, const hw_addr_data *data);
120+
int netlink_message_append_hw_addr(sd_netlink_message *m, unsigned short type, const struct hw_addr_data *data);
121121
int netlink_message_append_in_addr_union(sd_netlink_message *m, unsigned short type, int family, const union in_addr_union *data);
122122
int netlink_message_append_sockaddr_union(sd_netlink_message *m, unsigned short type, const union sockaddr_union *data);
123123

124-
int netlink_message_read_hw_addr(sd_netlink_message *m, unsigned short type, hw_addr_data *data);
124+
int netlink_message_read_hw_addr(sd_netlink_message *m, unsigned short type, struct hw_addr_data *data);
125125
int netlink_message_read_in_addr_union(sd_netlink_message *m, unsigned short type, int family, union in_addr_union *data);
126126

127127
void rtattr_append_attribute_internal(struct rtattr *rta, unsigned short type, const void *data, size_t data_length);

src/network/networkctl.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ typedef struct LinkInfo {
272272
sd_device *sd_device;
273273
int ifindex;
274274
unsigned short iftype;
275-
hw_addr_data hw_address;
275+
struct hw_addr_data hw_address;
276276
struct ether_addr permanent_mac_address;
277277
uint32_t master;
278278
uint32_t mtu;
@@ -554,13 +554,13 @@ static int decode_link(sd_netlink_message *m, LinkInfo *info, char **patterns, b
554554

555555
info->has_mac_address =
556556
netlink_message_read_hw_addr(m, IFLA_ADDRESS, &info->hw_address) >= 0 &&
557-
memcmp(&info->hw_address, &HW_ADDR_NULL, sizeof(hw_addr_data)) != 0;
557+
memcmp(&info->hw_address, &HW_ADDR_NULL, sizeof(struct hw_addr_data)) != 0;
558558

559559
info->has_permanent_mac_address =
560560
ethtool_get_permanent_macaddr(NULL, info->name, &info->permanent_mac_address) >= 0 &&
561561
memcmp(&info->permanent_mac_address, &ETHER_ADDR_NULL, sizeof(struct ether_addr)) != 0 &&
562562
(info->hw_address.length != sizeof(struct ether_addr) ||
563-
memcmp(&info->permanent_mac_address, info->hw_address.addr.bytes, sizeof(struct ether_addr)) != 0);
563+
memcmp(&info->permanent_mac_address, info->hw_address.bytes, sizeof(struct ether_addr)) != 0);
564564

565565
(void) sd_netlink_message_read_u32(m, IFLA_MTU, &info->mtu);
566566
(void) sd_netlink_message_read_u32(m, IFLA_MIN_MTU, &info->min_mtu);
@@ -1684,7 +1684,7 @@ static int link_status_one(
16841684
_cleanup_free_ char *description = NULL;
16851685

16861686
if (info->hw_address.length == ETH_ALEN)
1687-
(void) ieee_oui(hwdb, &info->hw_address.addr.ether, &description);
1687+
(void) ieee_oui(hwdb, &info->hw_address.ether, &description);
16881688

16891689
r = table_add_many(table,
16901690
TABLE_EMPTY,

src/network/networkd-address.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -59,22 +59,22 @@ int generate_ipv6_eui_64_address(const Link *link, struct in6_addr *ret) {
5959

6060
if (link->iftype == ARPHRD_INFINIBAND) {
6161
/* see RFC4391 section 8 */
62-
memcpy(&ret->s6_addr[8], &link->hw_addr.addr.infiniband[12], 8);
62+
memcpy(&ret->s6_addr[8], &link->hw_addr.infiniband[12], 8);
6363
ret->s6_addr[8] ^= 1 << 1;
6464

6565
return 0;
6666
}
6767

6868
/* see RFC4291 section 2.5.1 */
69-
ret->s6_addr[8] = link->hw_addr.addr.ether.ether_addr_octet[0];
69+
ret->s6_addr[8] = link->hw_addr.ether.ether_addr_octet[0];
7070
ret->s6_addr[8] ^= 1 << 1;
71-
ret->s6_addr[9] = link->hw_addr.addr.ether.ether_addr_octet[1];
72-
ret->s6_addr[10] = link->hw_addr.addr.ether.ether_addr_octet[2];
71+
ret->s6_addr[9] = link->hw_addr.ether.ether_addr_octet[1];
72+
ret->s6_addr[10] = link->hw_addr.ether.ether_addr_octet[2];
7373
ret->s6_addr[11] = 0xff;
7474
ret->s6_addr[12] = 0xfe;
75-
ret->s6_addr[13] = link->hw_addr.addr.ether.ether_addr_octet[3];
76-
ret->s6_addr[14] = link->hw_addr.addr.ether.ether_addr_octet[4];
77-
ret->s6_addr[15] = link->hw_addr.addr.ether.ether_addr_octet[5];
75+
ret->s6_addr[13] = link->hw_addr.ether.ether_addr_octet[3];
76+
ret->s6_addr[14] = link->hw_addr.ether.ether_addr_octet[4];
77+
ret->s6_addr[15] = link->hw_addr.ether.ether_addr_octet[5];
7878

7979
return 0;
8080
}
@@ -1531,7 +1531,7 @@ static int ipv4_dad_configure(Address *address) {
15311531
if (r < 0)
15321532
return r;
15331533

1534-
r = sd_ipv4acd_set_mac(address->acd, &address->link->hw_addr.addr.ether);
1534+
r = sd_ipv4acd_set_mac(address->acd, &address->link->hw_addr.ether);
15351535
if (r < 0)
15361536
return r;
15371537

@@ -1561,7 +1561,7 @@ static int ipv4_dad_update_mac_one(Address *address) {
15611561
if (r < 0)
15621562
return r;
15631563

1564-
r = sd_ipv4acd_set_mac(address->acd, &address->link->hw_addr.addr.ether);
1564+
r = sd_ipv4acd_set_mac(address->acd, &address->link->hw_addr.ether);
15651565
if (r < 0)
15661566
return r;
15671567

src/network/networkd-dhcp4.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -852,7 +852,7 @@ static int dhcp4_configure_dad(Link *link) {
852852
if (r < 0)
853853
return r;
854854

855-
r = sd_ipv4acd_set_mac(link->dhcp_acd, &link->hw_addr.addr.ether);
855+
r = sd_ipv4acd_set_mac(link->dhcp_acd, &link->hw_addr.ether);
856856
if (r < 0)
857857
return r;
858858

@@ -874,7 +874,7 @@ static int dhcp4_dad_update_mac(Link *link) {
874874
if (r < 0)
875875
return r;
876876

877-
r = sd_ipv4acd_set_mac(link->dhcp_acd, &link->hw_addr.addr.ether);
877+
r = sd_ipv4acd_set_mac(link->dhcp_acd, &link->hw_addr.ether);
878878
if (r < 0)
879879
return r;
880880

@@ -1437,7 +1437,7 @@ static int dhcp4_set_client_identifier(Link *link) {
14371437
break;
14381438
}
14391439
case DHCP_CLIENT_ID_MAC: {
1440-
const uint8_t *hw_addr = link->hw_addr.addr.bytes;
1440+
const uint8_t *hw_addr = link->hw_addr.bytes;
14411441
size_t hw_addr_len = link->hw_addr.length;
14421442

14431443
if (link->iftype == ARPHRD_INFINIBAND && hw_addr_len == INFINIBAND_ALEN) {
@@ -1546,8 +1546,8 @@ int dhcp4_configure(Link *link) {
15461546
return log_link_warning_errno(link, r, "DHCP4 CLIENT: Failed to attach event to DHCP4 client: %m");
15471547

15481548
r = sd_dhcp_client_set_mac(link->dhcp_client,
1549-
link->hw_addr.addr.bytes,
1550-
link->bcast_addr.length > 0 ? link->bcast_addr.addr.bytes : NULL,
1549+
link->hw_addr.bytes,
1550+
link->bcast_addr.length > 0 ? link->bcast_addr.bytes : NULL,
15511551
link->hw_addr.length, link->iftype);
15521552
if (r < 0)
15531553
return log_link_warning_errno(link, r, "DHCP4 CLIENT: Failed to set MAC address: %m");
@@ -1702,8 +1702,8 @@ int dhcp4_update_mac(Link *link) {
17021702
if (!link->dhcp_client)
17031703
return 0;
17041704

1705-
r = sd_dhcp_client_set_mac(link->dhcp_client, link->hw_addr.addr.bytes,
1706-
link->bcast_addr.length > 0 ? link->bcast_addr.addr.bytes : NULL,
1705+
r = sd_dhcp_client_set_mac(link->dhcp_client, link->hw_addr.bytes,
1706+
link->bcast_addr.length > 0 ? link->bcast_addr.bytes : NULL,
17071707
link->hw_addr.length, link->iftype);
17081708
if (r < 0)
17091709
return r;

src/network/networkd-dhcp6.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1569,7 +1569,7 @@ static int dhcp6_set_identifier(Link *link, sd_dhcp6_client *client) {
15691569
assert(link->network);
15701570
assert(client);
15711571

1572-
r = sd_dhcp6_client_set_mac(client, link->hw_addr.addr.bytes, link->hw_addr.length, link->iftype);
1572+
r = sd_dhcp6_client_set_mac(client, link->hw_addr.bytes, link->hw_addr.length, link->iftype);
15731573
if (r < 0)
15741574
return r;
15751575

src/network/networkd-ipv4ll.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ int ipv4ll_configure(Link *link) {
166166
return r;
167167
}
168168

169-
r = sd_ipv4ll_set_mac(link->ipv4ll, &link->hw_addr.addr.ether);
169+
r = sd_ipv4ll_set_mac(link->ipv4ll, &link->hw_addr.ether);
170170
if (r < 0)
171171
return r;
172172

@@ -196,7 +196,7 @@ int ipv4ll_update_mac(Link *link) {
196196
if (r < 0)
197197
return r;
198198

199-
r = sd_ipv4ll_set_mac(link->ipv4ll, &link->hw_addr.addr.ether);
199+
r = sd_ipv4ll_set_mac(link->ipv4ll, &link->hw_addr.ether);
200200
if (r < 0)
201201
return r;
202202

src/network/networkd-link.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1157,7 +1157,7 @@ static int link_get_network(Link *link, Network **ret) {
11571157
r = net_match_config(
11581158
&network->match,
11591159
link->sd_device,
1160-
&link->hw_addr.addr.ether,
1160+
&link->hw_addr.ether,
11611161
&link->permanent_mac,
11621162
link->driver,
11631163
link->iftype,
@@ -1968,7 +1968,7 @@ static int link_update_master(Link *link, sd_netlink_message *message) {
19681968
}
19691969

19701970
static int link_update_hardware_address(Link *link, sd_netlink_message *message) {
1971-
hw_addr_data hw_addr;
1971+
struct hw_addr_data hw_addr;
19721972
int r;
19731973

19741974
assert(link);
@@ -1985,7 +1985,7 @@ static int link_update_hardware_address(Link *link, sd_netlink_message *message)
19851985
return log_link_warning_errno(link, r, "rtnl: failed to read hardware address: %m");
19861986

19871987
if (link->hw_addr.length == hw_addr.length &&
1988-
memcmp(link->hw_addr.addr.bytes, hw_addr.addr.bytes, hw_addr.length) == 0)
1988+
memcmp(link->hw_addr.bytes, hw_addr.bytes, hw_addr.length) == 0)
19891989
return 0;
19901990

19911991
link->hw_addr = hw_addr;
@@ -2009,13 +2009,13 @@ static int link_update_hardware_address(Link *link, sd_netlink_message *message)
20092009
return log_link_debug_errno(link, r, "Could not update MAC address for Router Advertisement: %m");
20102010

20112011
if (link->ndisc) {
2012-
r = sd_ndisc_set_mac(link->ndisc, &link->hw_addr.addr.ether);
2012+
r = sd_ndisc_set_mac(link->ndisc, &link->hw_addr.ether);
20132013
if (r < 0)
20142014
return log_link_debug_errno(link, r, "Could not update MAC for NDisc: %m");
20152015
}
20162016

20172017
if (link->lldp) {
2018-
r = sd_lldp_set_filter_address(link->lldp, &link->hw_addr.addr.ether);
2018+
r = sd_lldp_set_filter_address(link->lldp, &link->hw_addr.ether);
20192019
if (r < 0)
20202020
return log_link_debug_errno(link, r, "Could not update MAC address for LLDP: %m");
20212021
}

0 commit comments

Comments
 (0)
X Tutup