* [PATCH 1/4] net/bnxt: support handling PTP frames in Rx
2026-03-02 17:12 [PATCH 0/4] net/bnxt: PTP support series Mohammad Shuab Siddique
@ 2026-03-02 17:12 ` Mohammad Shuab Siddique
2026-03-02 17:12 ` [PATCH 2/4] net/bnxt: pass Rx timestamp in mbuf Mohammad Shuab Siddique
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Mohammad Shuab Siddique @ 2026-03-02 17:12 UTC (permalink / raw)
To: dev; +Cc: kishore.padmanabha, Ajit Khaparde, stable,
Mohammad Shuab Siddique
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Support handling of PTP frames in the Rx path.
This feature is available in scalar mode data path.
If the Rx completion indicates a PTP timesync packet,
update the mbuf ol_flags accordingly.
This feature is not available in the compressed Rx CQE mode.
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Signed-off-by: Mohammad Shuab Siddique <mohammad-shuab.siddique@broadcom.com>
---
drivers/net/bnxt/bnxt_rxr.c | 11 ++++++++++-
drivers/net/bnxt/bnxt_rxr.h | 2 +-
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c
index c94abefa01..ac4c61b850 100644
--- a/drivers/net/bnxt/bnxt_rxr.c
+++ b/drivers/net/bnxt/bnxt_rxr.c
@@ -724,7 +724,7 @@ bnxt_set_ol_flags(struct bnxt_rx_ring_info *rxr, struct rx_pkt_cmpl *rxcmp,
RX_PKT_CMPL_FLAGS_ITYPE_PTP_W_TIMESTAMP))
ol_flags |= RTE_MBUF_F_RX_IEEE1588_PTP | RTE_MBUF_F_RX_IEEE1588_TMST;
- mbuf->ol_flags = ol_flags;
+ mbuf->ol_flags |= ol_flags;
}
static void
@@ -1182,6 +1182,7 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt,
if (mbuf == NULL)
return -EBUSY;
+ mbuf->ol_flags = 0;
mbuf->data_off = RTE_PKTMBUF_HEADROOM;
mbuf->nb_segs = 1;
mbuf->next = NULL;
@@ -1199,6 +1200,14 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt,
bnxt_parse_csum_v3(mbuf, rxcmp1);
bnxt_parse_pkt_type_v3(mbuf, rxcmp, rxcmp1);
bnxt_rx_vlan_v3(mbuf, rxcmp, rxcmp1);
+ /* Packet cannot be a PTP ethertype if it is detected as L4 */
+ if (mbuf->ol_flags & RTE_MBUF_F_RX_L4_CKSUM_GOOD)
+ mbuf->ol_flags &= ~RTE_MBUF_F_RX_IEEE1588_PTP;
+
+ /* If its a PTP frame, ptype cannot be L2_ETHER */
+ if (mbuf->ol_flags & RTE_MBUF_F_RX_IEEE1588_PTP)
+ mbuf->packet_type = RTE_PTYPE_L2_ETHER_TIMESYNC;
+
if (BNXT_TRUFLOW_EN(bp))
mark_id = bnxt_ulp_set_mark_in_mbuf_v3(rxq->bp, rxcmp1,
mbuf, &vfr_flag);
diff --git a/drivers/net/bnxt/bnxt_rxr.h b/drivers/net/bnxt/bnxt_rxr.h
index 7357ca4427..5e5496964f 100644
--- a/drivers/net/bnxt/bnxt_rxr.h
+++ b/drivers/net/bnxt/bnxt_rxr.h
@@ -535,6 +535,6 @@ bnxt_parse_csum_v3(struct rte_mbuf *mbuf, struct rx_pkt_cmpl_hi *rxcmp1)
uint16_t error_v2 = rte_le_to_cpu_16(v3_cmp->errors_v2);
uint32_t flags2 = rte_le_to_cpu_32(v3_cmp->flags2);
- mbuf->ol_flags = bnxt_parse_csum_fields_v3(flags2, error_v2);
+ mbuf->ol_flags |= bnxt_parse_csum_fields_v3(flags2, error_v2);
}
#endif /* _BNXT_RXR_H_ */
--
2.47.3
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH 2/4] net/bnxt: pass Rx timestamp in mbuf
2026-03-02 17:12 [PATCH 0/4] net/bnxt: PTP support series Mohammad Shuab Siddique
2026-03-02 17:12 ` [PATCH 1/4] net/bnxt: support handling PTP frames in Rx Mohammad Shuab Siddique
@ 2026-03-02 17:12 ` Mohammad Shuab Siddique
2026-03-02 17:12 ` [PATCH 3/4] net/bnxt: support timestamp parsing in Tx Mohammad Shuab Siddique
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Mohammad Shuab Siddique @ 2026-03-02 17:12 UTC (permalink / raw)
To: dev; +Cc: kishore.padmanabha, Ajit Khaparde, stable,
Mohammad Shuab Siddique
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Pass Rx timestamp value in the mbuf using dynaflag.
Add ptp_cfg NULL checks to avoid segfault when ptp_cfg is not created.
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Signed-off-by: Mohammad Shuab Siddique <mohammad-shuab.siddique@broadcom.com>
---
drivers/net/bnxt/bnxt.h | 4 ++++
drivers/net/bnxt/bnxt_ethdev.c | 9 +++++++++
drivers/net/bnxt/bnxt_rxr.c | 21 +++++++++++++++++----
drivers/net/bnxt/bnxt_rxr.h | 7 +++++++
4 files changed, 37 insertions(+), 4 deletions(-)
diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h
index 83ae151066..92ba475198 100644
--- a/drivers/net/bnxt/bnxt.h
+++ b/drivers/net/bnxt/bnxt.h
@@ -403,6 +403,10 @@ struct bnxt_ptp_cfg {
/* On P5, the Rx timestamp is present in the Rx completion record */
uint64_t rx_timestamp;
+ /* Dynamic mbuf field for passing Rx timestamp. */
+ int mb_rx_timestamp_offset;
+ /* Dynamic mbuf flag for indicating Rx timestamp. */
+ uint64_t mb_rx_timestamp_flag;
uint64_t current_time;
uint64_t old_time;
rte_spinlock_t ptp_lock;
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 3c618c6e82..c75cd05d99 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -1686,6 +1686,7 @@ static void bnxt_ptp_stop(struct bnxt *bp)
static int bnxt_ptp_start(struct bnxt *bp)
{
+ struct bnxt_ptp_cfg *ptp = bp->ptp_cfg;
int rc;
rc = bnxt_schedule_ptp_alarm(bp);
@@ -1694,6 +1695,14 @@ static int bnxt_ptp_start(struct bnxt *bp)
} else {
bp->flags2 |= BNXT_FLAGS2_PTP_TIMESYNC_ENABLED;
bp->flags2 |= BNXT_FLAGS2_PTP_ALARM_SCHEDULED;
+
+ /* extra mbuf field to store timestamp information */
+ if (rte_mbuf_dyn_rx_timestamp_register(&ptp->mb_rx_timestamp_offset,
+ &ptp->mb_rx_timestamp_flag) != 0) {
+ PMD_DRV_LOG_LINE(ERR,
+ "Failed to register mbuf field for Rx timestamp");
+ return -rte_errno;
+ }
}
return rc;
diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c
index ac4c61b850..0ccf47cf35 100644
--- a/drivers/net/bnxt/bnxt_rxr.c
+++ b/drivers/net/bnxt/bnxt_rxr.c
@@ -1190,19 +1190,32 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt,
mbuf->data_len = mbuf->pkt_len;
mbuf->port = rxq->port_id;
- if (unlikely((rte_le_to_cpu_16(rxcmp->flags_type) &
+ if (unlikely(((rte_le_to_cpu_16(rxcmp->flags_type) &
RX_PKT_CMPL_FLAGS_MASK) ==
RX_PKT_CMPL_FLAGS_ITYPE_PTP_W_TIMESTAMP) ||
- bp->ptp_all_rx_tstamp)
+ bp->ptp_all_rx_tstamp) && bp->ieee_1588 &&
+ bp->ptp_cfg) {
+ mbuf->ol_flags |= RTE_MBUF_F_RX_IEEE1588_PTP |
+ RTE_MBUF_F_RX_IEEE1588_TMST;
bnxt_get_rx_ts_p5(rxq->bp, rxcmp1->reorder);
-
+#ifndef RTE_IOVA_IN_MBUF
+ bnxt_timestamp_dynfield_set(mbuf,
+ bp->ptp_cfg->mb_rx_timestamp_offset,
+ bp->ptp_cfg->rx_timestamp);
+ mbuf->ol_flags |= bp->ptp_cfg->mb_rx_timestamp_flag;
+#endif
+ }
if (cmp_type == CMPL_BASE_TYPE_RX_L2_V3) {
bnxt_parse_csum_v3(mbuf, rxcmp1);
bnxt_parse_pkt_type_v3(mbuf, rxcmp, rxcmp1);
bnxt_rx_vlan_v3(mbuf, rxcmp, rxcmp1);
/* Packet cannot be a PTP ethertype if it is detected as L4 */
- if (mbuf->ol_flags & RTE_MBUF_F_RX_L4_CKSUM_GOOD)
+ if (mbuf->ol_flags & RTE_MBUF_F_RX_L4_CKSUM_GOOD) {
mbuf->ol_flags &= ~RTE_MBUF_F_RX_IEEE1588_PTP;
+ if (unlikely(bp->ptp_cfg))
+ mbuf->ol_flags &=
+ ~bp->ptp_cfg->mb_rx_timestamp_flag;
+ }
/* If its a PTP frame, ptype cannot be L2_ETHER */
if (mbuf->ol_flags & RTE_MBUF_F_RX_IEEE1588_PTP)
diff --git a/drivers/net/bnxt/bnxt_rxr.h b/drivers/net/bnxt/bnxt_rxr.h
index 5e5496964f..0b7649193f 100644
--- a/drivers/net/bnxt/bnxt_rxr.h
+++ b/drivers/net/bnxt/bnxt_rxr.h
@@ -181,6 +181,13 @@ bnxt_cfa_code_dynfield(struct rte_mbuf *mbuf)
bnxt_cfa_code_dynfield_offset, bnxt_cfa_code_dynfield_t *);
}
+static __rte_always_inline void
+bnxt_timestamp_dynfield_set(struct rte_mbuf *mbuf, int offset,
+ rte_mbuf_timestamp_t ts)
+{
+ *RTE_MBUF_DYNFIELD(mbuf, offset, rte_mbuf_timestamp_t *) = ts;
+}
+
#define BNXT_RX_META_CFA_CODE_SHIFT 19
#define BNXT_CFA_CODE_META_SHIFT 16
#define BNXT_RX_META_CFA_CODE_INT_ACT_REC_BIT 0x8000000
--
2.47.3
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH 3/4] net/bnxt: support timestamp parsing in Tx
2026-03-02 17:12 [PATCH 0/4] net/bnxt: PTP support series Mohammad Shuab Siddique
2026-03-02 17:12 ` [PATCH 1/4] net/bnxt: support handling PTP frames in Rx Mohammad Shuab Siddique
2026-03-02 17:12 ` [PATCH 2/4] net/bnxt: pass Rx timestamp in mbuf Mohammad Shuab Siddique
@ 2026-03-02 17:12 ` Mohammad Shuab Siddique
2026-03-02 17:12 ` [PATCH 4/4] net/bnxt: add ptp_cfg struct support for Thor 2 VFs Mohammad Shuab Siddique
2026-03-11 18:29 ` [PATCH 0/4] net/bnxt: PTP support series Thomas Monjalon
4 siblings, 0 replies; 7+ messages in thread
From: Mohammad Shuab Siddique @ 2026-03-02 17:12 UTC (permalink / raw)
To: dev; +Cc: kishore.padmanabha, Ajit Khaparde, stable,
Mohammad Shuab Siddique
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Support timestamp parsing in Tx completions.
Check the mbuf ol_flags to see if a PTP packet is being transmitted.
Set the request for timestamp in the Tx descriptor.
If the port transmits a PTP packet, the hardware will capture the
timestamp at the time of the transmit and indicate it in the Tx
completion on the corresponding Tx ring.
Parse the timestamp info from the Tx completion entry and cache it
for indicating to the application when needed.
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Signed-off-by: Mohammad Shuab Siddique <mohammad-shuab.siddique@broadcom.com>
---
drivers/net/bnxt/bnxt_ethdev.c | 23 +++++++++++++++++++++++
drivers/net/bnxt/bnxt_txq.c | 6 ++++++
drivers/net/bnxt/bnxt_txq.h | 1 +
3 files changed, 30 insertions(+)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index c75cd05d99..6f962f8b73 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -1827,6 +1827,8 @@ int bnxt_dev_start_op(struct rte_eth_dev *eth_dev)
struct rte_eth_link *link = ð_dev->data->dev_link;
int vlan_mask = 0;
int rc, retry_cnt = BNXT_IF_CHANGE_RETRY_COUNT;
+ struct bnxt_tx_queue *txq;
+ uint16_t queue_idx;
if (bp->rx_cp_nr_rings > RTE_ETHDEV_QUEUE_STAT_CNTRS)
PMD_DRV_LOG_LINE(ERR,
@@ -1910,6 +1912,27 @@ int bnxt_dev_start_op(struct rte_eth_dev *eth_dev)
if (BNXT_P5_PTP_TIMESYNC_ENABLED(bp))
bnxt_schedule_ptp_alarm(bp);
+ /* There are a few conditions for which fast free is not supported.
+ * PTP can be enabled/disabled without restarting some programs.
+ */
+ for (queue_idx = 0; queue_idx < bp->tx_nr_rings; queue_idx++) {
+ txq = eth_dev->data->tx_queues[queue_idx];
+ if (BNXT_P5_PTP_TIMESYNC_ENABLED(bp) || bp->ieee_1588) {
+ txq->offloads &= ~RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE;
+ if (BNXT_P5_PTP_TIMESYNC_ENABLED(bp) || bp->ieee_1588)
+ txq->tx_free_thresh = RTE_BNXT_MIN_TX_BURST;
+ else
+ txq->tx_free_thresh =
+ RTE_MIN(rte_align32pow2(txq->nb_tx_desc) / 4,
+ RTE_BNXT_MAX_TX_BURST);
+ } else {
+ txq->offloads |= RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE;
+ txq->tx_free_thresh =
+ RTE_MIN(rte_align32pow2(txq->nb_tx_desc) / 4,
+ RTE_BNXT_MAX_TX_BURST);
+ }
+ }
+
return 0;
error:
diff --git a/drivers/net/bnxt/bnxt_txq.c b/drivers/net/bnxt/bnxt_txq.c
index 3938ebc709..7752f06eb7 100644
--- a/drivers/net/bnxt/bnxt_txq.c
+++ b/drivers/net/bnxt/bnxt_txq.c
@@ -172,8 +172,14 @@ int bnxt_tx_queue_setup_op(struct rte_eth_dev *eth_dev,
txq->nb_tx_desc = nb_desc;
txq->tx_free_thresh =
RTE_MIN(rte_align32pow2(nb_desc) / 4, RTE_BNXT_MAX_TX_BURST);
+ /* For PTP packets, process the completion sooner */
+ if (bp->ptp_cfg != NULL)
+ txq->tx_free_thresh = RTE_BNXT_MIN_TX_BURST;
txq->offloads = eth_dev->data->dev_conf.txmode.offloads |
tx_conf->offloads;
+ /* mbuf fast free not supported for the following. Reset the bit */
+ if (bp->ieee_1588)
+ txq->offloads &= ~RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE;
txq->tx_deferred_start = tx_conf->tx_deferred_start;
diff --git a/drivers/net/bnxt/bnxt_txq.h b/drivers/net/bnxt/bnxt_txq.h
index 69652bbaaa..ac8af91c57 100644
--- a/drivers/net/bnxt/bnxt_txq.h
+++ b/drivers/net/bnxt/bnxt_txq.h
@@ -8,6 +8,7 @@
/* Maximum transmit burst for vector mode. */
#define RTE_BNXT_MAX_TX_BURST 64U
+#define RTE_BNXT_MIN_TX_BURST 1U
struct bnxt_tx_ring_info;
struct bnxt_cp_ring_info;
--
2.47.3
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH 4/4] net/bnxt: add ptp_cfg struct support for Thor 2 VFs
2026-03-02 17:12 [PATCH 0/4] net/bnxt: PTP support series Mohammad Shuab Siddique
` (2 preceding siblings ...)
2026-03-02 17:12 ` [PATCH 3/4] net/bnxt: support timestamp parsing in Tx Mohammad Shuab Siddique
@ 2026-03-02 17:12 ` Mohammad Shuab Siddique
2026-03-02 17:26 ` [PATCH v2 " Mohammad Shuab Siddique
2026-03-11 18:29 ` [PATCH 0/4] net/bnxt: PTP support series Thomas Monjalon
4 siblings, 1 reply; 7+ messages in thread
From: Mohammad Shuab Siddique @ 2026-03-02 17:12 UTC (permalink / raw)
To: dev; +Cc: kishore.padmanabha, Mohammad Shuab Siddique, stable
From: Mohammad Shuab Siddique <root@nic1-cos.dhcp.broadcom.net>
Modified ptp_cfg initialization to create the struct for Thor 2 VFs,
enabling RX/TX timestamp support. VFs on pre-Thor 2 devices remain
unaffected.
Previously, VFs lacked timestamp support, causing "RX/TX timestamp
registers not valid" errors in testpmd ieee1588 fwd mode.
RelnoteHeadline: Add PTP timestamp support for Thor 2 VFs
RelnoteDescChg: DPDK driver now creates ptp_cfg struct for Thor 2 VFs,
enabling PTP timestamp functionality in ieee1588 forwarding mode
RelnoteIssueDesc: RX/TX timestamp registers were not valid for VFs,
causing ieee1588 forwarding mode to fail on Thor 2 VFs
RelnoteVisibility: Default
Cc: stable@dpdk.org
Signed-off-by: Mohammad Shuab Siddique <root@nic1-cos.dhcp.broadcom.net>
---
drivers/net/bnxt/bnxt_hwrm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 0cef22b5ec..3632bebbd6 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -1258,7 +1258,7 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp)
* sends another hwrm msg.
*/
if (flags & HWRM_FUNC_QCAPS_OUTPUT_FLAGS_PTP_SUPPORTED) {
- if (BNXT_CHIP_P5(bp) || BNXT_PF(bp)) {
+ if (BNXT_CHIP_P5_P7(bp) || BNXT_PF(bp)) {
bp->flags |= BNXT_FLAG_PTP_SUPPORTED;
PMD_DRV_LOG_LINE(DEBUG, "PTP SUPPORTED");
HWRM_UNLOCK();
--
2.47.3
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH v2 4/4] net/bnxt: add ptp_cfg struct support for Thor 2 VFs
2026-03-02 17:12 ` [PATCH 4/4] net/bnxt: add ptp_cfg struct support for Thor 2 VFs Mohammad Shuab Siddique
@ 2026-03-02 17:26 ` Mohammad Shuab Siddique
0 siblings, 0 replies; 7+ messages in thread
From: Mohammad Shuab Siddique @ 2026-03-02 17:26 UTC (permalink / raw)
To: dev; +Cc: kishore.padmanabha, Mohammad Shuab Siddique, stable
From: Mohammad Shuab Siddique <mohammad-shuab.siddique@broadcom.com>
Modified ptp_cfg initialization to create the struct for Thor 2 VFs,
enabling RX/TX timestamp support. VFs on pre-Thor 2 devices remain
unaffected.
Previously, VFs lacked timestamp support, causing "RX/TX timestamp
registers not valid" errors in testpmd ieee1588 fwd mode.
RelnoteHeadline: Add PTP timestamp support for Thor 2 VFs
RelnoteDescChg: DPDK driver now creates ptp_cfg struct for Thor 2 VFs,
enabling PTP timestamp functionality in ieee1588 forwarding mode
RelnoteIssueDesc: RX/TX timestamp registers were not valid for VFs,
causing ieee1588 forwarding mode to fail on Thor 2 VFs
RelnoteVisibility: Default
Cc: stable@dpdk.org
Signed-off-by: Mohammad Shuab Siddique <mohammad-shuab.siddique@broadcom.com>
---
drivers/net/bnxt/bnxt_hwrm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 0cef22b5ec..3632bebbd6 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -1258,7 +1258,7 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp)
* sends another hwrm msg.
*/
if (flags & HWRM_FUNC_QCAPS_OUTPUT_FLAGS_PTP_SUPPORTED) {
- if (BNXT_CHIP_P5(bp) || BNXT_PF(bp)) {
+ if (BNXT_CHIP_P5_P7(bp) || BNXT_PF(bp)) {
bp->flags |= BNXT_FLAG_PTP_SUPPORTED;
PMD_DRV_LOG_LINE(DEBUG, "PTP SUPPORTED");
HWRM_UNLOCK();
--
2.47.3
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 0/4] net/bnxt: PTP support series
2026-03-02 17:12 [PATCH 0/4] net/bnxt: PTP support series Mohammad Shuab Siddique
` (3 preceding siblings ...)
2026-03-02 17:12 ` [PATCH 4/4] net/bnxt: add ptp_cfg struct support for Thor 2 VFs Mohammad Shuab Siddique
@ 2026-03-11 18:29 ` Thomas Monjalon
4 siblings, 0 replies; 7+ messages in thread
From: Thomas Monjalon @ 2026-03-11 18:29 UTC (permalink / raw)
To: Mohammad Shuab Siddique; +Cc: dev, kishore.padmanabha
02/03/2026 18:12, Mohammad Shuab Siddique:
> This series adds and extends PTP (IEEE 1588) support for the BNXT PMD:
>
> - Patch 1: Support handling of PTP frames in the Rx path (scalar path),
> including ol_flags and packet_type updates for PTP timesync packets.
>
> - Patch 2: Pass Rx timestamp to the application via the mbuf dynfield
> and add ptp_cfg NULL checks to avoid segfault when ptp_cfg is not
> created.
>
> - Patch 3: Support timestamp parsing in Tx (tx_free_thresh, fast-free
> handling at dev_start and in queue setup when PTP/ieee_1588 is enabled).
>
> - Patch 4: Enable PTP for Thor 2 VFs by creating ptp_cfg when the device
> reports PTP support (BNXT_CHIP_P5_P7), fixing "RX/TX timestamp
> registers not valid" in testpmd ieee1588 fwd mode on VFs.
>
> Ajit Khaparde (3):
> net/bnxt: support handling PTP frames in Rx
> net/bnxt: pass Rx timestamp in mbuf
> net/bnxt: support timestamp parsing in Tx
>
> Mohammad Shuab Siddique (1):
> net/bnxt: add ptp_cfg struct support for Thor 2 VFs
Applied, thanks.
^ permalink raw reply [flat|nested] 7+ messages in thread