I am writing a bpf/xdp example which I hope to put in xdp-project/bpf-examples when it is done. But I am finding that I get an unexpected ENOTSOCK return code from a bpf_map_update_elem function call. My test case is here https://github.com/tjcw/bpf-examples/tree/tjcw-integration-0.3/AF_XDP-filter ; see its README.md for what it does. I have a matching test case here https://github.com/tjcw/xdp-tutorial/tree/master/ebpf-filter which works normally. The problem may be a diffent libbpf level; the AF_XDP_filter version of the test case is running with libbpf set up by "git submodule update --init", where the ebpf-filter version has libbpf set up by the 'bleeding edge' libbpf being checked out at ~tjcw/workspace. I will try again with more careful version control. The last few lines written by the test case are libbpf: elf: skipping unrecognized data section(7) xdp_metadata libbpf: elf: skipping unrecognized data section(7) xdp_metadata xsk_socket__create_shared_named_prog returns 0 bpf_map_update_elem(9,0x7ffcaea02670,0x7ffcaea02674,0) bpf_map_update_elem returns -88 ERROR: Cannot set up socket 0 ERROR: Can't setup AF_XDP sockets "Socket operation on non-socket" the full log of the test case is available here https://github.com/libbpf/libbpf/issues/630 Thanks for any light you can throw on the issue ! Chris Ward, IBM