DPDK  22.03.0
rte_pcapng.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2019 Microsoft Corporation
3  */
4 
23 #ifndef _RTE_PCAPNG_H_
24 #define _RTE_PCAPNG_H_
25 
26 #include <stdint.h>
27 #include <sys/types.h>
28 #include <rte_compat.h>
29 #include <rte_mempool.h>
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 /* Opaque handle used for functions in this library. */
36 typedef struct rte_pcapng rte_pcapng_t;
37 
57 __rte_experimental
58 rte_pcapng_t *
59 rte_pcapng_fdopen(int fd,
60  const char *osname, const char *hardware,
61  const char *appname, const char *comment);
62 
69 __rte_experimental
70 void
71 rte_pcapng_close(rte_pcapng_t *self);
72 
78  RTE_PCAPNG_DIRECTION_UNKNOWN = 0,
79  RTE_PCAPNG_DIRECTION_IN = 1,
80  RTE_PCAPNG_DIRECTION_OUT = 2,
81 };
82 
109 __rte_experimental
110 struct rte_mbuf *
111 rte_pcapng_copy(uint16_t port_id, uint32_t queue,
112  const struct rte_mbuf *m, struct rte_mempool *mp,
113  uint32_t length, uint64_t timestamp,
114  enum rte_pcapng_direction direction);
115 
116 
126 __rte_experimental
127 uint32_t
128 rte_pcapng_mbuf_size(uint32_t length);
129 
151 __rte_experimental
152 ssize_t
153 rte_pcapng_write_packets(rte_pcapng_t *self,
154  struct rte_mbuf *pkts[], uint16_t nb_pkts);
155 
182 __rte_experimental
183 ssize_t
184 rte_pcapng_write_stats(rte_pcapng_t *self, uint16_t port,
185  const char *comment,
186  uint64_t start_time, uint64_t end_time,
187  uint64_t ifrecv, uint64_t ifdrop);
188 
189 #ifdef __cplusplus
190 }
191 #endif
192 
193 #endif /* _RTE_PCAPNG_H_ */
__rte_experimental ssize_t rte_pcapng_write_stats(rte_pcapng_t *self, uint16_t port, const char *comment, uint64_t start_time, uint64_t end_time, uint64_t ifrecv, uint64_t ifdrop)
rte_pcapng_direction
Definition: rte_pcapng.h:77
uint16_t port
__rte_experimental struct rte_mbuf * rte_pcapng_copy(uint16_t port_id, uint32_t queue, const struct rte_mbuf *m, struct rte_mempool *mp, uint32_t length, uint64_t timestamp, enum rte_pcapng_direction direction)
__rte_experimental ssize_t rte_pcapng_write_packets(rte_pcapng_t *self, struct rte_mbuf *pkts[], uint16_t nb_pkts)
__rte_experimental uint32_t rte_pcapng_mbuf_size(uint32_t length)
__rte_experimental void rte_pcapng_close(rte_pcapng_t *self)
__rte_experimental rte_pcapng_t * rte_pcapng_fdopen(int fd, const char *osname, const char *hardware, const char *appname, const char *comment)