aboutgitcodebugslistschat
path: root/vu_common.h
diff options
context:
space:
mode:
Diffstat (limited to 'vu_common.h')
-rw-r--r--vu_common.h15
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 */