DPDK  25.11.2
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 
19 #ifndef _RTE_PCAPNG_H_
20 #define _RTE_PCAPNG_H_
21 
22 #include <stdint.h>
23 #include <sys/types.h>
24 
25 #include <rte_mempool.h>
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
31 /* Default link type for Ethernet traffic. */
32 #ifndef DLT_EN10MB
33 #define DLT_EN10MB 1
34 #endif
35 
36 /* Opaque handle used for functions in this library. */
37 typedef struct rte_pcapng rte_pcapng_t;
38 
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 void
70 rte_pcapng_close(rte_pcapng_t *self);
71 
96 int
97 rte_pcapng_add_interface(rte_pcapng_t *self, uint16_t port, uint16_t link_type,
98  const char *ifname, const char *ifdescr,
99  const char *filter);
100 
106  RTE_PCAPNG_DIRECTION_UNKNOWN = 0,
107  RTE_PCAPNG_DIRECTION_IN = 1,
108  RTE_PCAPNG_DIRECTION_OUT = 2,
109 };
110 
136 struct rte_mbuf *
137 rte_pcapng_copy(uint16_t port_id, uint32_t queue,
138  const struct rte_mbuf *m, struct rte_mempool *mp,
139  uint32_t length,
140  enum rte_pcapng_direction direction, const char *comment);
141 
142 
152 uint32_t
153 rte_pcapng_mbuf_size(uint32_t length);
154 
176 ssize_t
177 rte_pcapng_write_packets(rte_pcapng_t *self,
178  struct rte_mbuf *pkts[], uint16_t nb_pkts);
179 
203 ssize_t
204 rte_pcapng_write_stats(rte_pcapng_t *self, uint16_t port,
205  uint64_t ifrecv, uint64_t ifdrop,
206  const char *comment);
207 
208 #ifdef __cplusplus
209 }
210 #endif
211 
212 #endif /* _RTE_PCAPNG_H_ */
void rte_pcapng_close(rte_pcapng_t *self)
ssize_t rte_pcapng_write_stats(rte_pcapng_t *self, uint16_t port, uint64_t ifrecv, uint64_t ifdrop, const char *comment)
rte_pcapng_direction
Definition: rte_pcapng.h:105
uint32_t rte_pcapng_mbuf_size(uint32_t length)
uint16_t port
ssize_t rte_pcapng_write_packets(rte_pcapng_t *self, struct rte_mbuf *pkts[], uint16_t nb_pkts)
int rte_pcapng_add_interface(rte_pcapng_t *self, uint16_t port, uint16_t link_type, const char *ifname, const char *ifdescr, const char *filter)
rte_pcapng_t * rte_pcapng_fdopen(int fd, const char *osname, const char *hardware, const char *appname, const char *comment)
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, enum rte_pcapng_direction direction, const char *comment)