1d30ea906Sjfb8856606 /* SPDX-License-Identifier: BSD-3-Clause
2d30ea906Sjfb8856606  * Copyright(c) 2010-2018 Intel Corporation
3d30ea906Sjfb8856606  */
4d30ea906Sjfb8856606 
5d30ea906Sjfb8856606 #ifndef _RTE_ETHDEV_PROFILE_H_
6d30ea906Sjfb8856606 #define _RTE_ETHDEV_PROFILE_H_
7d30ea906Sjfb8856606 
8d30ea906Sjfb8856606 #include "rte_ethdev.h"
9d30ea906Sjfb8856606 
10d30ea906Sjfb8856606 /**
11d30ea906Sjfb8856606  * Initialization of the Ethernet device profiling.
12d30ea906Sjfb8856606  * Implementation of this function depends on chosen profiling method,
13d30ea906Sjfb8856606  * defined in configs.
14d30ea906Sjfb8856606  *
15d30ea906Sjfb8856606  * @param port_id
16d30ea906Sjfb8856606  *  The port identifier of the Ethernet device.
17d30ea906Sjfb8856606  * @param dev
18d30ea906Sjfb8856606  *  Pointer to struct rte_eth_dev corresponding to given port_id.
19d30ea906Sjfb8856606  *
20d30ea906Sjfb8856606  * @return
21d30ea906Sjfb8856606  *  - On success, zero.
22d30ea906Sjfb8856606  *  - On failure, a negative value.
23d30ea906Sjfb8856606  */
24d30ea906Sjfb8856606 int
25d30ea906Sjfb8856606 __rte_eth_dev_profile_init(uint16_t port_id, struct rte_eth_dev *dev);
26d30ea906Sjfb8856606 
27*0c6bd470Sfengbojiang #ifdef RTE_ETHDEV_PROFILE_WITH_VTUNE
28*0c6bd470Sfengbojiang 
29*0c6bd470Sfengbojiang uint16_t
30*0c6bd470Sfengbojiang profile_hook_rx_burst_cb(uint16_t port_id, uint16_t queue_id,
31*0c6bd470Sfengbojiang 	struct rte_mbuf *pkts[], uint16_t nb_pkts,
32*0c6bd470Sfengbojiang 	uint16_t max_pkts, void *user_param);
33*0c6bd470Sfengbojiang 
34*0c6bd470Sfengbojiang #endif /* RTE_ETHDEV_PROFILE_WITH_VTUNE */
35*0c6bd470Sfengbojiang 
36d30ea906Sjfb8856606 #endif
37