summaryrefslogtreecommitdiff
path: root/src/network
diff options
context:
space:
mode:
authorTom Gundersen <teg@jklm.no>2014-07-07 14:18:26 +0200
committerTom Gundersen <teg@jklm.no>2014-07-07 14:18:33 +0200
commite04468dec04a968c523ee09da7d2163a1d1a5a15 (patch)
tree949b6abac8d015d8fcc9463568c90a3550136daa /src/network
parentc081882f07617e56bcbce54105068137e4e0bb52 (diff)
networkd: netdev - add missing refs
Without this, the underlying device would get freed (and hence fail).
Diffstat (limited to 'src/network')
-rw-r--r--src/network/networkd-macvlan.c2
-rw-r--r--src/network/networkd-tunnel.c2
-rw-r--r--src/network/networkd-vlan.c2
-rw-r--r--src/network/networkd-vxlan.c2
4 files changed, 8 insertions, 0 deletions
diff --git a/src/network/networkd-macvlan.c b/src/network/networkd-macvlan.c
index 9227144531..7c234264ac 100644
--- a/src/network/networkd-macvlan.c
+++ b/src/network/networkd-macvlan.c
@@ -150,6 +150,8 @@ int netdev_create_macvlan(NetDev *netdev, Link *link, sd_rtnl_message_handler_t
return r;
}
+ link_ref(link);
+
log_debug_netdev(netdev, "creating netdev");
netdev->state = NETDEV_STATE_CREATING;
diff --git a/src/network/networkd-tunnel.c b/src/network/networkd-tunnel.c
index 7341487795..5a244f61b0 100644
--- a/src/network/networkd-tunnel.c
+++ b/src/network/networkd-tunnel.c
@@ -529,6 +529,8 @@ int netdev_create_tunnel(NetDev *netdev, Link *link, sd_rtnl_message_handler_t c
return r;
}
+ link_ref(link);
+
log_debug_netdev(netdev, "Creating tunnel netdev: %s",
netdev_kind_to_string(netdev->kind));
diff --git a/src/network/networkd-vlan.c b/src/network/networkd-vlan.c
index 1d812fdcaa..8727b9f103 100644
--- a/src/network/networkd-vlan.c
+++ b/src/network/networkd-vlan.c
@@ -139,6 +139,8 @@ int netdev_create_vlan(NetDev *netdev, Link *link, sd_rtnl_message_handler_t cal
return r;
}
+ link_ref(link);
+
log_debug_netdev(netdev, "creating netdev");
netdev->state = NETDEV_STATE_CREATING;
diff --git a/src/network/networkd-vxlan.c b/src/network/networkd-vxlan.c
index 8832024ef1..160459450d 100644
--- a/src/network/networkd-vxlan.c
+++ b/src/network/networkd-vxlan.c
@@ -154,6 +154,8 @@ int netdev_create_vxlan(NetDev *netdev, Link *link, sd_rtnl_message_handler_t ca
return r;
}
+ link_ref(link);
+
log_debug_netdev(netdev, "Creating vxlan netdev: %s",
netdev_kind_to_string(netdev->kind));