From 86ec66a9b5cb9f59eb25a58dfa7fd21b592480e9 Mon Sep 17 00:00:00 2001 From: Chunsong Feng Date: Wed, 13 Oct 2021 03:33:02 +0000 Subject: [PATCH] msgs/async/dpdk: fix dpdk build error Signed-off-by: Chunsong Feng --- src/msg/async/dpdk/DPDK.h | 6 +++--- src/msg/async/dpdk/DPDKStack.cc | 13 +++++++------ src/msg/async/dpdk/DPDKStack.h | 2 +- src/msg/async/dpdk/EventDPDK.cc | 2 +- src/msg/async/dpdk/EventDPDK.h | 2 +- src/msg/async/dpdk/TCP.cc | 2 +- src/msg/async/dpdk/TCP.h | 4 ++-- src/msg/async/dpdk/dpdk_rte.cc | 2 +- 8 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/msg/async/dpdk/DPDK.h b/src/msg/async/dpdk/DPDK.h index eadba40fb4912..47c09340d63e4 100644 --- a/src/msg/async/dpdk/DPDK.h +++ b/src/msg/async/dpdk/DPDK.h @@ -44,7 +44,6 @@ #include "net.h" #include "toeplitz.h" - struct free_deleter { void operator()(void* p) { ::free(p); } }; @@ -814,7 +813,7 @@ class DPDKDevice { if (ret != 0) { rte_exit(EXIT_FAILURE, "Cannot initialise port %u\n", _port_idx); } - string name(std::string("port") + std::to_string(port_idx)); + std::string name(std::string("port") + std::to_string(port_idx)); PerfCountersBuilder plb(cct, name, l_dpdk_dev_first, l_dpdk_dev_last); plb.add_u64_counter(l_dpdk_dev_rx_mcast, "dpdk_device_receive_multicast_packets", "DPDK received multicast packets"); @@ -855,7 +854,8 @@ class DPDKDevice { } const rss_key_type& rss_key() const { return _rss_key; } uint16_t hw_queues_count() { return _num_queues; } - std::unique_ptr init_local_queue(CephContext *c, EventCenter *center, string hugepages, uint16_t qid) { + std::unique_ptr init_local_queue(CephContext *c, + EventCenter *center, std::string hugepages, uint16_t qid) { std::unique_ptr qp; qp = std::unique_ptr(new DPDKQueuePair(c, center, this, qid)); return qp; diff --git a/src/msg/async/dpdk/DPDKStack.cc b/src/msg/async/dpdk/DPDKStack.cc index 2bfe45e9b44c3..a3451eec76966 100644 --- a/src/msg/async/dpdk/DPDKStack.cc +++ b/src/msg/async/dpdk/DPDKStack.cc @@ -142,11 +142,12 @@ void DPDKWorker::initialize() } } -using AvailableIPAddress = std::tuple; +using AvailableIPAddress = std::tuple; static bool parse_available_address( - const string &ips, const string &gates, const string &masks, vector &res) + const std::string &ips, const std::string &gates, + const std::string &masks, std::vector &res) { - vector ip_vec, gate_vec, mask_vec; + std::vector ip_vec, gate_vec, mask_vec; string_to_vec(ip_vec, ips); string_to_vec(gate_vec, gates); string_to_vec(mask_vec, masks); @@ -159,7 +160,7 @@ static bool parse_available_address( return true; } -static bool match_available_address(const vector &avails, +static bool match_available_address(const std::vector &avails, const entity_addr_t &ip, int &res) { for (size_t i = 0; i < avails.size(); ++i) { @@ -178,7 +179,7 @@ static bool match_available_address(const vector &avails, DPDKWorker::Impl::Impl(CephContext *cct, unsigned i, EventCenter *c, std::shared_ptr dev) : id(i), _netif(cct, dev, c), _dev(dev), _inet(cct, c, &_netif) { - vector tuples; + std::vector tuples; bool parsed = parse_available_address(cct->_conf.get_val("ms_dpdk_host_ipv4_addr"), cct->_conf.get_val("ms_dpdk_gateway_ipv4_addr"), cct->_conf.get_val("ms_dpdk_netmask_ipv4_addr"), tuples); @@ -263,7 +264,7 @@ void DPDKStack::spawn_worker(std::function &&func) break; } } - void *adapted_func = static_cast(funcs.back()); + void *adapted_func = static_cast(&funcs.back()); dpdk::eal::execute_on_master([adapted_func, core_id, this]() { int r = rte_eal_remote_launch(dpdk_thread_adaptor, adapted_func, core_id); if (r < 0) { diff --git a/src/msg/async/dpdk/DPDKStack.h b/src/msg/async/dpdk/DPDKStack.h index 2bd52d00245ec..acbac7b2011ba 100644 --- a/src/msg/async/dpdk/DPDKStack.h +++ b/src/msg/async/dpdk/DPDKStack.h @@ -247,7 +247,7 @@ class DPDKWorker : public Worker { }; class DPDKStack : public NetworkStack { - vector > funcs; + std::vector > funcs; virtual Worker* create_worker(CephContext *c, unsigned worker_id) override { return new DPDKWorker(c, worker_id); diff --git a/src/msg/async/dpdk/EventDPDK.cc b/src/msg/async/dpdk/EventDPDK.cc index 5d291716c719f..a38ddcc99b089 100644 --- a/src/msg/async/dpdk/EventDPDK.cc +++ b/src/msg/async/dpdk/EventDPDK.cc @@ -67,7 +67,7 @@ int DPDKDriver::resize_events(int newsize) return 0; } -int DPDKDriver::event_wait(vector &fired_events, struct timeval *tvp) +int DPDKDriver::event_wait(std::vector &fired_events, struct timeval *tvp) { int num_events = 512; int events[num_events]; diff --git a/src/msg/async/dpdk/EventDPDK.h b/src/msg/async/dpdk/EventDPDK.h index 541c2210e01da..ccf2cd28d47ac 100644 --- a/src/msg/async/dpdk/EventDPDK.h +++ b/src/msg/async/dpdk/EventDPDK.h @@ -33,7 +33,7 @@ class DPDKDriver : public EventDriver { int add_event(int fd, int cur_mask, int add_mask) override; int del_event(int fd, int cur_mask, int del_mask) override; int resize_events(int newsize) override; - int event_wait(vector &fired_events, struct timeval *tp) override; + int event_wait(std::vector &fired_events, struct timeval *tp) override; bool need_wakeup() override { return false; } }; diff --git a/src/msg/async/dpdk/TCP.cc b/src/msg/async/dpdk/TCP.cc index 26f29e10f75ac..86c80487c4611 100644 --- a/src/msg/async/dpdk/TCP.cc +++ b/src/msg/async/dpdk/TCP.cc @@ -222,7 +222,7 @@ void tcp::respond_with_reset(tcp_hdr* rth, ipaddr local_ip, ipaddr f #undef dout_prefix #define dout_prefix _prefix(_dout) template -ostream& tcp::tcb::_prefix(std::ostream *_dout) { +std::ostream& tcp::tcb::_prefix(std::ostream *_dout) { return *_dout << "tcp " << _local_ip << ":" << _local_port << " -> " << _foreign_ip << ":" << _foreign_port << " tcb(" << this << " fd=" << fd << " s=" << _state << ")."; } diff --git a/src/msg/async/dpdk/TCP.h b/src/msg/async/dpdk/TCP.h index 79fd6fbb13096..cf76d3279c03a 100644 --- a/src/msg/async/dpdk/TCP.h +++ b/src/msg/async/dpdk/TCP.h @@ -395,7 +395,7 @@ class tcp { public: // callback void close_final_cleanup(); - ostream& _prefix(std::ostream *_dout); + std::ostream& _prefix(std::ostream *_dout); public: tcb(tcp& t, connid id); @@ -685,7 +685,7 @@ class tcp { uint16_t _port; int _fd = -1; int16_t _errno; - queue _q; + std::queue _q; size_t _q_max_length; private: diff --git a/src/msg/async/dpdk/dpdk_rte.cc b/src/msg/async/dpdk/dpdk_rte.cc index 0937040a00b43..872d39d519de4 100644 --- a/src/msg/async/dpdk/dpdk_rte.cc +++ b/src/msg/async/dpdk/dpdk_rte.cc @@ -92,7 +92,7 @@ namespace dpdk { t = std::thread([&]() { // TODO: Inherit these from the app parameters - "opts" std::vector> args { - string2vector(string("ceph")), + string2vector("ceph"), string2vector("-c"), string2vector(c->_conf.get_val("ms_dpdk_coremask")), string2vector("-n"), string2vector(c->_conf->ms_dpdk_memory_channel), }; -- 2.39.5