[dpdk-dev] [PATCH v5] app/testpmd: fix the default RSS key configuration

oulijun oulijun at huawei.com
Thu Oct 15 16:04:05 CEST 2020



在 2020/10/15 21:52, Ferruh Yigit 写道:
> On 10/15/2020 1:41 PM, Lijun Ou wrote:
>> When start the testpmd, the pmd driver initializes the RSS
>> configuration. Generally, the recommended RSS hash key is
>> used as the default key in the driver. In addition, the
>> default key is different from the default RSS flow in testpmd
>> without specifying RSS hash key. So. if you do not specify
>> the RSS key when creating an RSS rule, the testpmd uses the
>> default key as the default RSS key of the RSS rule. As a result,
>> you may mistakenly consider that the RSS key in use is the valid
>> default key of the NIC, actually, the key and the valid default
>> key of the NIC are two values.
>>
>> Consider the follow usage with testpmd:
>> 1. first, startup testpmd:
>> testpmd> show port 0 rss-hash key
>> RSS functions:
>>    all ipv4-frag ipv4-other ipv6-frag ipv6-other ip
>> RSS key:
>> -6D5A56DA255B0EC24167253D43A38FB0D0CA2BCBAE7B30B477CB2DA38030F
>> -20C6A42B73BBEAC01FA
>> 2. create a rss rule
>> testpmd> flow create 0 ingress pattern eth / ipv4 / udp / end actions 
>> rss \
>> types ipv4-udp end queues end / end
>>
>> 3. show rss-hash key
>> testpmd> show port 0 rss-hash key
>> RSS functions:
>>    all ipv4-udp udp
>> RSS key:
>> -74657374706D6427732064656661756C74205253532068617368206B65792C206F
>> -76657272696465
>>
>> In order to solve the above problems, it use the NIC valid default
>> RSS key instead of the testpmd dummy RSS key in the flow configuration
>> when the RSS key is not specified in the flow rule. If the NIC RSS key
>> is invalid, it will use testpmd dummy RSS key as the default key.
>>
>> Fixes: ac8d22de2394 ("ethdev: flatten RSS configuration in flow API")
>> Cc: stable at dpdk.org
>>
>> Signed-off-by: Lijun Ou <oulijun at huawei.com>
>> Reviewed-by: Phil Yang <phil.yang at arm.com>
>> ---
>> V4->V5:
>> -rewrite the commit log
>> -add reviewed-by
> 
> Hi Lijun,
> 
> There were multiple other comments, it seems they are not addressed but 
> only updated the commit log, can you please check comments to prev 
> versions.
> 
> Before going into the details, my question was what happens if default 
> key not provided at all?
> It seems this has been already tried by Ophir [1], later reverted back 
> [2] bringing the initial issue back.
> 
> According commit, the reason of revert is to support following command:
> "flow create 0 <pattern> actions rss queues 0 1 end key_len 40 / end"
> 
> @Ophir, @Lijun,
> Can we ignore the 'key_len' if the 'key' is not supported and solve 
> current issue as initially intended ([1])?
> 
Hi, Ferruh
   I have discussed with Phil Yang about the problem in [1]. I think 
there may be other problems with the idea and there is no better 
solution. and we need to remove key_len definition from rte_rss_conf 
structure. They don't have a plan. And [1] was eventually reverted.

Thanks
Lijun Ou
> 
> [1] https://git.dpdk.org/dpdk/commit/?id=a4391f8bae8
> 
> [2] https://git.dpdk.org/dpdk/commit/?id=f3698c3d09a
> .
> 


More information about the dev mailing list