Page MenuHomeFreeBSD

IB/mlx5: Expose GRE flow spec to user-kernel ABI header
Needs ReviewPublic

Authored by vag.singh_oneconvergence.com on Sep 28 2021, 2:21 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Apr 28, 8:11 AM
Unknown Object (File)
Sun, Apr 28, 5:41 AM
Unknown Object (File)
Tue, Apr 16, 3:56 PM
Unknown Object (File)
Feb 5 2024, 7:15 PM
Unknown Object (File)
Dec 27 2023, 1:11 AM
Unknown Object (File)
Dec 23 2023, 3:27 AM
Unknown Object (File)
Nov 4 2023, 7:50 AM
Unknown Object (File)
Oct 30 2023, 10:47 PM

Details

Reviewers
kib
hselasky
Summary

[PATCH 29/31] FreeBSD OFED support for DPDK MLX5 PMD

a) Add ib_uverbs_flow_spec_gre to define the rule to match GRE
encapsulation protocol.

The spec includes the generic specs header, type, size and reserved
fields while the filter itself is defined as ib_uverbs_flow_gre_filter
and includes:

  1. Checksum present bit, key present bit and version bits in a single

16bit field.

  1. Protocol type field - Indicates the ether protocol type of the

encapsulated payload.

  1. Key field - present if key bit is set and contains an application

specific key value.

b) IB/uverbs: Expose MPLS flow spec to user-kernel ABI header
Add ib_uverbs_flow_spec_mpls to define the rule to match MPLS
protocol.

The spec includes the generic specs header, type, size and reserved
fields while the filter itself is defined as ib_uverbs_flow_mpls_filter
and includes a single 32bit field named 'label' which consists of:
Bits 0:19 - The MPLS label.
Bits 20:22 - Traffic class field.
Bit 23 - Bottom of stack bit.
Bits 24:31 - Time to live (TTL) field.

c) IB/mlx5: Add support for GRE flow specification
This patch introduces support for the GRE flow spec and
allowing the creation of rules based on the protocol and
key fields that are part of GRE protocol header.

d) IB/mlx5: Expose MPLS related tunneling offloads
This patch reports the device's capbilities to offload
encapsulated MPLS tunnel protocols to user-space:

  • Capability to offload MPLS over GRE.
  • Capability to offload MPLS over UDP.
Test Plan

Tested on KVM, ESXi, and HyperV/Azure Hypervisors with FreeBSD 14.0-CURRENT and FreeBSD12.1-STABLE.

iperf
DPDK MLX5 PMD/testpmd

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped