Header stripping of received frames can be both conditional and generic.
Overview
Received frames can be stripped of the tunneling protocols that can be recognized by the frame decoder, such as GRE, GTP, NVGRE, VXLAN and Cisco FabricPath as well as of the tags that can be recognized by the frame decoder, such as VLAN, MPLS and VN-Tag. In addition a portion of a received frame can be stripped based on an offset and a length.
The following example
configures the SmartNIC to strip the GRE header from tunneled
traffic.
Define GRE = HeaderStripper(Begin=StartOfFrame[0], End=InnerLayer2Header[0]) Assign[StreamID=0; HeaderStripper=GRE] = TunnelType == GREv0
- The GRE macro defines a header stripper that removes all bytes from the start of the frame (StartOfFrame[0]) up to (but not including) the inner layer 2 header. (InnerLayer2Header[0]). This effectively strips off the outer GRE tunnel encapsulation.
- The Assign command applies this header stripper to frames where the tunnel type is identified as GREv0.
- Matching frames are assigned to StreamID = 0 with the GRE header removed, making the inner payload immediately accessible for processing.
For more information, see Assign Filters using Header Stripping in DN-0449.
Note: Header stripping only applies to the following SmartNICs
running on a test and measurement image.
- NT400D13 SmartNICs
- NT400D11 SmartNICs
- NT200A02 SmartNICs
- NT100A01 SmartNICs