From 6809538e646bf86c000dc1faba60b0a4157ad898 Mon Sep 17 00:00:00 2001 From: Mohsin Kazmi Date: Wed, 10 Feb 2021 11:26:24 +0100 Subject: vlib: refactor checksum offload support Type: refactor This patch refactors the offload flags in vlib_buffer_t. There are two main reasons behind this refactoring. First, offload flags are insufficient to represent outer and inner headers offloads. Second, room for these flags in first cacheline of vlib_buffer_t is also limited. This patch introduces a generic offload flag in first cacheline. And detailed offload flags in 2nd cacheline of the structure for performance optimization. Change-Id: Icc363a142fb9208ec7113ab5bbfc8230181f6004 Signed-off-by: Mohsin Kazmi --- src/vnet/pg/pg.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/vnet/pg/pg.h') diff --git a/src/vnet/pg/pg.h b/src/vnet/pg/pg.h index da2c2b54347..da5af25b22e 100644 --- a/src/vnet/pg/pg.h +++ b/src/vnet/pg/pg.h @@ -125,9 +125,12 @@ typedef struct pg_stream_t for max_packet_bytes. */ u32 buffer_bytes; - /* Buffer flags to set in each packet e.g. checksum offload flags */ + /* Buffer flags to set in each packet e.g. l2 valid flags */ u32 buffer_flags; + /* Buffer offload flags to set in each packet e.g. checksum offload flags */ + u32 buffer_oflags; + /* Last packet length if packet size edit type is increment. */ u32 last_increment_packet_size; -- cgit 1.2.3-korg