-
- for (i = 0; i < RX_BUF_NB; i++)
- vring_add_buf(RX_INDEX, i, i);
+ struct vring_list list[2];
+
+ for (i = 0; i < RX_BUF_NB; i++) {
+ list[0].addr = (char*)&rx_hdr[i];
+ list[0].length = sizeof(struct virtio_net_hdr);
+ list[1].addr = (char*)&rx_buffer[i];
+ list[1].length = ETH_FRAME_LEN;
+ vring_add_buf(RX_INDEX, list, 0, 2, i, i);
+ }