diff --git a/net/proxy.cc b/net/proxy.cc index 85c2cb9b1f..533ae6ab0a 100644 --- a/net/proxy.cc +++ b/net/proxy.cc @@ -9,7 +9,6 @@ private: static constexpr size_t _send_queue_length = 1000; boost::program_options::variables_map _opts; stream _rx_stream; - future<> _rx_ready; net::hw_features _hw_features; size_t _send_depth = 0; promise<> _send_promise; @@ -24,8 +23,7 @@ public: proxy_net_device::proxy_net_device(boost::program_options::variables_map opts) : _opts(std::move(opts)), - _rx_stream(), - _rx_ready(_rx_stream.started()) + _rx_stream() { if (!(_opts.count("csum-offload") && _opts["csum-offload"].as() == "off")) { _hw_features.tx_csum_offload = true; @@ -44,6 +42,7 @@ proxy_net_device::proxy_net_device(boost::program_options::variables_map opts) : } else { _hw_features.tx_ufo = false; } + _rx_stream.started(); } subscription proxy_net_device::receive(std::function (packet)> next) @@ -53,9 +52,7 @@ subscription proxy_net_device::receive(std::function (packet)> future<> proxy_net_device::l2inject(packet p) { - _rx_ready = _rx_ready.then([this, p = std::move(p)] () mutable { - return _rx_stream.produce(std::move(p)); - }); + _rx_stream.produce(std::move(p)); return make_ready_future<>(); }