scylladb / seastar

High performance server-side application framework
http://seastar.io
Apache License 2.0
8.4k stars 1.56k forks source link

Bug in DPDK _send? #607

Open ofekkir opened 5 years ago

ofekkir commented 5 years ago

Hi,

reading through src\net\dpdk.cc I think there might be a bug in

template uint32_t dpdk::dpdk_qp:: _send(circular_buffer& pb, Func packet_to_tx_buf_p);

What happens if _tx_burst.size() is greater than 0? the first if doesn't happen, and the packets that are sent are from some previous call to _send, while the pb is manipulated (packets are popped from it, while they were not inserted to the burst from the first place not mention not sent to device).

Did I miss out anything?

avikivity commented 5 years ago

@vladzcloudius ?