1/* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2021 Intel Corporation 3 */ 4 5#ifndef __INCLUDE_RTE_SWX_PORT_FD_H__ 6#define __INCLUDE_RTE_SWX_PORT_FD_H__ 7 8#ifdef __cplusplus 9extern "C" { 10#endif 11 12/** 13 * @file 14 * RTE SWX FD Input and Output Ports 15 * 16 ***/ 17#include <stdint.h> 18 19 20#include "rte_swx_port.h" 21 22/** fd_reader port parameters */ 23struct rte_swx_port_fd_reader_params { 24 /** File descriptor. Must be valid and opened in non-blocking mode. */ 25 int fd; 26 27 /** Maximum Transfer Unit (MTU) */ 28 uint32_t mtu; 29 30 /** Pre-initialized buffer pool */ 31 struct rte_mempool *mempool; 32 33 /** RX burst size */ 34 uint32_t burst_size; 35}; 36 37/** fd_reader port operations */ 38extern struct rte_swx_port_in_ops rte_swx_port_fd_reader_ops; 39 40/** fd_writer port parameters */ 41struct rte_swx_port_fd_writer_params { 42 /** File descriptor. Must be valid and opened in non-blocking mode. */ 43 int fd; 44 45 /** TX burst size */ 46 uint32_t burst_size; 47}; 48 49/** fd_writer port operations */ 50extern struct rte_swx_port_out_ops rte_swx_port_fd_writer_ops; 51 52#ifdef __cplusplus 53} 54#endif 55 56#endif /* __INCLUDE_RTE_SWX_PORT_FD_H__ */ 57