netdev_rx_pltap_recv(struct netdev_rx *rx_, void *buffer, size_t size)
{
struct netdev_rx_pltap *rx = netdev_rx_pltap_cast(rx_);
- char prefix[4];
+ struct tun_pi pi;
struct iovec iov[2] = {
- { .iov_base = prefix, .iov_len = 4 },
+ { .iov_base = &pi, .iov_len = sizeof(pi) },
{ .iov_base = buffer, .iov_len = size }
};
for (;;) {
{
struct netdev_pltap *dev =
netdev_pltap_cast(netdev_);
- char prefix[4] = { 0, 0, 8, 6 };
+ struct tun_pi pi = { 0, 0x86 };
struct iovec iov[2] = {
- { .iov_base = prefix, .iov_len = 4 },
+ { .iov_base = &pi, .iov_len = sizeof(pi) },
{ .iov_base = (char*) buffer, .iov_len = size }
};
if (dev->fd < 0)