Skip to content

Commit

Permalink
net/idpf: register timestamp mbuf when starting dev
Browse files Browse the repository at this point in the history
Due to only support timestamp at port level, registering
timestamp mbuf should be at dev start stage.

Fixes: 8c6098a ("common/idpf: add Rx/Tx data path")
Cc: stable@dpdk.org

Signed-off-by: Wenjing Qiao <wenjing.qiao@intel.com>
Suggested-by: Jingjing Wu <jingjing.wu@intel.com>
Signed-off-by: 0-day Robot <robot@bytheb.org>
  • Loading branch information
Qiao-Intel authored and ovsrobot committed Apr 24, 2023
1 parent 487ba41 commit 60c4030
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 0 deletions.
7 changes: 7 additions & 0 deletions drivers/net/idpf/idpf_ethdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -765,6 +765,13 @@ idpf_dev_start(struct rte_eth_dev *dev)
rte_eal_alarm_set(1000 * 1000,
&idpf_dev_read_time_hw,
(void *)base);
/* Register mbuf field and flag for Rx timestamp */
ret = rte_mbuf_dyn_rx_timestamp_register(&idpf_timestamp_dynfield_offset,
&idpf_timestamp_dynflag);
if (ret != 0) {
PMD_DRV_LOG(ERR, "Cannot register mbuf field/flag for timestamp");
return -EINVAL;
}
}

ret = idpf_vc_vectors_alloc(vport, req_vecs_num);
Expand Down
3 changes: 3 additions & 0 deletions drivers/net/idpf/idpf_ethdev.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@

#define IDPF_ALARM_INTERVAL 50000 /* us */

extern int idpf_timestamp_dynfield_offset;
extern uint64_t idpf_timestamp_dynflag;

struct idpf_vport_param {
struct idpf_adapter_ext *adapter;
uint16_t devarg_id; /* arg id from user */
Expand Down
3 changes: 3 additions & 0 deletions drivers/net/idpf/idpf_rxtx.c
Original file line number Diff line number Diff line change
Expand Up @@ -529,6 +529,9 @@ idpf_rx_queue_init(struct rte_eth_dev *dev, uint16_t rx_queue_id)
frame_size > rxq->rx_buf_len)
dev->data->scattered_rx = 1;

if (dev->data->dev_conf.rxmode.offloads & RTE_ETH_RX_OFFLOAD_TIMESTAMP)
rxq->ts_enable = TRUE;

err = idpf_qc_ts_mbuf_register(rxq);
if (err != 0) {
PMD_DRV_LOG(ERR, "fail to residter timestamp mbuf %u",
Expand Down

0 comments on commit 60c4030

Please sign in to comment.