SOL_XDP
if (level != SOL_XDP)
if (level != SOL_XDP)
err = getsockopt(fd, SOL_XDP, XDP_STATISTICS, stats, &optlen);
err = getsockopt(fd, SOL_XDP, XDP_STATISTICS, &stats, &optlen);
err = getsockopt(fd, SOL_XDP, XDP_MMAP_OFFSETS, off, &optlen);
err = setsockopt(fd, SOL_XDP, XDP_UMEM_FILL_RING,
err = setsockopt(fd, SOL_XDP, XDP_UMEM_COMPLETION_RING,
err = setsockopt(umem->fd, SOL_XDP, XDP_UMEM_REG, &mr, sizeof(mr));
#ifndef SOL_XDP
err = setsockopt(xsk->fd, SOL_XDP, XDP_RX_RING,
err = setsockopt(xsk->fd, SOL_XDP, XDP_TX_RING,
#ifndef SOL_XDP
setsockopt(sock_fd, SOL_XDP, XDP_UMEM_REG, &umem_reg,
setsockopt(sock_fd, SOL_XDP, XDP_UMEM_FILL_RING, &num_desc,
setsockopt(sock_fd, SOL_XDP, XDP_UMEM_COMPLETION_RING, &num_desc,
setsockopt(sock_fd, SOL_XDP, XDP_RX_RING, &num_desc, sizeof(num_desc));