lkml.org 
[lkml]   [2022]   [Mar]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 23/43] Revert "xen-netback: remove hotplug-status once it has served its purpose"
    Date
    From: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

    [ Upstream commit 0f4558ae91870692ce7f509c31c9d6ee721d8cdc ]

    This reverts commit 1f2565780e9b7218cf92c7630130e82dcc0fe9c2.

    The 'hotplug-status' node should not be removed as long as the vif
    device remains configured. Otherwise the xen-netback would wait for
    re-running the network script even if it was already called (in case of
    the frontent re-connecting). But also, it _should_ be removed when the
    vif device is destroyed (for example when unbinding the driver) -
    otherwise hotplug script would not configure the device whenever it
    re-appear.

    Moving removal of the 'hotplug-status' node was a workaround for nothing
    calling network script after xen-netback module is reloaded. But when
    vif interface is re-created (on xen-netback unbind/bind for example),
    the script should be called, regardless of who does that - currently
    this case is not handled by the toolstack, and requires manual
    script call. Keeping hotplug-status=connected to skip the call is wrong
    and leads to not configured interface.

    More discussion at
    https://lore.kernel.org/xen-devel/afedd7cb-a291-e773-8b0d-4db9b291fa98@ipxe.org/T/#u

    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Paul Durrant <paul@xen.org>
    Link: https://lore.kernel.org/r/20220222001817.2264967-1-marmarek@invisiblethingslab.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/xen-netback/xenbus.c | 1 +
    1 file changed, 1 insertion(+)

    diff --git a/drivers/net/xen-netback/xenbus.c b/drivers/net/xen-netback/xenbus.c
    index 416305e6d093..0fe0fbd83ce4 100644
    --- a/drivers/net/xen-netback/xenbus.c
    +++ b/drivers/net/xen-netback/xenbus.c
    @@ -435,6 +435,7 @@ static void backend_disconnect(struct backend_info *be)
    unsigned int queue_index;

    xen_unregister_watchers(vif);
    + xenbus_rm(XBT_NIL, be->dev->nodename, "hotplug-status");
    #ifdef CONFIG_DEBUG_FS
    xenvif_debugfs_delif(vif);
    #endif /* CONFIG_DEBUG_FS */
    --
    2.34.1


    \
     
     \ /
      Last update: 2022-03-14 12:58    [W:3.120 / U:0.524 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site