static int link_new(Manager *manager, sd_rtnl_message *message, Link **ret) {
_cleanup_link_unref_ Link *link = NULL;
uint16_t type;
- char *ifname;
+ const char *ifname;
int r, ifindex;
assert(manager);
static int link_set_dhcp_routes(Link *link) {
struct sd_dhcp_route *static_routes;
- size_t static_routes_size;
- int r;
- unsigned i;
+ int r, n, i;
assert(link);
- r = sd_dhcp_lease_get_routes(link->dhcp_lease, &static_routes, &static_routes_size);
- if (r < 0) {
- if (r != -ENOENT)
- log_warning_link(link, "DHCP error: could not get routes: %s", strerror(-r));
- return r;
+ n = sd_dhcp_lease_get_routes(link->dhcp_lease, &static_routes);
+ if (n < 0) {
+ if (n != -ENOENT)
+ log_warning_link(link, "DHCP error: could not get routes: %s", strerror(-n));
+ return n;
}
- for (i = 0; i < static_routes_size; i++) {
+ for (i = 0; i < n; i++) {
_cleanup_route_free_ Route *route = NULL;
r = route_new_dynamic(&route);
struct in_addr netmask;
struct in_addr gateway;
unsigned prefixlen;
- unsigned i;
int r;
assert(link);
if (link->network->dhcp_routes) {
struct sd_dhcp_route *routes;
- size_t routes_size;
+ int n, i;
- r = sd_dhcp_lease_get_routes(link->dhcp_lease, &routes, &routes_size);
- if (r >= 0) {
- for (i = 0; i < routes_size; i++) {
+ n = sd_dhcp_lease_get_routes(link->dhcp_lease, &routes);
+ if (n >= 0) {
+ for (i = 0; i < n; i++) {
_cleanup_route_free_ Route *route = NULL;
r = route_new_dynamic(&route);
if (r < 0)
return r;
+ r = sd_dhcp_client_set_request_broadcast(link->dhcp_client, link->network->dhcp_broadcast);
+ if (r < 0)
+ return r;
+
if (link->network->dhcp_mtu) {
r = sd_dhcp_client_set_request_option(link->dhcp_client, 26);
if (r < 0)
int link_update(Link *link, sd_rtnl_message *m) {
struct ether_addr mac;
- char *ifname;
+ const char *ifname;
int r;
assert(link);
fprintf(f,
"# This is private data. Do not parse.\n"
"ADMIN_STATE=%s\n"
- "OPER_STATE=%s\n"
- "FLAGS=%u\n",
- admin_state, oper_state, link->flags);
+ "OPER_STATE=%s\n",
+ admin_state, oper_state);
if (link->network) {
serialize_addresses(f, "DNS", link->network->dns);