aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-generic/include
diff options
context:
space:
mode:
authorTuomas Taipale <tuomas.taipale@nokia.com>2023-07-26 08:53:00 +0000
committerMatias Elo <matias.elo@nokia.com>2023-09-13 13:08:50 +0300
commit926a4cbc03562a9806607b7bb0b7b4e2d9aae7db (patch)
treeb589dba1d94b1f1b23b8da7faab59cdf6d5a7c97 /platform/linux-generic/include
parent73297c10e36ce1dff747b0d617d61616e27efd5e (diff)
linux-gen: packet: add fields for TX completion poll mode
In preparation for TX completion poll mode support, add new parser and header fields. Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
Diffstat (limited to 'platform/linux-generic/include')
-rw-r--r--platform/linux-generic/include/odp/api/plat/packet_inline_types.h9
-rw-r--r--platform/linux-generic/include/odp_packet_internal.h3
2 files changed, 8 insertions, 4 deletions
diff --git a/platform/linux-generic/include/odp/api/plat/packet_inline_types.h b/platform/linux-generic/include/odp/api/plat/packet_inline_types.h
index 5186efed0..eb20ca7d7 100644
--- a/platform/linux-generic/include/odp/api/plat/packet_inline_types.h
+++ b/platform/linux-generic/include/odp/api/plat/packet_inline_types.h
@@ -123,7 +123,7 @@ typedef union {
uint32_t all_flags;
struct {
- uint32_t reserved1: 5;
+ uint32_t reserved1: 4;
/*
* Init flags
@@ -141,7 +141,8 @@ typedef union {
uint32_t l4_chksum_set: 1; /* L4 chksum bit is valid */
uint32_t l4_chksum: 1; /* L4 chksum override */
uint32_t ts_set: 1; /* Set Tx timestamp */
- uint32_t tx_compl: 1; /* Tx completion event requested */
+ uint32_t tx_compl_ev: 1; /* Tx completion event requested */
+ uint32_t tx_compl_poll: 1; /* Tx completion poll requested */
uint32_t free_ctrl: 1; /* Don't free option */
uint32_t tx_aging: 1; /* Packet aging at Tx requested */
uint32_t shaper_len_adj: 8; /* Adjustment for traffic mgr */
@@ -160,8 +161,8 @@ typedef union {
/* Flag groups */
struct {
- uint32_t reserved2: 5;
- uint32_t other: 20; /* All other flags */
+ uint32_t reserved2: 4;
+ uint32_t other: 21; /* All other flags */
uint32_t error: 7; /* All error flags */
} all;
diff --git a/platform/linux-generic/include/odp_packet_internal.h b/platform/linux-generic/include/odp_packet_internal.h
index a6a8c551c..eef0239f2 100644
--- a/platform/linux-generic/include/odp_packet_internal.h
+++ b/platform/linux-generic/include/odp_packet_internal.h
@@ -147,6 +147,9 @@ typedef struct ODP_ALIGNED_CACHE odp_packet_hdr_t {
* request + requested drop timeout). */
uint64_t tx_aging_ns;
+ /* Tx completion poll completion identifier */
+ uint32_t tx_compl_id;
+
/* LSO profile index */
uint8_t lso_profile_idx;