Messages in this thread | | | Date | Tue, 27 Dec 2022 17:06:10 +0800 | Subject | Re: [PATCH 1/4] virtio-net: convert rx mode setting to use workqueue | From | Jason Wang <> |
| |
在 2022/12/27 15:39, Michael S. Tsirkin 写道: > On Mon, Dec 26, 2022 at 03:49:05PM +0800, Jason Wang wrote: >> @@ -2227,9 +2267,21 @@ static void virtnet_set_rx_mode(struct net_device *dev) >> VIRTIO_NET_CTRL_MAC_TABLE_SET, sg)) >> dev_warn(&dev->dev, "Failed to set MAC filter table.\n"); >> >> + rtnl_unlock(); >> + >> kfree(buf); >> } >> >> +static void virtnet_set_rx_mode(struct net_device *dev) >> +{ >> + struct virtnet_info *vi = netdev_priv(dev); >> + >> + spin_lock(&vi->rx_mode_lock); >> + if (vi->rx_mode_work_enabled) >> + schedule_work(&vi->rx_mode_work); >> + spin_unlock(&vi->rx_mode_lock); >> +} >> + >> static int virtnet_vlan_rx_add_vid(struct net_device *dev, >> __be16 proto, u16 vid) >> { > Hmm so user tells us to e.g enable promisc. We report completion > but card is still dropping packets. I think this > has a chance to break some setups.
I think all those filters are best efforts, am I wrong?
Thanks
>
| |