diff options
author | Matias Elo <matias.elo@nokia.com> | 2021-03-04 10:01:11 +0200 |
---|---|---|
committer | Matias Elo <matias.elo@nokia.com> | 2021-03-12 09:29:31 +0200 |
commit | 1b89932e8f73db698766b15b52d6ad3dca1cc0e1 (patch) | |
tree | c58c4accafa18cc60e5daaef6e399a784c7f6980 /platform/linux-dpdk/include | |
parent | d49559f234dbf754b22fcb3513f31aec96458c49 (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.h | 8 | ||||
-rw-r--r-- | platform/linux-dpdk/include/odp_packet_internal.h | 9 |
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; |