> > On 3/8/23, 4:34 PM, "Yunsheng Lin" <linyunsheng@huawei.com mailto:linyunsheng@huawei.com> wrote:
- if (adapter->netdev->features & NETIF_F_LRO)
- /* Use GRO callback if UPT is enabled */
- if ((adapter->netdev->features & NETIF_F_LRO) && !rq->shared->updateRxProd)
If UPT devicve does not support LRO, why not just clear the NETIF_F_LRO from adapter->netdev->features?
With above change, it seems that LRO is supported for user' POV, but the GRO is actually being done.
Also, if NETIF_F_LRO is set, do we need to clear the NETIF_F_GRO bit, so that there is no confusion for user?
We cannot clear LRO bit as the virtual nic can run in either emulation or UPT mode. When the vnic switches the mode between UPT and emulation, the guest vm is not notified. Hence, we use updateRxProd which is shared in datapath to check what mode is being run.
Also, we plan to add an event to notify the guest about this but that is for separate patch and may take some time.
Thanks, Ronak