On 2/10/2026 3:10 PM, Bruce Richardson wrote:
On Tue, Feb 10, 2026 at 01:48:20PM +0100, Burakov, Anatoly wrote:
On 2/9/2026 5:45 PM, Bruce Richardson wrote:
Move all context descriptor handling to a single function, as with the
ice driver, and use the same function signature as that driver.

Signed-off-by: Bruce Richardson <[email protected]>
---

<snip>

+static __rte_always_inline uint16_t
+get_context_desc(uint64_t ol_flags, const struct rte_mbuf *tx_pkt,
+                const union ci_tx_offload *tx_offload,
+                const struct ci_tx_queue *txq __rte_unused,
+                uint64_t *qw0, uint64_t *qw1)
+{
+       uint16_t cd_l2tag2 = 0;
+       uint64_t cd_type_cmd_tso_mss = I40E_TX_DESC_DTYPE_CONTEXT;
+       uint32_t cd_tunneling_params = 0;
+
+       if (i40e_calc_context_desc(ol_flags) == 0)
+               return 0;
+
+       if (ol_flags & RTE_MBUF_F_TX_TUNNEL_MASK)
+               i40e_parse_tunneling_params(ol_flags, *tx_offload, 
&cd_tunneling_params);
+
+       if (ol_flags & RTE_MBUF_F_TX_TCP_SEG) {
+               cd_type_cmd_tso_mss |= i40e_set_tso_ctx(ol_flags, tx_pkt, 
*tx_offload);
+       } else {
+#ifdef RTE_LIBRTE_IEEE1588
+               if (ol_flags & RTE_MBUF_F_TX_IEEE1588_TMST)
+                       cd_type_cmd_tso_mss |=
+                               ((uint64_t)I40E_TX_CTX_DESC_TSYN << 
I40E_TXD_CTX_QW1_CMD_SHIFT);
+#endif

I couldn't find any places where we define this, it appears to be some sort
of legacy define, making this basically dead code?


It is legacy, and does need to be fixed, but across all of DPDK I think.
Testpmd, for example, has IEEE1588 ifdefs also.

However, for this patch, it's probably harmless enough to remove the ifdef
here and always allow this code path to execute.

/Bruce

Sure, but I would've preferred this to be a separate patch as it's semantically different from what you're doing here. Perhaps it can be fixed as one of the early patches in the series as "preparatory work" for this one.

--
Thanks,
Anatoly

Reply via email to