Message ID | 20230127204500.51930-2-lvivier@redhat.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 7c06458c102ee66068c03780527fcfc9b954ad91 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | virtio_net: vdpa: update MAC address when it is generated by virtio-net | expand |
On Fri, Jan 27, 2023 at 09:44:59PM +0100, Laurent Vivier wrote: > failover relies on the MAC address to pair the primary and the standby > devices: > > "[...] the hypervisor needs to enable VIRTIO_NET_F_STANDBY > feature on the virtio-net interface and assign the same MAC address > to both virtio-net and VF interfaces." > > Documentation/networking/net_failover.rst > > This patch disables the STANDBY feature if the MAC address is not > provided by the hypervisor. > > Signed-off-by: Laurent Vivier <lvivier@redhat.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> > --- > drivers/net/virtio_net.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c > index 7723b2a49d8e..7d700f8e545a 100644 > --- a/drivers/net/virtio_net.c > +++ b/drivers/net/virtio_net.c > @@ -3688,6 +3688,12 @@ static int virtnet_validate(struct virtio_device *vdev) > __virtio_clear_bit(vdev, VIRTIO_NET_F_MTU); > } > > + if (virtio_has_feature(vdev, VIRTIO_NET_F_STANDBY) && > + !virtio_has_feature(vdev, VIRTIO_NET_F_MAC)) { > + dev_warn(&vdev->dev, "device advertises feature VIRTIO_NET_F_STANDBY but not VIRTIO_NET_F_MAC, disabling standby"); > + __virtio_clear_bit(vdev, VIRTIO_NET_F_STANDBY); > + } > + > return 0; > } > > -- > 2.39.1
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 7723b2a49d8e..7d700f8e545a 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -3688,6 +3688,12 @@ static int virtnet_validate(struct virtio_device *vdev) __virtio_clear_bit(vdev, VIRTIO_NET_F_MTU); } + if (virtio_has_feature(vdev, VIRTIO_NET_F_STANDBY) && + !virtio_has_feature(vdev, VIRTIO_NET_F_MAC)) { + dev_warn(&vdev->dev, "device advertises feature VIRTIO_NET_F_STANDBY but not VIRTIO_NET_F_MAC, disabling standby"); + __virtio_clear_bit(vdev, VIRTIO_NET_F_STANDBY); + } + return 0; }
failover relies on the MAC address to pair the primary and the standby devices: "[...] the hypervisor needs to enable VIRTIO_NET_F_STANDBY feature on the virtio-net interface and assign the same MAC address to both virtio-net and VF interfaces." Documentation/networking/net_failover.rst This patch disables the STANDBY feature if the MAC address is not provided by the hypervisor. Signed-off-by: Laurent Vivier <lvivier@redhat.com> --- drivers/net/virtio_net.c | 6 ++++++ 1 file changed, 6 insertions(+)