Subject: Re: [PATCH net-next 3/3] ibmveth: Ethtool set queue support

From: Jakub Kicinski <[email-masked]>
Date: Tue, 27 Sep 2022 16:43:49 -0700

On Tue, 27 Sep 2022 14:42:39 -0500 Nick Child wrote:
> >> +static int ibmveth_set_channels(struct net_device *netdev,
> >> +				struct ethtool_channels *channels)  
> 
> >> +	/* We have IBMVETH_MAX_QUEUES netdev_queue's allocated
> >> +	 * but we may need to alloc/free the ltb's.
> >> +	 */
> >> +	netif_tx_stop_all_queues(netdev);  
> > 
> > What if the device is not UP?  
> 
>  From my understanding this will just set the __QUEUE_STATE_DRV_XOFF bit
> of all of the queues. I don't think this will cause any issues if the
> device is DOWN. Please let me know if you are worried about anything
> in particular here.

My concern was that the memory is allocated on open and freed on close.
So we shouldn't be doing any extra work if the device is closed, just
record the desired number of queues and return success.

> Just as a side note, ibmveth never sets carrier state to UP since it
> cannot determine the link status of the physical device being
> virtualized. The state is instead left as UNKNOWN when not DOWN.

Sorry for lack of clarity - UP as in IFF_UP, not IFF_LOWER_UP.