[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