mirror of
https://github.com/systemd/systemd.git
synced 2025-03-01 08:58:29 +03:00
networkd: print the ifindex of added links
This debug information may be useful when comapring to dropped rtnetlink messages.
This commit is contained in:
parent
2672953bde
commit
aa3437a573
@ -89,7 +89,7 @@ void link_free(Link *link) {
|
||||
free(link);
|
||||
}
|
||||
|
||||
int link_add(Manager *m, struct udev_device *device) {
|
||||
int link_add(Manager *m, struct udev_device *device, Link **ret) {
|
||||
Link *link;
|
||||
Network *network;
|
||||
int r;
|
||||
@ -101,18 +101,22 @@ int link_add(Manager *m, struct udev_device *device) {
|
||||
|
||||
ifindex = udev_device_get_ifindex(device);
|
||||
link = hashmap_get(m->links, &ifindex);
|
||||
if (link)
|
||||
if (link) {
|
||||
*ret = link;
|
||||
return -EEXIST;
|
||||
}
|
||||
|
||||
r = link_new(m, device, &link);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
*ret = link;
|
||||
|
||||
devtype = udev_device_get_devtype(device);
|
||||
if (streq_ptr(devtype, "bridge")) {
|
||||
r = bridge_set_link(m, link);
|
||||
if (r < 0)
|
||||
return r == -ENOENT ? 0 : r;
|
||||
if (r < 0 && r != -ENOENT)
|
||||
return r;
|
||||
}
|
||||
|
||||
r = network_get(m, device, &network);
|
||||
|
@ -143,17 +143,18 @@ static int manager_process_link(Manager *m, struct udev_device *device) {
|
||||
|
||||
link_free(link);
|
||||
} else {
|
||||
r = link_add(m, device);
|
||||
r = link_add(m, device, &link);
|
||||
if (r < 0) {
|
||||
if (r == -EEXIST)
|
||||
log_debug("%s: link already exists, ignoring",
|
||||
udev_device_get_sysname(device));
|
||||
link->ifname);
|
||||
else
|
||||
log_error("%s: could not handle link: %s",
|
||||
udev_device_get_sysname(device),
|
||||
strerror(-r));
|
||||
} else
|
||||
log_debug("%s: link added", udev_device_get_sysname(device));
|
||||
log_debug("%s: link (with ifindex %" PRIu64") added",
|
||||
link->ifname, link->ifindex);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -269,7 +269,7 @@ int config_parse_label(const char *unit, const char *filename, unsigned line,
|
||||
|
||||
int link_new(Manager *manager, struct udev_device *device, Link **ret);
|
||||
void link_free(Link *link);
|
||||
int link_add(Manager *manager, struct udev_device *device);
|
||||
int link_add(Manager *manager, struct udev_device *device, Link **ret);
|
||||
int link_configure(Link *link);
|
||||
|
||||
int link_update(Link *link, sd_rtnl_message *message);
|
||||
|
Loading…
x
Reference in New Issue
Block a user