[V1,0/4] Updating packet module and introducing a new common module.

Message ID 20230712193126.1994361-1-ke1.xu@intel.com (mailing list archive)


Ke Xu July 12, 2023, 7:31 p.m. UTC
  This patch is updating packet module for new util functions and packet types
 and introducing a new common module for util functions and common executions
 for offload cases. This patch also added a new decorator to test_case module.

Packet module is designed to support packet organizing, analyzing and
 processing of different packet types. This patch introduced several
 new functions and supported new packet types in this module.

Added support for GTPU and GENEVE packet. Packet module only supports
 limited tunneling layers like VxLAN, GRE. New packet types are required
 in recent DPDK releases and GTPU and GENEVE are required to be added.

Added new util functions. Packet module introduced several util functions
 for writing packets into files, getting and increasing IP addresses,
 getting ether types and so on. As more packet types are introduced, some
 other util functions are required. This patch implemented a set of packet
 layer indexing, packet payload, segment and checksum checking. This patch
 also fixed some bad doc strings.

New Offload Common module is designed to support common checksum offload, TSO
 and related cases that requires varied packet types and massive packet-type
 traversal. This new module provides prepared packets, packet modification
 methods, packet and verbose analyzing methods and common execution steps.

New decorator `skip_unsupported` is designed to mark not supported cases. It
 provides two inputs for labeling a case unsupported in condition and labeling
 cases not supported with a reason.

Ke Xu (4):
  framework/packet: Add GTPU and GENEVE support for packet module.
  framework/packet: Update packet module for new methods.
  framework/test_case: Add skip_unsupported decorator.
  tests/offload_common: Add offload_common module.

 framework/packet.py     | 866 ++++++++++++++++++++++++++++++++++++-
 framework/test_case.py  |  21 +
 tests/offload_common.py | 926 ++++++++++++++++++++++++++++++++++++++++
 3 files changed, 1809 insertions(+), 4 deletions(-)
 create mode 100644 tests/offload_common.py