From 79b235502da6d5f55ca59d48f9d825e40e191d02 Mon Sep 17 00:00:00 2001 From: Alex Williams Date: Mon, 18 Mar 2019 11:11:13 -0700 Subject: uhdlib: Add dpdk_zero_copy.hpp dpdk_zero_copy.hpp was referenced in multiple places using relative paths. Let's throw it in uhdlib for easy access. --- .../include/uhdlib/transport/dpdk_zero_copy.hpp | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 host/lib/include/uhdlib/transport/dpdk_zero_copy.hpp (limited to 'host/lib/include/uhdlib') diff --git a/host/lib/include/uhdlib/transport/dpdk_zero_copy.hpp b/host/lib/include/uhdlib/transport/dpdk_zero_copy.hpp new file mode 100644 index 000000000..8dcce6eee --- /dev/null +++ b/host/lib/include/uhdlib/transport/dpdk_zero_copy.hpp @@ -0,0 +1,45 @@ +// +// Copyright 2018 Ettus Research, a National Instruments Company +// +// SPDX-License-Identifier: GPL-3.0-or-later +// + +#ifndef DPDK_ZERO_COPY_HPP +#define DPDK_ZERO_COPY_HPP + +#include +#include +#include +#include +#include + + +namespace uhd { namespace transport { + +/*! + * A zero copy transport interface to the dpdk DMA library. + */ +class dpdk_zero_copy : public virtual zero_copy_if { +public: + typedef boost::shared_ptr sptr; + + static sptr make( + const struct uhd_dpdk_ctx &ctx, + const unsigned int dpdk_port_id, + const std::string &addr, + const std::string &remote_port, + const std::string &local_port, /* 0 = auto-assign */ + const zero_copy_xport_params &default_buff_args, + const device_addr_t &hints + ); + + virtual uint16_t get_local_port(void) const = 0; + + virtual std::string get_local_addr(void) const = 0; + + virtual uint32_t get_drop_count(void) const = 0; +}; + +}} // namespace uhd::transport + +#endif /* DPDK_ZERO_COPY_HPP */ -- cgit v1.2.3