DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 00/10] cxgbe: Add flow director support
@ 2016-02-03  8:32 Rahul Lakkireddy
  2016-02-03  8:32 ` [dpdk-dev] [PATCH 01/10] ethdev: add a generic flow and new behavior switch to fdir Rahul Lakkireddy
                   ` (11 more replies)
  0 siblings, 12 replies; 27+ messages in thread
From: Rahul Lakkireddy @ 2016-02-03  8:32 UTC (permalink / raw)
  To: dev; +Cc: Kumar Sanghvi, Nirranjan Kirubaharan

This series of patches extend the flow director filter and add support
for Chelsio T5 hardware filtering capabilities.

Chelsio T5 supports carrying out filtering in hardware which supports 3
actions to carry out on a packet which hit a filter viz.

1. Action Pass - Packets hitting a filter rule can be directed to a
   particular RXQ.

2. Action Drop - Packets hitting a filter rule are dropped in h/w.

3. Action Switch - Packets hitting a filter rule can be switched in h/w
   from one port to another, without involvement of host.  Also, the
   action Switch also supports rewrite of src-mac/dst-mac headers as
   well as rewrite of vlan headers.  It also supports rewrite of IP
   headers and thereby, supports NAT (Network Address Translation)
   in h/w.

Also, each filter rule can optionally support specifying a mask value
i.e. it's possible to create a filter rule for an entire subnet of IP
addresses or a range of tcp/udp ports, etc.

Patch 1 does the following:
- Adds a new flow RTE_ETH_FLOW_RAW_PKT to allow specifying a generic
  flow.
- Adds an additional generic array to rte_eth_fdir_flow to allow
  specifying generic flow input.
- Adds an additional mask for the flow input to allow range of values
  to be matched in the flow input.
- Adds a new behavior 'switch'.
- Adds a generic array to hold behavior arguments that can be passed
  when a particular behavior is taken. For ex: in case of action
  'switch', pass additional 4-tuple to allow rewriting src/dst ip and
  port addresses to support NAT'ing.

RFC series of patches and discussion involving these enhancements to the
flow director are available at [1].

Patch 2 adds command line example app to test cxgbe flow director. Also
add documentation for the example app.

Patch 3 updates the cxgbe base to add support for packet filtering.

Patch 4 adds control txq for communicating filter info to the firmware.

Patches 5-7 add compressed local ip (CLIP) table, layer 2 table (L2T),
and source mac table (SMT) definitions required for holding info
for matching and executing various operations on matched filters.

Patch 8 adds the LE-TCAM (maskfull) filter support.

Patch 9 adds the HASH (maskless) filter support.

Patch 10 adds and implements the flow director filter operations. Also
add the documentation.


[1] http://comments.gmane.org/gmane.comp.networking.dpdk.devel/29986

Rahul Lakkireddy (10):
  ethdev: add a generic flow and new behavior switch to fdir
  examples/test-cxgbe-filters: add example to test cxgbe fdir support
  cxgbe: add skeleton to add support for T5 hardware filtering
  cxgbe: add control txq for communicating filtering info
  cxgbe: add compressed local IP table for matching IPv6 addresses
  cxgbe: add layer 2 table for switch action filter
  cxgbe: add source mac table for switch action filter
  cxgbe: add LE-TCAM filtering support
  cxgbe: add HASH filtering support
  cxgbe: add flow director support and update documentation

 MAINTAINERS                                        |    2 +
 doc/guides/nics/cxgbe.rst                          |  166 ++
 doc/guides/rel_notes/release_2_3.rst               |   10 +
 doc/guides/sample_app_ug/index.rst                 |    1 +
 doc/guides/sample_app_ug/test_cxgbe_filters.rst    |  694 +++++++++
 drivers/net/cxgbe/Makefile                         |    6 +
 drivers/net/cxgbe/base/adapter.h                   |  110 ++
 drivers/net/cxgbe/base/common.h                    |   11 +
 drivers/net/cxgbe/base/t4_hw.c                     |   28 +
 drivers/net/cxgbe/base/t4_msg.h                    |  324 ++++
 drivers/net/cxgbe/base/t4_regs.h                   |    9 +
 drivers/net/cxgbe/base/t4_regs_values.h            |   25 +
 drivers/net/cxgbe/base/t4_tcb.h                    |   95 ++
 drivers/net/cxgbe/base/t4fw_interface.h            |  272 ++++
 drivers/net/cxgbe/clip_tbl.c                       |  220 +++
 drivers/net/cxgbe/clip_tbl.h                       |   59 +
 drivers/net/cxgbe/cxgbe.h                          |    4 +
 drivers/net/cxgbe/cxgbe_compat.h                   |   12 +
 drivers/net/cxgbe/cxgbe_ethdev.c                   |   21 +
 drivers/net/cxgbe/cxgbe_fdir.c                     |  715 +++++++++
 drivers/net/cxgbe/cxgbe_fdir.h                     |  108 ++
 drivers/net/cxgbe/cxgbe_filter.c                   | 1614 ++++++++++++++++++++
 drivers/net/cxgbe/cxgbe_filter.h                   |  260 ++++
 drivers/net/cxgbe/cxgbe_main.c                     |  395 ++++-
 drivers/net/cxgbe/cxgbe_ofld.h                     |  126 ++
 drivers/net/cxgbe/l2t.c                            |  261 ++++
 drivers/net/cxgbe/l2t.h                            |   87 ++
 drivers/net/cxgbe/sge.c                            |  202 ++-
 drivers/net/cxgbe/smt.c                            |  275 ++++
 drivers/net/cxgbe/smt.h                            |   76 +
 examples/Makefile                                  |    1 +
 examples/test-cxgbe-filters/Makefile               |   63 +
 examples/test-cxgbe-filters/commands.c             |  429 ++++++
 examples/test-cxgbe-filters/commands.h             |   40 +
 examples/test-cxgbe-filters/config.c               |   79 +
 examples/test-cxgbe-filters/cxgbe/cxgbe_commands.c |  554 +++++++
 examples/test-cxgbe-filters/cxgbe/cxgbe_fdir.h     |   79 +
 examples/test-cxgbe-filters/init.c                 |  201 +++
 examples/test-cxgbe-filters/main.c                 |   79 +
 examples/test-cxgbe-filters/main.h                 |   77 +
 examples/test-cxgbe-filters/runtime.c              |   74 +
 lib/librte_ether/rte_eth_ctrl.h                    |   15 +-
 42 files changed, 7874 insertions(+), 5 deletions(-)
 create mode 100644 doc/guides/sample_app_ug/test_cxgbe_filters.rst
 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
 create mode 100644 drivers/net/cxgbe/cxgbe_fdir.c
 create mode 100644 drivers/net/cxgbe/cxgbe_fdir.h
 create mode 100644 drivers/net/cxgbe/cxgbe_filter.c
 create mode 100644 drivers/net/cxgbe/cxgbe_filter.h
 create mode 100644 drivers/net/cxgbe/cxgbe_ofld.h
 create mode 100644 drivers/net/cxgbe/l2t.c
 create mode 100644 drivers/net/cxgbe/l2t.h
 create mode 100644 drivers/net/cxgbe/smt.c
 create mode 100644 drivers/net/cxgbe/smt.h
 create mode 100644 examples/test-cxgbe-filters/Makefile
 create mode 100644 examples/test-cxgbe-filters/commands.c
 create mode 100644 examples/test-cxgbe-filters/commands.h
 create mode 100644 examples/test-cxgbe-filters/config.c
 create mode 100644 examples/test-cxgbe-filters/cxgbe/cxgbe_commands.c
 create mode 100644 examples/test-cxgbe-filters/cxgbe/cxgbe_fdir.h
 create mode 100644 examples/test-cxgbe-filters/init.c
 create mode 100644 examples/test-cxgbe-filters/main.c
 create mode 100644 examples/test-cxgbe-filters/main.h
 create mode 100644 examples/test-cxgbe-filters/runtime.c

-- 
2.5.3

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2016-07-20 10:45 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-03  8:32 [dpdk-dev] [PATCH 00/10] cxgbe: Add flow director support Rahul Lakkireddy
2016-02-03  8:32 ` [dpdk-dev] [PATCH 01/10] ethdev: add a generic flow and new behavior switch to fdir Rahul Lakkireddy
2016-02-24 14:43   ` Bruce Richardson
2016-02-24 15:02     ` Thomas Monjalon
2016-02-24 18:40       ` Rahul Lakkireddy
2016-02-24 22:17         ` Thomas Monjalon
2016-02-25  9:33           ` Rahul Lakkireddy
2016-02-25 18:24             ` Thomas Monjalon
2016-02-26  1:17               ` Wu, Jingjing
2016-03-03 15:03                 ` Olga Shern
2016-07-20 10:45                 ` Thomas Monjalon
2016-02-25  3:26   ` Wu, Jingjing
2016-02-25  9:11     ` Rahul Lakkireddy
2016-02-03  8:32 ` [dpdk-dev] [PATCH 02/10] examples/test-cxgbe-filters: add example to test cxgbe fdir support Rahul Lakkireddy
2016-02-24 14:40   ` Bruce Richardson
2016-02-24 18:35     ` Rahul Lakkireddy
2016-02-25 13:48       ` Bruce Richardson
2016-02-03  8:32 ` [dpdk-dev] [PATCH 03/10] cxgbe: add skeleton to add support for T5 hardware filtering Rahul Lakkireddy
2016-02-03  8:32 ` [dpdk-dev] [PATCH 04/10] cxgbe: add control txq for communicating filtering info Rahul Lakkireddy
2016-02-03  8:32 ` [dpdk-dev] [PATCH 05/10] cxgbe: add compressed local IP table for matching IPv6 addresses Rahul Lakkireddy
2016-02-03  8:32 ` [dpdk-dev] [PATCH 06/10] cxgbe: add layer 2 table for switch action filter Rahul Lakkireddy
2016-02-03  8:32 ` [dpdk-dev] [PATCH 07/10] cxgbe: add source mac " Rahul Lakkireddy
2016-02-03  8:32 ` [dpdk-dev] [PATCH 08/10] cxgbe: add LE-TCAM filtering support Rahul Lakkireddy
2016-02-03  8:32 ` [dpdk-dev] [PATCH 09/10] cxgbe: add HASH " Rahul Lakkireddy
2016-02-03  8:32 ` [dpdk-dev] [PATCH 10/10] cxgbe: add flow director support and update documentation Rahul Lakkireddy
2016-02-22 10:39 ` [dpdk-dev] [PATCH 00/10] cxgbe: Add flow director support Rahul Lakkireddy
2016-03-22 13:43 ` Bruce Richardson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).