2016-10-14 17:34, Yuanhan Liu:
> -static inline uint32_t __attribute__((always_inline))
> +static inline int __attribute__((always_inline))
>  copy_mbuf_to_desc_mergeable(struct virtio_net *dev, struct vhost_virtqueue 
> *vq,
> -                         uint16_t end_idx, struct rte_mbuf *m,
> -                         struct buf_vector *buf_vec)
> +                         struct rte_mbuf *m, struct buf_vector *buf_vec,
> +                         uint16_t num_buffers)
>  {
>       struct virtio_net_hdr_mrg_rxbuf virtio_hdr = {{0, 0, 0, 0, 0, 0}, 0};
>       uint32_t vec_idx = 0;
> -     uint16_t start_idx = vq->last_used_idx;
> -     uint16_t cur_idx = start_idx;
> +     uint16_t cur_idx = vq->last_used_idx;
>       uint64_t desc_addr;
>       uint32_t desc_chain_head;
>       uint32_t desc_chain_len;
> @@ -394,21 +393,21 @@ copy_mbuf_to_desc_mergeable(struct virtio_net *dev, 
> struct vhost_virtqueue *vq,
>       struct rte_mbuf *hdr_mbuf;
>  
>       if (unlikely(m == NULL))
> -             return 0;
> +             return -1;
>  
>       LOG_DEBUG(VHOST_DATA, "(%d) current index %d | end index %d\n",
>               dev->vid, cur_idx, end_idx);

There is a build error:
        lib/librte_vhost/virtio_net.c:399:22: error: ?end_idx? undeclared

It is probably trivial and could be fixed directly in the already applied
commit in next-virtio.

Reply via email to