mbox series

[v6,0/5] examples/l3fwd: add FIB lookup method to l3fwd

Message ID 20210402105252.1145821-1-conor.walsh@intel.com (mailing list archive)
Series examples/l3fwd: add FIB lookup method to l3fwd |


Conor Walsh April 2, 2021, 10:52 a.m. UTC
  Currently the l3fwd sample app supports LPM and EM lookup methods this
patchset implements the FIB library as another lookup method for l3fwd.
Instead of adding an individual flag for FIB, a new flag '--lookup' has
been added that allows the user to select their desired lookup method.
The flags '-E' and '-L' have been retained for backwards compatibility.


    - rte_exit no longer used within parse_lookup, exiting due to
      incorrect config is now handled the same as the other config options
    - Corrected a typo within print usage
    - Moved -E and -L to the bottom of print usage as they are
      now legacy flags

    - Removed runtime checks to ensure desired port is within portmask,
      unused ports are still removed during setup

    - Changed individual switches for lookup methods to an
      enum for all lookup methods
    - Removed '-F' and introduced '--lookup' flag to select lookup methods
    - Fixed indentation issues
    - Renamed some variables for increased clarity
    - Minor changes to some logic for readability
    - Implemented MAC updating for FIB on non-SSE machines
    - Implemented RFC1812 for FIB on non-SSE machines
    - Added checks to ensure desired port is within portmask

v3: add support for NEON, PPC 64 and machines that do not support SSE,
    NEON or PPC 64.

v2: added the socket header file to fix FreeBSD build.

Conor Walsh (5):
  examples/l3fwd: fix LPM IPv6 subnets
  examples/l3fwd: move l3fwd routes to common header
  examples/l3fwd: add FIB infrastructure
  examples/l3fwd: implement FIB lookup method
  doc/guides/l3_forward: update documentation for FIB

 doc/guides/sample_app_ug/l3_forward.rst | 113 ++++-
 examples/l3fwd/Makefile                 |   2 +-
 examples/l3fwd/l3fwd.h                  |  27 +-
 examples/l3fwd/l3fwd_common_route.h     |  48 +++
 examples/l3fwd/l3fwd_event.c            |   9 +
 examples/l3fwd/l3fwd_event.h            |   1 +
 examples/l3fwd/l3fwd_fib.c              | 528 ++++++++++++++++++++++++
 examples/l3fwd/l3fwd_lpm.c              |  68 +--
 examples/l3fwd/main.c                   | 114 +++--
 examples/l3fwd/meson.build              |   4 +-
 10 files changed, 814 insertions(+), 100 deletions(-)
 create mode 100644 examples/l3fwd/l3fwd_common_route.h
 create mode 100644 examples/l3fwd/l3fwd_fib.c