@@ -186,12 +186,12 @@ noinst_HEADERS = \
${srcdir}/include/odp_packet_io_internal.h \
${srcdir}/include/odp_packet_io_ring_internal.h \
${srcdir}/include/odp_packet_dpdk.h \
- ${srcdir}/include/odp_packet_tap.h \
${srcdir}/include/odp_pktio_ops_ipc.h \
${srcdir}/include/odp_pktio_ops_loopback.h \
${srcdir}/include/odp_pktio_ops_netmap.h \
${srcdir}/include/odp_pktio_ops_pcap.h \
${srcdir}/include/odp_pktio_ops_socket.h \
+ ${srcdir}/include/odp_pktio_ops_tap.h \
${srcdir}/include/odp_pktio_ops_subsystem.h \
${srcdir}/include/odp_pkt_queue_internal.h \
${srcdir}/include/odp_pool_internal.h \
@@ -31,7 +31,6 @@ extern "C" {
#include <net/if.h>
#define PKTIO_MAX_QUEUES 64
-#include <odp_packet_tap.h>
#include <odp_packet_dpdk.h>
/* Forward declaration */
@@ -59,7 +58,6 @@ struct pktio_entry {
odp_pktio_t handle; /**< pktio handle */
union {
pkt_dpdk_t pkt_dpdk; /**< using DPDK for IO */
- pkt_tap_t pkt_tap; /**< using TAP for IO */
};
enum {
/* Not allocated */
@@ -84,6 +84,7 @@ typedef ODP_MODULE_CLASS(pktio_ops) {
#include <odp_pktio_ops_netmap.h>
#include <odp_pktio_ops_pcap.h>
#include <odp_pktio_ops_socket.h>
+#include <odp_pktio_ops_tap.h>
/* Per implementation private data
* TODO: refactory each implementation to hide it internally
@@ -95,6 +96,7 @@ typedef union {
pktio_ops_pcap_data_t pcap;
pktio_ops_socket_data_t socket;
pktio_ops_socket_mmap_data_t mmap;
+ pktio_ops_tap_data_t tap;
} pktio_ops_data_t;
/* Extract pktio ops data from pktio entry structure */
similarity index 85%
rename from platform/linux-generic/include/odp_packet_tap.h
rename to platform/linux-generic/include/odp_pktio_ops_tap.h
@@ -4,8 +4,8 @@
* SPDX-License-Identifier: BSD-3-Clause
*/
-#ifndef ODP_PACKET_TAP_H_
-#define ODP_PACKET_TAP_H_
+#ifndef ODP_PACKET_OPS_TAP_H_
+#define ODP_PACKET_OPS_TAP_H_
#include <odp/api/pool.h>
@@ -16,6 +16,6 @@ typedef struct {
unsigned char if_mac[ETH_ALEN]; /**< MAC address of pktio side (not a
MAC address of kernel interface)*/
odp_pool_t pool; /**< pool to alloc packets from */
-} pkt_tap_t;
+} pktio_ops_tap_data_t;
#endif
@@ -63,7 +63,7 @@ static int tap_pktio_open(odp_pktio_t id ODP_UNUSED,
int fd, skfd, flags;
uint32_t mtu;
struct ifreq ifr;
- pkt_tap_t *tap = &pktio_entry->s.pkt_tap;
+ pktio_ops_tap_data_t *tap = &pktio_entry->ops_data(tap);
if (strncmp(devname, "tap:", 4) != 0)
return -1;
@@ -163,7 +163,7 @@ static int tap_pktio_open(odp_pktio_t id ODP_UNUSED,
static int tap_pktio_close(pktio_entry_t *pktio_entry)
{
int ret = 0;
- pkt_tap_t *tap = &pktio_entry->s.pkt_tap;
+ pktio_ops_tap_data_t *tap = &pktio_entry->ops_data(tap);
if (tap->fd != -1 && close(tap->fd) != 0) {
__odp_errno = errno;
@@ -190,13 +190,13 @@ static odp_packet_t pack_odp_pkt(pktio_entry_t *pktio_entry, const void *data,
if (pktio_cls_enabled(pktio_entry)) {
if (cls_classify_packet(pktio_entry, data, len, len,
- &pktio_entry->s.pkt_tap.pool,
+ &pktio_entry->ops_data(tap).pool,
&parsed_hdr)) {
return ODP_PACKET_INVALID;
}
}
- num = packet_alloc_multi(pktio_entry->s.pkt_tap.pool, len, &pkt, 1);
+ num = packet_alloc_multi(pktio_entry->ops_data(tap).pool, len, &pkt, 1);
if (num != 1)
return ODP_PACKET_INVALID;
@@ -227,7 +227,7 @@ static int tap_pktio_recv(pktio_entry_t *pktio_entry, int index ODP_UNUSED,
ssize_t retval;
int i;
uint8_t buf[BUF_SIZE];
- pkt_tap_t *tap = &pktio_entry->s.pkt_tap;
+ pktio_ops_tap_data_t *tap = &pktio_entry->ops_data(tap);
odp_time_t ts_val;
odp_time_t *ts = NULL;
@@ -267,7 +267,7 @@ static int tap_pktio_send_lockless(pktio_entry_t *pktio_entry,
int i, n;
uint32_t pkt_len;
uint8_t buf[BUF_SIZE];
- pkt_tap_t *tap = &pktio_entry->s.pkt_tap;
+ pktio_ops_tap_data_t *tap = &pktio_entry->ops_data(tap);
for (i = 0; i < len; i++) {
pkt_len = odp_packet_len(pkts[i]);
@@ -330,10 +330,10 @@ static uint32_t tap_mtu_get(pktio_entry_t *pktio_entry)
{
uint32_t ret;
- ret = mtu_get_fd(pktio_entry->s.pkt_tap.skfd,
+ ret = mtu_get_fd(pktio_entry->ops_data(tap).skfd,
pktio_entry->s.name + 4);
if (ret > 0)
- pktio_entry->s.pkt_tap.mtu = ret;
+ pktio_entry->ops_data(tap).mtu = ret;
return ret;
}
@@ -341,19 +341,19 @@ static uint32_t tap_mtu_get(pktio_entry_t *pktio_entry)
static int tap_promisc_mode_set(pktio_entry_t *pktio_entry,
odp_bool_t enable)
{
- return promisc_mode_set_fd(pktio_entry->s.pkt_tap.skfd,
+ return promisc_mode_set_fd(pktio_entry->ops_data(tap).skfd,
pktio_entry->s.name + 4, enable);
}
static int tap_promisc_mode_get(pktio_entry_t *pktio_entry)
{
- return promisc_mode_get_fd(pktio_entry->s.pkt_tap.skfd,
+ return promisc_mode_get_fd(pktio_entry->ops_data(tap).skfd,
pktio_entry->s.name + 4);
}
static int tap_mac_addr_get(pktio_entry_t *pktio_entry, void *mac_addr)
{
- memcpy(mac_addr, pktio_entry->s.pkt_tap.if_mac, ETH_ALEN);
+ memcpy(mac_addr, pktio_entry->ops_data(tap).if_mac, ETH_ALEN);
return ETH_ALEN;
}