On Mon, 24 Jun 2024 10:03:55 +0800
Chaoyong He <chaoyong...@corigine.com> wrote:

> diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c 
> b/drivers/net/bonding/rte_eth_bond_8023ad.c
> index 06c21ebe6d..c19645aa4f 100644
> --- a/drivers/net/bonding/rte_eth_bond_8023ad.c
> +++ b/drivers/net/bonding/rte_eth_bond_8023ad.c
> @@ -1254,6 +1254,8 @@ bond_mode_8023ad_conf_assign(struct mode8023ad_private 
> *mode4,
>       mode4->dedicated_queues.enabled = 0;
>       mode4->dedicated_queues.rx_qid = UINT16_MAX;
>       mode4->dedicated_queues.tx_qid = UINT16_MAX;
> +     mode4->dedicated_queues.rx_queue_size = SLOW_RX_QUEUE_HW_DEFAULT_SIZE;
> +     mode4->dedicated_queues.tx_queue_size = SLOW_TX_QUEUE_HW_DEFAULT_SIZE;
>  }
>  
>  void
> @@ -1753,3 +1755,40 @@ rte_eth_bond_8023ad_dedicated_queues_disable(uint16_t 
> port)
>  
>       return retval;
>  }
> +
> +int
> +rte_eth_bond_8023ad_dedicated_queue_size_set(uint16_t port,
> +             uint16_t queue_size,
> +             char *queue_type)

Should be const char * for queue type

> +{
> +     struct rte_eth_dev *dev;
> +     struct bond_dev_private *internals;
> +
> +     if (valid_bonding_port_id(port) != 0) {
> +             RTE_BOND_LOG(ERR, "The bonding port id is invalid");
> +             return -EINVAL;
> +     }
> +
> +     dev = &rte_eth_devices[port];
> +
> +     /* Device must be stopped to set up slow queue */
> +     if (dev->data->dev_started != 0) {
> +             RTE_BOND_LOG(ERR, "Please stop the bonding port");
> +             return -EINVAL;
> +     }
> +
> +     internals = dev->data->dev_private;
> +     if (internals->mode4.dedicated_queues.enabled == 0) {
> +             RTE_BOND_LOG(ERR, "Please enable dedicated queue");
> +             return -EINVAL;
> +     }
> +
> +     if (strcmp(queue_type, "rxq") == 0)
> +             internals->mode4.dedicated_queues.rx_queue_size = queue_size;
> +     else if (strcmp(queue_type, "txq") == 0)
> +             internals->mode4.dedicated_queues.tx_queue_size = queue_size;
> +     else
> +             return -EINVAL;

Add error message like:
                RTE_BOND_LOG(ERR, "Unknown queue type %s", queue_type);

> +
> +     return 0;
> +}

Reply via email to