[v2] net/ixgbe: fix x550 Reta set fail error
Checks
Commit Message
There is a bug in function ixgbevf_dev_info_get(), it do not
contain the reta table size get function for vf port, and this
will cause error when update reta for x550 vf port. And also
when function ixgbe_reta_size_get() is called, it should return
other ixgbe NIC vf reta support or not, not only x550.
Cc: stable@dpdk.org
Fixes: 2144f6630fca ("ixgbe: add redirection table size in device info")
Signed-off-by: wei zhao <wei.zhao1@intel.com>
---
drivers/net/ixgbe/ixgbe_ethdev.c | 5 +++++
1 file changed, 5 insertions(+)
Comments
> -----Original Message-----
> From: Zhao1, Wei
> Sent: Tuesday, July 23, 2019 12:13 PM
> To: dev@dpdk.org
> Cc: stable@dpdk.org; Zhang, Qi Z <qi.z.zhang@intel.com>; Zhao1, Wei
> <wei.zhao1@intel.com>
> Subject: [PATCH v2] net/ixgbe: fix x550 Reta set fail error
>
> There is a bug in function ixgbevf_dev_info_get(), it do not contain the reta
> table size get function for vf port, and this will cause error when update reta
> for x550 vf port. And also when function ixgbe_reta_size_get() is called, it
> should return other ixgbe NIC vf reta support or not, not only x550.
This commit log is a little bit misleading
Does below description OK for you?
Title:
net/ixgbe: fix reta size for VF
Filling correct reta table size at ixgbevf_dev_info_get, so reta table update will be supported for VF port.
For X540_vf and 82599_vf, since they don't support reta table update, set reta size to 0.
>
> Cc: stable@dpdk.org
>
> Fixes: 2144f6630fca ("ixgbe: add redirection table size in device info")
> Signed-off-by: wei zhao <wei.zhao1@intel.com>
> ---
> drivers/net/ixgbe/ixgbe_ethdev.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c
> b/drivers/net/ixgbe/ixgbe_ethdev.c
> index 22c5b2c..773f667 100644
> --- a/drivers/net/ixgbe/ixgbe_ethdev.c
> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
> @@ -3927,6 +3927,8 @@ ixgbevf_dev_info_get(struct rte_eth_dev *dev,
> dev_info->rx_queue_offload_capa);
> dev_info->tx_queue_offload_capa = ixgbe_get_tx_queue_offloads(dev);
> dev_info->tx_offload_capa = ixgbe_get_tx_port_offloads(dev);
> + dev_info->hash_key_size = IXGBE_HKEY_MAX_INDEX * sizeof(uint32_t);
> + dev_info->reta_size = ixgbe_reta_size_get(hw->mac.type);
>
> dev_info->default_rxconf = (struct rte_eth_rxconf) {
> .rx_thresh = {
> @@ -7438,6 +7440,9 @@ ixgbe_reta_size_get(enum ixgbe_mac_type
> mac_type) {
> case ixgbe_mac_X550EM_x_vf:
> case ixgbe_mac_X550EM_a_vf:
> return ETH_RSS_RETA_SIZE_64;
> + case ixgbe_mac_X540_vf:
> + case ixgbe_mac_82599_vf:
> + return 0;
> default:
> return ETH_RSS_RETA_SIZE_128;
> }
> --
> 2.7.5
On 07/23, Wei Zhao wrote:
>There is a bug in function ixgbevf_dev_info_get(), it do not
>contain the reta table size get function for vf port, and this
>will cause error when update reta for x550 vf port. And also
>when function ixgbe_reta_size_get() is called, it should return
>other ixgbe NIC vf reta support or not, not only x550.
>
>Cc: stable@dpdk.org
>
>Fixes: 2144f6630fca ("ixgbe: add redirection table size in device info")
>Signed-off-by: wei zhao <wei.zhao1@intel.com>
Minor nit about your signoff, the first letter of your name should be captial.
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
For the patch,
Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
@@ -3927,6 +3927,8 @@ ixgbevf_dev_info_get(struct rte_eth_dev *dev,
dev_info->rx_queue_offload_capa);
dev_info->tx_queue_offload_capa = ixgbe_get_tx_queue_offloads(dev);
dev_info->tx_offload_capa = ixgbe_get_tx_port_offloads(dev);
+ dev_info->hash_key_size = IXGBE_HKEY_MAX_INDEX * sizeof(uint32_t);
+ dev_info->reta_size = ixgbe_reta_size_get(hw->mac.type);
dev_info->default_rxconf = (struct rte_eth_rxconf) {
.rx_thresh = {
@@ -7438,6 +7440,9 @@ ixgbe_reta_size_get(enum ixgbe_mac_type mac_type) {
case ixgbe_mac_X550EM_x_vf:
case ixgbe_mac_X550EM_a_vf:
return ETH_RSS_RETA_SIZE_64;
+ case ixgbe_mac_X540_vf:
+ case ixgbe_mac_82599_vf:
+ return 0;
default:
return ETH_RSS_RETA_SIZE_128;
}