DPDK 26.03.0-rc1
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
28extern "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. */
37typedef struct rte_pcapng rte_pcapng_t;
38
58rte_pcapng_t *
60 const char *osname, const char *hardware,
61 const char *appname, const char *comment);
62
69void
70rte_pcapng_close(rte_pcapng_t *self);
71
96int
97rte_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
137struct rte_mbuf *
138rte_pcapng_copy(uint16_t port_id, uint32_t queue,
139 const struct rte_mbuf *m, struct rte_mempool *mp,
140 uint32_t length,
141 enum rte_pcapng_direction direction, const char *comment);
142
143
153uint32_t
154rte_pcapng_mbuf_size(uint32_t length);
155
177ssize_t
178rte_pcapng_write_packets(rte_pcapng_t *self,
179 struct rte_mbuf *pkts[], uint16_t nb_pkts);
180
204ssize_t
205rte_pcapng_write_stats(rte_pcapng_t *self, uint16_t port,
206 uint64_t ifrecv, uint64_t ifdrop,
207 const char *comment);
208
209#ifdef __cplusplus
210}
211#endif
212
213#endif /* _RTE_PCAPNG_H_ */
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_direction
Definition: rte_pcapng.h:105
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)
void rte_pcapng_close(rte_pcapng_t *self)
ssize_t rte_pcapng_write_packets(rte_pcapng_t *self, struct rte_mbuf *pkts[], uint16_t nb_pkts)
ssize_t rte_pcapng_write_stats(rte_pcapng_t *self, uint16_t port, uint64_t ifrecv, uint64_t ifdrop, const char *comment)
uint32_t rte_pcapng_mbuf_size(uint32_t length)
uint16_t port