1
0
Fork 0
mirror of https://passt.top/passt synced 2025-06-01 05:45:42 +02:00

tap: Remove unhelpeful vnet_pre optimization from tap_send()

Callers of tap_send() can optionally use a small optimization by adding
extra space for the 4 byte length header used on the qemu socket interface.
tap_ip_send() is currently the only user of this, but this is used only
for "slow path" ICMP and DHCP packets, so there's not a lot of value to
the optimization.

Worse, having the two paths here complicates the interface and makes future
cleanups difficult, so just remove it.  I have some plans to bring back the
optimization in a more general way in future, but for now it's just in the
way.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:
David Gibson 2022-10-19 11:43:51 +11:00 committed by Stefano Brivio
parent f72b63e92f
commit fb5d1c5d7d
5 changed files with 13 additions and 24 deletions

2
tap.h
View file

@ -11,7 +11,7 @@ const struct in6_addr *tap_ip6_daddr(const struct ctx *c,
const struct in6_addr *src);
void tap_ip_send(const struct ctx *c, const struct in6_addr *src, uint8_t proto,
const char *in, size_t len, uint32_t flow);
int tap_send(const struct ctx *c, const void *data, size_t len, int vnet_pre);
int tap_send(const struct ctx *c, const void *data, size_t len);
void tap_handler(struct ctx *c, int fd, uint32_t events,
const struct timespec *now);
void tap_sock_init(struct ctx *c);