[dpdk-dev] [PATCH] ixgbe 82599: Query assignment of queues to Virtual Function.

Thomas Monjalon thomas.monjalon at 6wind.com
Mon Oct 21 10:36:01 CEST 2013


Hi,

21/10/2013 09:09, Qinglai Xiao :
> Physical Function assignes Tx/Rx queues to each VF according to
> different schemes[1]. By querying through mailbox, VF is able to
> get number of Tx/Rx queues assigned to it.
> 
> Note that current Intel ixgbe driver ixgbe-3.18.7 does not fully
> support mailbox message IXGBE_VF_GET_QUEUES. The service routine
> for IXGBE_VF_GET_QUEUES must be fixed, otherwise PF always return
> 1 as Tx/Rx queue number.
> 
> [1] See section 7.2.1.2.1, 7.1.2.2 and 7.10.2.7.2 of Intel 82599 10
>     Gbe Controller Datasheet.
> 
> Signed-off-by: Qinglai Xiao <jigsaw at gmail.com>
> ---

Thanks for the patch, your comments are clear.

> +static void ixgbevf_negotiate_api(struct ixgbe_hw *hw)
> +{
> +	int api[] = { ixgbe_mbox_api_11,
> +		      ixgbe_mbox_api_10,
> +		      ixgbe_mbox_api_unknown };
> +	int err = 0, idx = 0;
> +
> +	while (api[idx] != ixgbe_mbox_api_unknown) {
> +		err = ixgbevf_negotiate_api_version(hw, api[idx]);
> +		if (!err)
> +			break;
> +		idx++;
> +	}
> +}

I have comments about the mbox API:
1) Why not call directly ixgbevf_negotiate_api_version for ixgbe_mbox_api_11 only ?
It seems that only version 1.1 supports ixgbevf_get_queues.
2) If a loop is still needed, why not use a simple "for loop" ?
3) If ixgbevf_negotiate_api is still needed, I'd prefer to have "_mbx" in its name.

Thank you
-- 
Thomas


More information about the dev mailing list