[dpdk-dev,v2] net/failsafe: advertise supported RSS functions
Checks
Commit Message
Advertise failsafe supported RSS functions as part of dev_infos_get
callback. Set failsafe default RSS hash functions to be:
ETH_RSS_IP, ETH_RSS_UDP, and ETH_RSS_TCP.
The result of failsafe RSS hash functions is the logical AND of the
RSS hash functions among all failsafe sub_devices and failsafe own
defaults.
Previous to this commit RSS support was reported as none. Since the
introduction of [1] it is required that all RSS configurations be
verified.
[1] commit 8863a1fbfc66 ("ethdev: add supported hash function check")
Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
---
v1:
Initial release
v2:
Changes based on review comments (mainly commit message update)
drivers/net/failsafe/failsafe_ops.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
Comments
thanks Ophir,
On Wed, May 09, 2018 at 01:46:41PM +0000, Ophir Munk wrote:
> Advertise failsafe supported RSS functions as part of dev_infos_get
> callback. Set failsafe default RSS hash functions to be:
> ETH_RSS_IP, ETH_RSS_UDP, and ETH_RSS_TCP.
> The result of failsafe RSS hash functions is the logical AND of the
> RSS hash functions among all failsafe sub_devices and failsafe own
> defaults.
>
> Previous to this commit RSS support was reported as none. Since the
> introduction of [1] it is required that all RSS configurations be
> verified.
>
> [1] commit 8863a1fbfc66 ("ethdev: add supported hash function check")
>
> Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
I made a slight mistake in my earlier naming suggestion, but it's not
important.
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
On 5/9/2018 3:04 PM, Gaëtan Rivet wrote:
> thanks Ophir,
>
> On Wed, May 09, 2018 at 01:46:41PM +0000, Ophir Munk wrote:
>> Advertise failsafe supported RSS functions as part of dev_infos_get
>> callback. Set failsafe default RSS hash functions to be:
>> ETH_RSS_IP, ETH_RSS_UDP, and ETH_RSS_TCP.
>> The result of failsafe RSS hash functions is the logical AND of the
>> RSS hash functions among all failsafe sub_devices and failsafe own
>> defaults.
>>
>> Previous to this commit RSS support was reported as none. Since the
>> introduction of [1] it is required that all RSS configurations be
>> verified.
>>
>> [1] commit 8863a1fbfc66 ("ethdev: add supported hash function check")
>>
>> Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
>
> I made a slight mistake in my earlier naming suggestion, but it's not
> important.
>
> Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Applied to dpdk-next-net/master, thanks.
@@ -83,7 +83,10 @@ static struct rte_eth_dev_info default_infos = {
DEV_TX_OFFLOAD_UDP_CKSUM |
DEV_TX_OFFLOAD_TCP_CKSUM |
DEV_TX_OFFLOAD_TCP_TSO,
- .flow_type_rss_offloads = 0x0,
+ .flow_type_rss_offloads =
+ ETH_RSS_IP |
+ ETH_RSS_UDP |
+ ETH_RSS_TCP,
};
static int
@@ -805,26 +808,29 @@ fs_dev_infos_get(struct rte_eth_dev *dev,
} else {
uint64_t rx_offload_capa;
uint64_t rxq_offload_capa;
+ uint64_t rss_hf_offload_capa;
rx_offload_capa = default_infos.rx_offload_capa;
rxq_offload_capa = default_infos.rx_queue_offload_capa;
+ rss_hf_offload_capa = default_infos.flow_type_rss_offloads;
FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_PROBED) {
rte_eth_dev_info_get(PORT_ID(sdev),
&PRIV(dev)->infos);
rx_offload_capa &= PRIV(dev)->infos.rx_offload_capa;
rxq_offload_capa &=
PRIV(dev)->infos.rx_queue_offload_capa;
+ rss_hf_offload_capa &=
+ PRIV(dev)->infos.flow_type_rss_offloads;
}
sdev = TX_SUBDEV(dev);
rte_eth_dev_info_get(PORT_ID(sdev), &PRIV(dev)->infos);
PRIV(dev)->infos.rx_offload_capa = rx_offload_capa;
PRIV(dev)->infos.rx_queue_offload_capa = rxq_offload_capa;
+ PRIV(dev)->infos.flow_type_rss_offloads = rss_hf_offload_capa;
PRIV(dev)->infos.tx_offload_capa &=
default_infos.tx_offload_capa;
PRIV(dev)->infos.tx_queue_offload_capa &=
default_infos.tx_queue_offload_capa;
- PRIV(dev)->infos.flow_type_rss_offloads &=
- default_infos.flow_type_rss_offloads;
}
rte_memcpy(infos, &PRIV(dev)->infos, sizeof(*infos));
}