diff options
Diffstat (limited to 'vu_common.h')
| -rw-r--r-- | vu_common.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/vu_common.h b/vu_common.h index f538f23..865d977 100644 --- a/vu_common.h +++ b/vu_common.h @@ -7,11 +7,17 @@ #ifndef VU_COMMON_H #define VU_COMMON_H + +#include <stddef.h> + #include <linux/virtio_net.h> +#include "ip.h" +#include "virtio.h" + static inline void *vu_eth(void *base) { - return ((char *)base + sizeof(struct virtio_net_hdr_mrg_rxbuf)); + return ((char *)base + VNET_HLEN); } static inline void *vu_ip(void *base) @@ -48,14 +54,13 @@ void vu_init_elem(struct vu_virtq_element *elem, struct iovec *iov, int elem_cnt); int vu_collect(const struct vu_dev *vdev, struct vu_virtq *vq, struct vu_virtq_element *elem, int max_elem, size_t size, - size_t *frame_size); -void vu_set_vnethdr(const struct vu_dev *vdev, - struct virtio_net_hdr_mrg_rxbuf *vnethdr, - int num_buffers); + size_t *collected); +void vu_set_vnethdr(struct virtio_net_hdr_mrg_rxbuf *vnethdr, int num_buffers); void vu_flush(const struct vu_dev *vdev, struct vu_virtq *vq, struct vu_virtq_element *elem, int elem_cnt); void vu_kick_cb(struct vu_dev *vdev, union epoll_ref ref, const struct timespec *now); int vu_send_single(const struct ctx *c, const void *buf, size_t size); +void vu_pad(struct iovec *iov, size_t l2len); #endif /* VU_COMMON_H */ |
