netdev-afxdp requires XDP program to be loaded. When prog_id == 0, it indicates no XDP program, so return error and free resources.
Signed-off-by: William Tu <[email protected]> --- lib/netdev-afxdp.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/netdev-afxdp.c b/lib/netdev-afxdp.c index 6b0b93e7f432..79c7a442e9cf 100644 --- a/lib/netdev-afxdp.c +++ b/lib/netdev-afxdp.c @@ -283,6 +283,12 @@ xsk_configure_socket(struct xsk_umem_info *umem, uint32_t ifindex, free(xsk); return NULL; } + if (!prog_id) { + VLOG_ERR("No XDP program is loaded at ifindex %d", ifindex); + xsk_socket__delete(xsk->xsk); + free(xsk); + return NULL; + } while (!xsk_ring_prod__reserve(&xsk->umem->fq, PROD_NUM_DESCS, &idx)) { -- 2.7.4 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
