Because of missing argument syscall was failing
before reaching xdp system what could result in
degrated performance
Type: fix
Change-Id: I0ae1ce1bacf68457a02a31b3508e9c5100a754e6
Signed-off-by: Vladimir Zhigulin <[email protected]>
if (clib_spinlock_trylock_if_init (&rxq->syscall_lock))
{
- int ret = recvmsg (rxq->xsk_fd, 0, MSG_DONTWAIT);
+ struct msghdr msg = { 0 };
+ struct iovec iov = { 0 };
+ msg.msg_iov = &iov;
+ msg.msg_iovlen = 1;
+
+ int ret = recvmsg (rxq->xsk_fd, &msg, MSG_DONTWAIT);
clib_spinlock_unlock_if_init (&rxq->syscall_lock);
if (PREDICT_FALSE (ret < 0))
{