Message ID | 20200925151333.6157-1-lulu@redhat.com |
---|---|
State | Accepted |
Commit | e87936ea299d8204e496b5ff19ffdca46c21610e |
Headers | show |
Series | [v2] virtio-net: Set mac address to hardware if the peer is vdpa | expand |
On 2020/9/25 下午11:13, Cindy Lu wrote: > If the peer's type is vdpa, we need to set the mac address to hardware > in virtio_net_device_realize, > > Signed-off-by: Cindy Lu <lulu@redhat.com> > --- > hw/net/virtio-net.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c > index cb0d27084c..1f2c1643bf 100644 > --- a/hw/net/virtio-net.c > +++ b/hw/net/virtio-net.c > @@ -3399,6 +3399,12 @@ static void virtio_net_device_realize(DeviceState *dev, Error **errp) > nc = qemu_get_queue(n->nic); > nc->rxfilter_notify_enabled = 1; > > + if (nc->peer && nc->peer->info->type == NET_CLIENT_DRIVER_VHOST_VDPA) { > + struct virtio_net_config netcfg = {}; > + memcpy(&netcfg.mac, &n->nic_conf.macaddr, ETH_ALEN); > + vhost_net_set_config(get_vhost_net(nc->peer), > + (uint8_t *)&netcfg, 0, ETH_ALEN, VHOST_SET_CONFIG_TYPE_MASTER); > + } > QTAILQ_INIT(&n->rsc_chains); > n->qdev = dev; > Applied. Thanks
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index cb0d27084c..1f2c1643bf 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3399,6 +3399,12 @@ static void virtio_net_device_realize(DeviceState *dev, Error **errp) nc = qemu_get_queue(n->nic); nc->rxfilter_notify_enabled = 1; + if (nc->peer && nc->peer->info->type == NET_CLIENT_DRIVER_VHOST_VDPA) { + struct virtio_net_config netcfg = {}; + memcpy(&netcfg.mac, &n->nic_conf.macaddr, ETH_ALEN); + vhost_net_set_config(get_vhost_net(nc->peer), + (uint8_t *)&netcfg, 0, ETH_ALEN, VHOST_SET_CONFIG_TYPE_MASTER); + } QTAILQ_INIT(&n->rsc_chains); n->qdev = dev;
If the peer's type is vdpa, we need to set the mac address to hardware in virtio_net_device_realize, Signed-off-by: Cindy Lu <lulu@redhat.com> --- hw/net/virtio-net.c | 6 ++++++ 1 file changed, 6 insertions(+)