691ad36245
Currently there are limitations in the virthcnl.h interface that only allow a maximum of 16 queues to be used by a VF driver. Add support in virtchnl.h to allow a VF driver to request >16 queues. Also, the RSS qregion size is currently assumed to be the max number of queues a VF can request and/or is given on initialization. With larger VFs this assumption can no longer be made, so add a new op to support querying the max RSS qregion size. In order to request more queues than the initially given queues the VF driver needs to use the VIRTCHNL_OP_REQUEST_QUEUES opcode. The VF is given more >16 queues it should use the new VIRTCHNL_OP_GET_MAX_RSS_QREGION to determine its max qregion size. This is needed to correctly configure the RSS LUT and/or configure filters based on queue base/offset and queue region size. If the VF is configuring >16 queues it should use the following opcodes to configure the qeueus and interrupts after successfully requesting them. VIRTCHNL_OP_MAP_QUEUE_VECTOR VIRTCHNL_OP_ENABLE_QUEUES_V2 VIRTCHNL_OP_DISABLE_QUEUES_V2 Also, add support in virtchnl_vc_validate_vf_msg() to validate the above messages. As a part of this move the virtchnl_vector_limits enumeration directly above the function it's used. The patch also update base code release version in readme. Signed-off-by: Ting Xu <ting.xu@intel.com> Signed-off-by: Brett Creeley <brett.creeley@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Acked-by: Beilei Xing <beilei.xing@intel.com> |
||
---|---|---|
.. | ||
iavf_adminq_cmd.h | ||
iavf_adminq.c | ||
iavf_adminq.h | ||
iavf_alloc.h | ||
iavf_common.c | ||
iavf_devids.h | ||
iavf_impl.c | ||
iavf_osdep.h | ||
iavf_prototype.h | ||
iavf_register.h | ||
iavf_status.h | ||
iavf_type.h | ||
meson.build | ||
README | ||
rte_common_iavf_version.map | ||
virtchnl.h |
/* SPDX-License-Identifier: BSD-3-Clause * Copyright(c) 2019-2020 Intel Corporation */ Intel® IAVF driver ================= This directory contains source code of FreeBSD IAVF driver of version cid-avf.2020.10.14.tar.gz released by the team which develops basic drivers for any IAVF NIC. The directory of base/ contains the original source package. Updating the driver =================== NOTE: The source code in this directory should not be modified apart from the following file(s): iavf_osdep.h iavf_impl.c