/* Checking RX mode */
if (rxmode->mq_mode & RTE_ETH_MQ_RX_RSS &&
- !(hw->cap & NFP_NET_CFG_CTRL_RSS)) {
+ !(hw->cap & NFP_NET_CFG_CTRL_RSS_ANY)) {
PMD_INIT_LOG(INFO, "RSS not supported");
return -EINVAL;
}
.nb_mtu_seg_max = NFP_TX_MAX_MTU_SEG,
};
- if (hw->cap & NFP_NET_CFG_CTRL_RSS) {
+ if (hw->cap & NFP_NET_CFG_CTRL_RSS_ANY) {
dev_info->rx_offload_capa |= RTE_ETH_RX_OFFLOAD_RSS_HASH;
dev_info->flow_type_rss_offloads = RTE_ETH_RSS_IPV4 |
uint32_t update;
int ret;
- if (!(hw->ctrl & NFP_NET_CFG_CTRL_RSS))
+ if (!(hw->ctrl & NFP_NET_CFG_CTRL_RSS_ANY))
return -EINVAL;
ret = nfp_net_rss_reta_write(dev, reta_conf, reta_size);
hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
- if (!(hw->ctrl & NFP_NET_CFG_CTRL_RSS))
+ if (!(hw->ctrl & NFP_NET_CFG_CTRL_RSS_ANY))
return -EINVAL;
if (reta_size != NFP_NET_CFG_RSS_ITBL_SZ) {
rss_hf = rss_conf->rss_hf;
/* Checking if RSS is enabled */
- if (!(hw->ctrl & NFP_NET_CFG_CTRL_RSS)) {
+ if (!(hw->ctrl & NFP_NET_CFG_CTRL_RSS_ANY)) {
if (rss_hf != 0) { /* Enable RSS? */
PMD_DRV_LOG(ERR, "RSS unsupported");
return -EINVAL;
hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
- if (!(hw->ctrl & NFP_NET_CFG_CTRL_RSS))
+ if (!(hw->ctrl & NFP_NET_CFG_CTRL_RSS_ANY))
return -EINVAL;
rss_hf = rss_conf->rss_hf;
if (rxmode->mq_mode & RTE_ETH_MQ_RX_RSS) {
nfp_net_rss_config_default(dev);
update |= NFP_NET_CFG_UPDATE_RSS;
- new_ctrl |= NFP_NET_CFG_CTRL_RSS;
+ if (hw->cap & NFP_NET_CFG_CTRL_RSS2)
+ new_ctrl |= NFP_NET_CFG_CTRL_RSS2;
+ else
+ new_ctrl |= NFP_NET_CFG_CTRL_RSS;
}
/* Enable device */
if (rxmode->mq_mode & RTE_ETH_MQ_RX_RSS) {
nfp_net_rss_config_default(dev);
update |= NFP_NET_CFG_UPDATE_RSS;
- new_ctrl |= NFP_NET_CFG_CTRL_RSS;
+ if (hw->cap & NFP_NET_CFG_CTRL_RSS2)
+ new_ctrl |= NFP_NET_CFG_CTRL_RSS2;
+ else
+ new_ctrl |= NFP_NET_CFG_CTRL_RSS;
}
/* Enable device */