[PATCH v2 25/25] net/nfp: support new tunnel solution
Ferruh Yigit
ferruh.yigit at amd.com
Tue Oct 25 10:18:51 CEST 2022
On 10/25/2022 2:44 AM, Chaoyong He wrote:
>> On 10/22/2022 9:24 AM, Chaoyong He wrote:
>>> The new version of flower firmware application add the support of a
>>> new tunnel solution.
>>>
>>> It changes the structure of tunnel neighbor, and use a feature flag to
>>> indicate which tunnel solution is used.
>>>
>>> Add the logic of read extra features from firmware, and store it in
>>> the app private structure.
>>>
>>> Adjust the data structure and related logic to make the PMD support
>>> both version of tunnel solutions.
>>>
>>> Signed-off-by: Chaoyong He<chaoyong.he at corigine.com>
>>> Reviewed-by: Niklas Söderlund<niklas.soderlund at corigine.com>
>>> ---
>>> drivers/net/nfp/flower/nfp_flower.c | 14 ++++
>>> drivers/net/nfp/flower/nfp_flower.h | 24 +++++++
>>> drivers/net/nfp/flower/nfp_flower_cmsg.c | 4 ++
>>> drivers/net/nfp/flower/nfp_flower_cmsg.h | 17 +++++
>>> drivers/net/nfp/nfp_flow.c | 118 +++++++++++++++++++++++++-
>> -----
>>> 5 files changed, 157 insertions(+), 20 deletions(-)
>>>
>>> diff --git a/drivers/net/nfp/flower/nfp_flower.c
>>> b/drivers/net/nfp/flower/nfp_flower.c
>>> index 41b0fe2..aa8199d 100644
>>> --- a/drivers/net/nfp/flower/nfp_flower.c
>>> +++ b/drivers/net/nfp/flower/nfp_flower.c
>>> @@ -1074,6 +1074,8 @@
>>> nfp_init_app_fw_flower(struct nfp_pf_dev *pf_dev)
>>> {
>>> int ret;
>>> + int err;
>>> + uint64_t ext_features;
>>> unsigned int numa_node;
>>> struct nfp_net_hw *pf_hw;
>>> struct nfp_net_hw *ctrl_hw;
>>> @@ -1115,6 +1117,18 @@
>>> goto vnic_cleanup;
>>> }
>>>
>>> + /* Read the extra features */
>>> + ext_features = nfp_rtsym_read_le(pf_dev->sym_tbl,
>> "_abi_flower_extra_features",
>>> + &err);
>>> + if (err != 0) {
>>> + PMD_INIT_LOG(ERR, "Couldn't read extra features from fw");
>>> + ret = -EIO;
>>> + goto pf_cpp_area_cleanup;
>>> + }
>>
>> Hi Chaoyong,
>>
>> It looks like there are two flavor of the flower firmware application, one with
>> 'extra_features' other without it.
>> Does this worth documenting in the driver documentation and the release
>> notes?
>
> Actually, it's just two different methods to process the tunnel decap action in the flower
> firmware application.
>
> The old version flower firmware application needs 'tunnel neighbor' and 'pre-tunnel' table
> to get needed information to decap the tunnel packet.
> While the new version flower firmware application extends the 'tunnel neighbor' table and
> does not need 'pre-tunnel' table anymore when decap the tunnel packet.
>
> The app which use the rte_flow know nothing about this difference.
> So, should we still explain this in the documentation and the release notes? I'm not quite sure
> about how details should we expose in these documents.
Thanks for clarification, if this is transparent to user/app may not
need to document.
More information about the dev
mailing list