virtio: fix link up/down flag
Type: fix "set int state <interface> down" puts the virtio device link down. It will not put the link in "UP" state, when "set int state <interface up>" will be used again to change the interface admin up. This patch fixes it. To test: create tap set int state tap0 up set int state tap0 down sh hardware sh int set int state tap0 up sh int sh hardware Change-Id: I3c0e31539f8a2a1e40220e7fb57eedecf408f067 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> (cherry picked from commit 529f0e97b6064039c500adce0d54b738954b2ffa)
This commit is contained in:
parent
edef5b00ed
commit
ffe2caf9da
@ -488,10 +488,16 @@ virtio_interface_admin_up_down (vnet_main_t * vnm, u32 hw_if_index, u32 flags)
|
||||
virtio_if_t *vif = pool_elt_at_index (mm->interfaces, hw->dev_instance);
|
||||
|
||||
if (flags & VNET_SW_INTERFACE_FLAG_ADMIN_UP)
|
||||
{
|
||||
vif->flags |= VIRTIO_IF_FLAG_ADMIN_UP;
|
||||
vnet_hw_interface_set_flags (vnm, vif->hw_if_index,
|
||||
VNET_HW_INTERFACE_FLAG_LINK_UP);
|
||||
}
|
||||
else
|
||||
{
|
||||
vif->flags &= ~VIRTIO_IF_FLAG_ADMIN_UP;
|
||||
|
||||
vnet_hw_interface_set_flags (vnm, vif->hw_if_index, 0);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user