fabric-tna icon indicating copy to clipboard operation
fabric-tna copied to clipboard

Consider decapsulating GTPU packets in the parser to reduce pipeline complexity

Open robertmacdavid opened this issue 4 years ago • 1 comments

The current approach of maintaining two copies of inner/outer L4 headers adds annoying complexity and hogs PHV resources. An alternative approach is to resubmit packets that require decapsulation, and simply skip the outer headers in the parser. This will greatly simplify the pipeline and parser at the cost of reducing bandwidth, which should be ok given the heckin' fat maximum bandwidth of tofino. It is also currently unclear how much resubmit really reduces maximum bandwidth, and needs further investigation.

robertmacdavid avatar Sep 25 '20 17:09 robertmacdavid

Or using parser value sets to match on IP dst and ingress port? Similarly to how we use the interface table for uplink traffic. If IP dst is the UPF one, and the ingress port matches an enb-facing one, and GTP header is valid, then store TEID in metadata and skip extracting GTP headers.

ccascone avatar Sep 25 '20 17:09 ccascone