[0/9] net/cxgbe: add support for offloading flows to HASH region

Message ID cover.1530295732.git.rahul.lakkireddy@chelsio.com (mailing list archive)
Headers
Series net/cxgbe: add support for offloading flows to HASH region |

Message

Rahul Lakkireddy June 29, 2018, 6:12 p.m. UTC
  This series of patches add support to offload flows to HASH region
available on Chelsio T6 NICs. HASH region can only offload exact match
(maskless) flows and hence the masks must be all set for all match
items.

Patch 1 queries firmware for HASH filter support.

Patch 2 updates cxgbe_flow to decide whether to place flows in LE-TCAM
or HASH region based on supported hardware configuration and masks of
match items.

Patch 3 adds Compressed Local IP (CLIP) region support for offloading
IPv6 flows in HASH region. Also updates LE-TCAM region to use CLIP for
offloading IPv6 flows on Chelsio T6 NICs.

Patch 4 adds support for offloading flows to HASH region.

Patch 5 adds support for deleting flows in HASH region.

Patch 6 adds support to query hit and byte counters for offloaded flows
in HASH region.

Patch 7 adds support to flush filters in HASH region.

Patch 8 adds support to match flows based on physical ingress port.

Patch 9 adds support to redirect packets matching flows to specified
physical egress port without sending them to host.

Thanks,
Rahul

Shagun Agrawal (9):
  net/cxgbe: query firmware for HASH filter resources
  net/cxgbe: validate flows offloaded to HASH region
  net/cxgbe: add Compressed Local IP region
  net/cxgbe: add support to offload flows to HASH region
  net/cxgbe: add support to delete flows in HASH region
  net/cxgbe: add support to query hit counters for flows in HASH region
  net/cxgbe: add support to flush flows in HASH region
  net/cxgbe: add support to match on ingress physical port
  net/cxgbe: add support to redirect packets to egress physical port

 drivers/net/cxgbe/Makefile              |   1 +
 drivers/net/cxgbe/base/adapter.h        |  43 ++
 drivers/net/cxgbe/base/common.h         |  10 +
 drivers/net/cxgbe/base/t4_hw.c          |   7 +
 drivers/net/cxgbe/base/t4_msg.h         | 188 +++++++++
 drivers/net/cxgbe/base/t4_regs.h        |  12 +
 drivers/net/cxgbe/base/t4_tcb.h         |  26 ++
 drivers/net/cxgbe/base/t4fw_interface.h |  31 ++
 drivers/net/cxgbe/clip_tbl.c            | 195 +++++++++
 drivers/net/cxgbe/clip_tbl.h            |  31 ++
 drivers/net/cxgbe/cxgbe_compat.h        |  12 +
 drivers/net/cxgbe/cxgbe_filter.c        | 697 ++++++++++++++++++++++++++++++--
 drivers/net/cxgbe/cxgbe_filter.h        |  13 +-
 drivers/net/cxgbe/cxgbe_flow.c          | 151 ++++++-
 drivers/net/cxgbe/cxgbe_main.c          | 170 +++++++-
 drivers/net/cxgbe/cxgbe_ofld.h          |  66 ++-
 16 files changed, 1614 insertions(+), 39 deletions(-)
 create mode 100644 drivers/net/cxgbe/base/t4_tcb.h
 create mode 100644 drivers/net/cxgbe/clip_tbl.c
 create mode 100644 drivers/net/cxgbe/clip_tbl.h
  

Comments

Ferruh Yigit July 4, 2018, 7:16 p.m. UTC | #1
On 6/29/2018 7:12 PM, Rahul Lakkireddy wrote:
> This series of patches add support to offload flows to HASH region
> available on Chelsio T6 NICs. HASH region can only offload exact match
> (maskless) flows and hence the masks must be all set for all match
> items.

Hi Shagun, Rahul,

Can you please update driver documentation [1] and release notes [2] for new
added features, HASH(?) region offload support, CLIP region support etc...

[1]: doc/guides/nics/cxgbe.rst
[2]: doc/guides/rel_notes/release_18_08.rst

Thanks,
ferruh

> 
> Patch 1 queries firmware for HASH filter support.
> 
> Patch 2 updates cxgbe_flow to decide whether to place flows in LE-TCAM
> or HASH region based on supported hardware configuration and masks of
> match items.
> 
> Patch 3 adds Compressed Local IP (CLIP) region support for offloading
> IPv6 flows in HASH region. Also updates LE-TCAM region to use CLIP for
> offloading IPv6 flows on Chelsio T6 NICs.
> 
> Patch 4 adds support for offloading flows to HASH region.
> 
> Patch 5 adds support for deleting flows in HASH region.
> 
> Patch 6 adds support to query hit and byte counters for offloaded flows
> in HASH region.
> 
> Patch 7 adds support to flush filters in HASH region.
> 
> Patch 8 adds support to match flows based on physical ingress port.
> 
> Patch 9 adds support to redirect packets matching flows to specified
> physical egress port without sending them to host.
> 
> Thanks,
> Rahul
> 
> Shagun Agrawal (9):
>   net/cxgbe: query firmware for HASH filter resources
>   net/cxgbe: validate flows offloaded to HASH region
>   net/cxgbe: add Compressed Local IP region
>   net/cxgbe: add support to offload flows to HASH region
>   net/cxgbe: add support to delete flows in HASH region
>   net/cxgbe: add support to query hit counters for flows in HASH region
>   net/cxgbe: add support to flush flows in HASH region
>   net/cxgbe: add support to match on ingress physical port
>   net/cxgbe: add support to redirect packets to egress physical port
> 
>  drivers/net/cxgbe/Makefile              |   1 +
>  drivers/net/cxgbe/base/adapter.h        |  43 ++
>  drivers/net/cxgbe/base/common.h         |  10 +
>  drivers/net/cxgbe/base/t4_hw.c          |   7 +
>  drivers/net/cxgbe/base/t4_msg.h         | 188 +++++++++
>  drivers/net/cxgbe/base/t4_regs.h        |  12 +
>  drivers/net/cxgbe/base/t4_tcb.h         |  26 ++
>  drivers/net/cxgbe/base/t4fw_interface.h |  31 ++
>  drivers/net/cxgbe/clip_tbl.c            | 195 +++++++++
>  drivers/net/cxgbe/clip_tbl.h            |  31 ++
>  drivers/net/cxgbe/cxgbe_compat.h        |  12 +
>  drivers/net/cxgbe/cxgbe_filter.c        | 697 ++++++++++++++++++++++++++++++--
>  drivers/net/cxgbe/cxgbe_filter.h        |  13 +-
>  drivers/net/cxgbe/cxgbe_flow.c          | 151 ++++++-
>  drivers/net/cxgbe/cxgbe_main.c          | 170 +++++++-
>  drivers/net/cxgbe/cxgbe_ofld.h          |  66 ++-
>  16 files changed, 1614 insertions(+), 39 deletions(-)
>  create mode 100644 drivers/net/cxgbe/base/t4_tcb.h
>  create mode 100644 drivers/net/cxgbe/clip_tbl.c
>  create mode 100644 drivers/net/cxgbe/clip_tbl.h
>
  
Ferruh Yigit July 4, 2018, 7:51 p.m. UTC | #2
On 7/4/2018 8:16 PM, Ferruh Yigit wrote:
> On 6/29/2018 7:12 PM, Rahul Lakkireddy wrote:
>> This series of patches add support to offload flows to HASH region
>> available on Chelsio T6 NICs. HASH region can only offload exact match
>> (maskless) flows and hence the masks must be all set for all match
>> items.
> 
> Hi Shagun, Rahul,
> 
> Can you please update driver documentation [1] and release notes [2] for new
> added features, HASH(?) region offload support, CLIP region support etc...
> 
> [1]: doc/guides/nics/cxgbe.rst
> [2]: doc/guides/rel_notes/release_18_08.rst
> 
> Thanks,
> ferruh
> 
>>
>> Patch 1 queries firmware for HASH filter support.
>>
>> Patch 2 updates cxgbe_flow to decide whether to place flows in LE-TCAM
>> or HASH region based on supported hardware configuration and masks of
>> match items.
>>
>> Patch 3 adds Compressed Local IP (CLIP) region support for offloading
>> IPv6 flows in HASH region. Also updates LE-TCAM region to use CLIP for
>> offloading IPv6 flows on Chelsio T6 NICs.
>>
>> Patch 4 adds support for offloading flows to HASH region.
>>
>> Patch 5 adds support for deleting flows in HASH region.
>>
>> Patch 6 adds support to query hit and byte counters for offloaded flows
>> in HASH region.
>>
>> Patch 7 adds support to flush filters in HASH region.
>>
>> Patch 8 adds support to match flows based on physical ingress port.
>>
>> Patch 9 adds support to redirect packets matching flows to specified
>> physical egress port without sending them to host.
>>
>> Thanks,
>> Rahul
>>
>> Shagun Agrawal (9):
>>   net/cxgbe: query firmware for HASH filter resources
>>   net/cxgbe: validate flows offloaded to HASH region
>>   net/cxgbe: add Compressed Local IP region
>>   net/cxgbe: add support to offload flows to HASH region
>>   net/cxgbe: add support to delete flows in HASH region
>>   net/cxgbe: add support to query hit counters for flows in HASH region
>>   net/cxgbe: add support to flush flows in HASH region
>>   net/cxgbe: add support to match on ingress physical port
>>   net/cxgbe: add support to redirect packets to egress physical port

Series applied to dpdk-next-net/master, thanks.

(meson build fixed while applying. And please remember to check documentation
update request.)