networkd: only track state of links we are managing

If a network is not (yet) set for a link, we do not care about its state (as we
anyway don't know what to do with it).
This commit is contained in:
Tom Gundersen
2014-01-02 15:56:10 +01:00
parent 449f755492
commit 06a6e59301
2 changed files with 8 additions and 4 deletions
+2 -1
View File
@@ -619,6 +619,7 @@ int link_update(Link *link, sd_rtnl_message *m) {
int r;
assert(link);
assert(link->network);
assert(m);
r = sd_rtnl_message_link_get_flags(m, &flags);
@@ -645,7 +646,7 @@ int link_update(Link *link, sd_rtnl_message *m) {
} else if (!(link->flags & IFF_LOWER_UP) && flags & IFF_LOWER_UP) {
log_info("%s: connected", link->ifname);
if (link->network && link->network->dhcp) {
if (link->network->dhcp) {
r = link_acquire_conf(link);
if (r < 0) {
link_enter_failed(link);
+6 -3
View File
@@ -247,9 +247,12 @@ static int manager_rtnl_process_link(sd_rtnl *rtnl, sd_rtnl_message *message, vo
if (!link)
return 0;
r = link_update(link, message);
if (r < 0)
return 0;
/* only track the status of links we want to manage */
if (link->network) {
r = link_update(link, message);
if (r < 0)
return 0;
}
return 1;
}