MCPcopy Create free account
hub / github.com/F-Stack/f-stack / virtqueue_rxvq_reset_packed

Function virtqueue_rxvq_reset_packed

dpdk/drivers/net/virtio/virtqueue.c:198–230  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

196}
197
198int
199virtqueue_rxvq_reset_packed(struct virtqueue *vq)
200{
201 int size = vq->vq_nentries;
202 struct vq_desc_extra *dxp;
203 uint16_t desc_idx;
204
205 vq->vq_used_cons_idx = 0;
206 vq->vq_desc_head_idx = 0;
207 vq->vq_avail_idx = 0;
208 vq->vq_desc_tail_idx = (uint16_t)(vq->vq_nentries - 1);
209 vq->vq_free_cnt = vq->vq_nentries;
210
211 vq->vq_packed.used_wrap_counter = 1;
212 vq->vq_packed.cached_flags = VRING_PACKED_DESC_F_AVAIL;
213 vq->vq_packed.event_flags_shadow = 0;
214 vq->vq_packed.cached_flags |= VRING_DESC_F_WRITE;
215
216 memset(vq->mz->addr, 0, vq->mz->len);
217
218 for (desc_idx = 0; desc_idx < vq->vq_nentries; desc_idx++) {
219 dxp = &vq->vq_descx[desc_idx];
220 if (dxp->cookie != NULL) {
221 rte_pktmbuf_free(dxp->cookie);
222 dxp->cookie = NULL;
223 }
224 }
225
226 vring_desc_init_packed(vq, size);
227
228 virtqueue_disable_intr(vq);
229 return 0;
230}
231
232int
233virtqueue_txvq_reset_packed(struct virtqueue *vq)

Callers 1

Calls 4

memsetFunction · 0.85
rte_pktmbuf_freeFunction · 0.85
vring_desc_init_packedFunction · 0.85
virtqueue_disable_intrFunction · 0.70

Tested by

no test coverage detected