Skip to content
Snippets Groups Projects
Commit ce39f68c authored by Vlad Zolotarov's avatar Vlad Zolotarov Committed by Pekka Enberg
Browse files

virtio-net: zero req->mhdr.num_buffers


Zero req->mhdr.num_buffers in Tx path when MRG_RXBUF is negotiated as virtio spec demands.

Reviewed-by Zhi Yong Wu <zwu.kernel@gmail.com>
Reviewed-by: default avatarAsias He <asias@cloudius-systems.com>
Signed-off-by: default avatarVlad Zolotarov <vladz@cloudius-systems.com>
Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
parent 9bd90d4d
No related branches found
No related tags found
No related merge requests found
...@@ -545,6 +545,10 @@ int net::tx_locked(struct mbuf* m_head, bool flush) ...@@ -545,6 +545,10 @@ int net::tx_locked(struct mbuf* m_head, bool flush)
} }
} }
if (_mergeable_bufs) {
req->mhdr.num_buffers = 0;
}
vq->init_sg(); vq->init_sg();
vq->add_out_sg(static_cast<void*>(&req->mhdr), _hdr_size); vq->add_out_sg(static_cast<void*>(&req->mhdr), _hdr_size);
...@@ -553,7 +557,6 @@ int net::tx_locked(struct mbuf* m_head, bool flush) ...@@ -553,7 +557,6 @@ int net::tx_locked(struct mbuf* m_head, bool flush)
if (frag_len != 0) { if (frag_len != 0) {
net_d("Frag len=%d:", frag_len); net_d("Frag len=%d:", frag_len);
req->mhdr.num_buffers++;
vq->add_out_sg(m->m_hdr.mh_data, m->m_hdr.mh_len); vq->add_out_sg(m->m_hdr.mh_data, m->m_hdr.mh_len);
tx_bytes += frag_len; tx_bytes += frag_len;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment