1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2020 Intel Corporation 3 */ 4 #ifndef __INCLUDE_RTE_SWX_PORT_ETHDEV_H__ 5 #define __INCLUDE_RTE_SWX_PORT_ETHDEV_H__ 6 7 /** 8 * @file 9 * RTE SWX Ethernet Device Input and Output Ports 10 */ 11 12 #include <stdint.h> 13 14 #include "rte_swx_port.h" 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 /** Ethernet device input port (reader) creation parameters. */ 21 struct rte_swx_port_ethdev_reader_params { 22 /** Name of a valid and fully configured Ethernet device. */ 23 const char *dev_name; 24 25 /** Ethernet device receive queue ID. */ 26 uint16_t queue_id; 27 28 /** Ethernet device receive burst size. */ 29 uint32_t burst_size; 30 }; 31 32 /** Ethernet device reader operations. */ 33 extern struct rte_swx_port_in_ops rte_swx_port_ethdev_reader_ops; 34 35 /** Ethernet device output port (writer) creation parameters. */ 36 struct rte_swx_port_ethdev_writer_params { 37 /** Name of a valid and fully configured Ethernet device. */ 38 const char *dev_name; 39 40 /** Ethernet device transmit queue ID. */ 41 uint16_t queue_id; 42 43 /** Ethernet device transmit burst size. */ 44 uint32_t burst_size; 45 }; 46 47 /** Ethernet device writer operations. */ 48 extern struct rte_swx_port_out_ops rte_swx_port_ethdev_writer_ops; 49 50 #ifdef __cplusplus 51 } 52 #endif 53 54 #endif 55