GRE ERSPAN type I support

Hi

We are using ConnectX-6 and we’d like to do GRE ERSAPN type-I decapsulation

GRE w ERSPAN type-I differs from the supported GRE only in the 2 bytes GRE protocol type which is 0x88BE (ERSPAN type I) instead of 0x6558 (TEB). It does not add any extra headers or bytes.

GRE (TEB) decapsulation is supported by NVGRE_DCAPS, but NOT with ERSAPN

e.g.

This is supported
flow create 0 ingress group 1 pattern eth / ipv6 / gre protocol is 0x6558 / end actions nvgre_decap / jump group 2 / end

This is not

`flow create 0 ingress group 1 pattern eth / ipv6 / gre protocol is 0x88be / end actions nvgre_decap / jump group 2 / end`

RAW_DECAPS does NOT work either

flow create 0 ingress group 1 pattern eth / ipv6 proto is 47 / gre protocol is 0x88be / end actions raw_decap / jump group 2 / end

set raw_decap eth / ipv6 / gre protocol is 0x88be / end_set

show raw_decap 0

index: 0 at [0x5654bb01c3e0], len=58

Is there a way to do it (maybe in Connectx-7/8)?
Or could it be considered to add support for it considering the gap is minor?

Thanx
Ido

On ConnectX-6 the nvgre_decap action is only implemented for NVGRE/TEB traffic (GRE protocol 0x6558). Flows that match GRE protocol 0x88BE (ERSPAN type I) are not treated as NVGRE, so nvgre_decap is not supported for that case, and raw_decap also does not provide a way to offload ERSPAN-I decapsulation today.

At the moment there isn’t a documented way to offload ERSPAN type-I decap on ConnectX-6 (and it is not listed as a supported tunnel-decap offload on newer ConnectX adapters either). The typical approach is to use a flow rule to match and steer GRE protocol 0x88BE traffic to a specific RX queue, then perform the ERSPAN+inner L2 decapsulation in software. If you need NIC-level ERSPAN offload support or want to track it as a feature request for future devices, please contact NVIDIA Enterprise Support or your NVIDIA sales representative with your use case.