mbox series

[v2,00/37] net: add txgbe PMD part 2

Message ID 20201111064936.768604-1-jiawenwu@trustnetic.com (mailing list archive)
Headers show
Series net: add txgbe PMD part 2 | expand

Message

Jiawen Wu Nov. 11, 2020, 6:48 a.m. UTC
This patch adds the rest of txgbe PMD for its PF part.
Support include flow API, traffic manager, macsec and ipsec.

v2:
- Rebase on next-net

Jiawen Wu (37):
  net/txgbe: add ntuple filter init and uninit
  net/txgbe: support ntuple filter add and delete
  net/txgbe: add ntuple parse rule
  net/txgbe: support ntuple filter remove operaion
  net/txgbe: support ethertype filter add and delete
  net/txgbe: add ethertype parse rule
  net/txgbe: support syn filter add and delete
  net/txgbe: add syn filter parse rule
  net/txgbe: add L2 tunnel filter init and uninit
  net/txgbe: config L2 tunnel filter with e-tag
  net/txgbe: support L2 tunnel filter add and delete
  net/txgbe: add L2 tunnel filter parse rule
  net/txgbe: add FDIR filter init and uninit
  net/txgbe: configure FDIR filter
  net/txgbe: support FDIR add and delete operations
  net/txgbe: add FDIR parse normal rule
  net/txgbe: add FDIR parse tunnel rule
  net/txgbe: add FDIR restore operation
  net/txgbe: add RSS filter parse rule
  net/txgbe: add RSS filter restore operation
  net/txgbe: add filter list init and uninit
  net/txgbe: add generic flow API
  net/txgbe: add flow API create function
  net/txgbe: add flow API destroy function
  net/txgbe: add flow API flush function
  net/txgbe: support UDP tunnel port add and delete
  net/txgbe: add TM configuration init and uninit
  net/txgbe: add TM capabilities get operation
  net/txgbe: support TM shaper profile add and delete
  net/txgbe: support TM node add and delete
  net/txgbe: add TM hierarchy commit
  net/txgbe: add macsec setting
  net/txgbe: add IPsec context creation
  net/txgbe: add security session create operation
  net/txgbe: support security session destroy
  net/txgbe: add security offload in Rx and Tx process
  net/txgbe: add security type in flow action

 doc/guides/nics/features/txgbe.ini  |    3 +
 doc/guides/nics/txgbe.rst           |    1 +
 drivers/net/txgbe/base/txgbe_hw.c   |   87 +
 drivers/net/txgbe/base/txgbe_hw.h   |    1 +
 drivers/net/txgbe/base/txgbe_type.h |   65 +
 drivers/net/txgbe/meson.build       |    6 +-
 drivers/net/txgbe/txgbe_ethdev.c    | 1244 +++++++++++
 drivers/net/txgbe/txgbe_ethdev.h    |  316 +++
 drivers/net/txgbe/txgbe_fdir.c      |  985 +++++++++
 drivers/net/txgbe/txgbe_flow.c      | 3172 +++++++++++++++++++++++++++
 drivers/net/txgbe/txgbe_ipsec.c     |  734 +++++++
 drivers/net/txgbe/txgbe_ipsec.h     |   98 +
 drivers/net/txgbe/txgbe_rxtx.c      |  192 +-
 drivers/net/txgbe/txgbe_rxtx.h      |   13 +
 drivers/net/txgbe/txgbe_tm.c        | 1022 +++++++++
 15 files changed, 7936 insertions(+), 3 deletions(-)
 create mode 100644 drivers/net/txgbe/txgbe_fdir.c
 create mode 100644 drivers/net/txgbe/txgbe_flow.c
 create mode 100644 drivers/net/txgbe/txgbe_ipsec.c
 create mode 100644 drivers/net/txgbe/txgbe_ipsec.h
 create mode 100644 drivers/net/txgbe/txgbe_tm.c

Comments

Ferruh Yigit Nov. 11, 2020, 4 p.m. UTC | #1
On 11/11/2020 6:48 AM, Jiawen Wu wrote:
> This patch adds the rest of txgbe PMD for its PF part.
> Support include flow API, traffic manager, macsec and ipsec.
> 
> v2:
> - Rebase on next-net
> 
> Jiawen Wu (37):
>    net/txgbe: add ntuple filter init and uninit
>    net/txgbe: support ntuple filter add and delete
>    net/txgbe: add ntuple parse rule
>    net/txgbe: support ntuple filter remove operaion
>    net/txgbe: support ethertype filter add and delete
>    net/txgbe: add ethertype parse rule
>    net/txgbe: support syn filter add and delete
>    net/txgbe: add syn filter parse rule
>    net/txgbe: add L2 tunnel filter init and uninit
>    net/txgbe: config L2 tunnel filter with e-tag
>    net/txgbe: support L2 tunnel filter add and delete
>    net/txgbe: add L2 tunnel filter parse rule
>    net/txgbe: add FDIR filter init and uninit
>    net/txgbe: configure FDIR filter
>    net/txgbe: support FDIR add and delete operations
>    net/txgbe: add FDIR parse normal rule
>    net/txgbe: add FDIR parse tunnel rule
>    net/txgbe: add FDIR restore operation
>    net/txgbe: add RSS filter parse rule
>    net/txgbe: add RSS filter restore operation
>    net/txgbe: add filter list init and uninit
>    net/txgbe: add generic flow API
>    net/txgbe: add flow API create function
>    net/txgbe: add flow API destroy function
>    net/txgbe: add flow API flush function
>    net/txgbe: support UDP tunnel port add and delete
>    net/txgbe: add TM configuration init and uninit
>    net/txgbe: add TM capabilities get operation
>    net/txgbe: support TM shaper profile add and delete
>    net/txgbe: support TM node add and delete
>    net/txgbe: add TM hierarchy commit
>    net/txgbe: add macsec setting
>    net/txgbe: add IPsec context creation
>    net/txgbe: add security session create operation
>    net/txgbe: support security session destroy
>    net/txgbe: add security offload in Rx and Tx process
>    net/txgbe: add security type in flow action

Hi Jiawen,

There are multiple build errors on patch by patch build, can you please check 
it, the expectation is after each commit build and functionality shouldn't be 
broken.

I put some comments to the patches, with a change request how to construct the 
patchset.

All these new features are not documented in the driver documentation, it can be 
documented with more details.

And the patchset is loaded, it has many new features, it is up to you but 
instead of adding all to -rc4, I suggest postponing this set to next release and 
use longer time for better implementation.

Thanks
ferruh
Ferruh Yigit Nov. 11, 2020, 4:09 p.m. UTC | #2
On 11/11/2020 4:00 PM, Ferruh Yigit wrote:
> On 11/11/2020 6:48 AM, Jiawen Wu wrote:
>> This patch adds the rest of txgbe PMD for its PF part.
>> Support include flow API, traffic manager, macsec and ipsec.
>>
>> v2:
>> - Rebase on next-net
>>
>> Jiawen Wu (37):
>>    net/txgbe: add ntuple filter init and uninit
>>    net/txgbe: support ntuple filter add and delete
>>    net/txgbe: add ntuple parse rule
>>    net/txgbe: support ntuple filter remove operaion
>>    net/txgbe: support ethertype filter add and delete
>>    net/txgbe: add ethertype parse rule
>>    net/txgbe: support syn filter add and delete
>>    net/txgbe: add syn filter parse rule
>>    net/txgbe: add L2 tunnel filter init and uninit
>>    net/txgbe: config L2 tunnel filter with e-tag
>>    net/txgbe: support L2 tunnel filter add and delete
>>    net/txgbe: add L2 tunnel filter parse rule
>>    net/txgbe: add FDIR filter init and uninit
>>    net/txgbe: configure FDIR filter
>>    net/txgbe: support FDIR add and delete operations
>>    net/txgbe: add FDIR parse normal rule
>>    net/txgbe: add FDIR parse tunnel rule
>>    net/txgbe: add FDIR restore operation
>>    net/txgbe: add RSS filter parse rule
>>    net/txgbe: add RSS filter restore operation
>>    net/txgbe: add filter list init and uninit
>>    net/txgbe: add generic flow API
>>    net/txgbe: add flow API create function
>>    net/txgbe: add flow API destroy function
>>    net/txgbe: add flow API flush function
>>    net/txgbe: support UDP tunnel port add and delete
>>    net/txgbe: add TM configuration init and uninit
>>    net/txgbe: add TM capabilities get operation
>>    net/txgbe: support TM shaper profile add and delete
>>    net/txgbe: support TM node add and delete
>>    net/txgbe: add TM hierarchy commit
>>    net/txgbe: add macsec setting
>>    net/txgbe: add IPsec context creation
>>    net/txgbe: add security session create operation
>>    net/txgbe: support security session destroy
>>    net/txgbe: add security offload in Rx and Tx process
>>    net/txgbe: add security type in flow action
> 
> Hi Jiawen,
> 
> There are multiple build errors on patch by patch build, can you please check 
> it, the expectation is after each commit build and functionality shouldn't be 
> broken.
> 
> I put some comments to the patches, with a change request how to construct the 
> patchset.
> 
> All these new features are not documented in the driver documentation, it can be 
> documented with more details.
> 
> And the patchset is loaded, it has many new features, it is up to you but 
> instead of adding all to -rc4, I suggest postponing this set to next release and 
> use longer time for better implementation.
> 
> Thanks
> ferruh
> 

Btw, there is some code against coding convention, and following checkpatch 
warnings, can you please check them too?


./devtools/checkpatches.sh -n37

### net/txgbe: support ntuple filter add and delete

WARNING:TYPO_SPELLING: 'ponter' may be misspelled - perhaps 'pointer'?
#94: FILE: drivers/net/txgbe/txgbe_ethdev.c:3574:
+ * filter: ponter to the filter that will be added.

total: 0 errors, 1 warnings, 0 checks, 352 lines checked

### net/txgbe: add ntuple parse rule

WARNING:TYPO_SPELLING: 'asumption' may be misspelled - perhaps 'assumption'?
#90: FILE: drivers/net/txgbe/txgbe_flow.c:63:
+ * Please aware there's an asumption for all the parsers.

total: 0 errors, 1 warnings, 0 checks, 543 lines checked

### net/txgbe: support ntuple filter remove operaion

WARNING:TYPO_SPELLING: 'operaion' may be misspelled - perhaps 'operation'?
#4:
Subject: [PATCH] net/txgbe: support ntuple filter remove operaion

total: 0 errors, 1 warnings, 0 checks, 25 lines checked

### net/txgbe: add generic flow API

WARNING:TYPO_SPELLING: 'checkes' may be misspelled - perhaps 'checks'?
#100: FILE: drivers/net/txgbe/txgbe_flow.c:2634:
+ * It only checkes the format. Don't guarantee the rule can be programmed into

total: 0 errors, 1 warnings, 0 checks, 123 lines checked

### net/txgbe: add macsec setting

WARNING:TYPO_SPELLING: 'suuport' may be misspelled - perhaps 'support'?
#7:
Add macsec offload suuport.

total: 0 errors, 1 warnings, 0 checks, 174 lines checked

WARNING:REPEATED_WORD: Possible repeated word: 'crypto'
#344: FILE: drivers/net/txgbe/txgbe_ipsec.h:42:
+/** inline crypto crypto private session structure */

total: 0 errors, 1 warnings, 2 checks, 355 lines checked

### net/txgbe: support security session destroy

WARNING:REPEATED_WORD: Possible repeated word: 'table'
#62: FILE: drivers/net/txgbe/txgbe_ipsec.c:244:
+               /* Disable and clear Rx SPI and key table table entryes*/

total: 0 errors, 1 warnings, 0 checks, 212 lines checked