X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-netdev.c;h=a53f0465405ccf12217f17f181d60a3a6105acba;hp=13338aec512fcd173acfd913cde7c388e4d2f7f1;hb=d5b3d845f013f7f332c76e83bb8e867de7d3caee;hpb=1a941ac4b690cb3f4333e35f4a5036fe6fd50ff9 diff --git a/src/network/networkd-netdev.c b/src/network/networkd-netdev.c index 13338aec5..a53f04654 100644 --- a/src/network/networkd-netdev.c +++ b/src/network/networkd-netdev.c @@ -222,6 +222,7 @@ static int netdev_enter_ready(NetDev *netdev) { return 0; } +/* callback for netdev's created without a backing Link */ static int netdev_create_handler(sd_rtnl *rtnl, sd_rtnl_message *m, void *userdata) { NetDev *netdev = userdata; int r; @@ -402,6 +403,7 @@ static int netdev_create(NetDev *netdev, Link *link, sd_rtnl_message_handler_t c return 0; } +/* the callback must be called, possibly after a timeout, as otherwise the Link will hang */ int netdev_enslave(NetDev *netdev, Link *link, sd_rtnl_message_handler_t callback) { int r; @@ -415,7 +417,7 @@ int netdev_enslave(NetDev *netdev, Link *link, sd_rtnl_message_handler_t callbac case NETDEV_KIND_GRE: case NETDEV_KIND_SIT: case NETDEV_KIND_VTI: - return netdev_create_tunnel(link, netdev_create_handler); + return netdev_create_tunnel(netdev, link, callback); default: break; }