aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-dpdk/include
diff options
context:
space:
mode:
authorMatias Elo <matias.elo@nokia.com>2021-03-04 10:01:11 +0200
committerMatias Elo <matias.elo@nokia.com>2021-03-12 09:29:31 +0200
commit1b89932e8f73db698766b15b52d6ad3dca1cc0e1 (patch)
treec58c4accafa18cc60e5daaef6e399a784c7f6980 /platform/linux-dpdk/include
parentd49559f234dbf754b22fcb3513f31aec96458c49 (diff)
Port 2749003ce "linux-gen: packet: implement LSO related metadata APIs"
Port original commit from linux-generic. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
Diffstat (limited to 'platform/linux-dpdk/include')
-rw-r--r--platform/linux-dpdk/include/odp/api/plat/packet_inline_types.h8
-rw-r--r--platform/linux-dpdk/include/odp_packet_internal.h9
2 files changed, 14 insertions, 3 deletions
diff --git a/platform/linux-dpdk/include/odp/api/plat/packet_inline_types.h b/platform/linux-dpdk/include/odp/api/plat/packet_inline_types.h
index 899347839..cb9bd7e34 100644
--- a/platform/linux-dpdk/include/odp/api/plat/packet_inline_types.h
+++ b/platform/linux-dpdk/include/odp/api/plat/packet_inline_types.h
@@ -112,7 +112,7 @@ typedef union {
uint32_t all_flags;
struct {
- uint32_t reserved1: 10;
+ uint32_t reserved1: 8;
/*
* Init flags
@@ -122,6 +122,8 @@ typedef union {
/*
* Packet output flags
*/
+ uint32_t lso: 1; /* LSO requested */
+ uint32_t payload_off: 1; /* Payload offset is valid */
uint32_t l3_chksum_set: 1; /* L3 chksum bit is valid */
uint32_t l3_chksum: 1; /* L3 chksum override */
uint32_t l4_chksum_set: 1; /* L4 chksum bit is valid */
@@ -144,8 +146,8 @@ typedef union {
/* Flag groups */
struct {
- uint32_t reserved2: 10;
- uint32_t other: 14; /* All other flags */
+ uint32_t reserved2: 8;
+ uint32_t other: 16; /* All other flags */
uint32_t error: 8; /* All error flags */
} all;
diff --git a/platform/linux-dpdk/include/odp_packet_internal.h b/platform/linux-dpdk/include/odp_packet_internal.h
index 927e609d4..34d5e60b0 100644
--- a/platform/linux-dpdk/include/odp_packet_internal.h
+++ b/platform/linux-dpdk/include/odp_packet_internal.h
@@ -121,6 +121,15 @@ typedef struct {
/* Classifier handle index */
uint16_t cos;
+ /* Offset to payload start */
+ uint16_t payload_offset;
+
+ /* Max payload size in a LSO segment */
+ uint16_t lso_max_payload;
+
+ /* LSO profile index */
+ uint8_t lso_profile_idx;
+
/* Event subtype */
int8_t subtype;