On 10/17/22 17:11, Manickavel Subramani wrote: > I been have issue with building ovs with afxdp enabled on ubuntu. > Distributor ID: Ubuntu > Description: Ubuntu 22.04.1 LTS > Release: 22.04 > Codename: jammy > > I just followed the steps listed in the Open vSwitch with AF_XDP > https://docs.openvswitch.org/en/latest/intro/install/afxdp/ > > > When I run the command ./ovs/.configure --enable-afxdp > checking for capng_clear in -lcap-ng... no > configure: WARNING: cannot find libcap-ng. > --user option will not be supported on Linux. > (you may use --disable-libcapng to suppress this warning). > checking for Python 3 (version 3.4 or later)... /usr/bin/python3 > checking for flake8... no > checking for sphinx-build-3... no > checking for sphinx-build-2... no > checking for sphinx-build... no > checking for dot... yes > checking for net/if_dl.h... no > checking whether strtok_r macro segfaults on some inputs... no > checking whether AF_XDP is enabled... yes > checking for bpf/libbpf.h... yes > checking for linux/if_xdp.h... yes > checking for bpf/xsk.h... no > configure: error: unable to find bpf/xsk.h for AF_XDP support > root@ffsdemo9:~/ovs# > > > > > I see following error in config.log file > configure:19717: gcc -c -g -O2 conftest.c >&5 > configure:19717: $? = 0 > configure:19717: result: yes > configure:19726: checking for bpf/xsk.h > configure:19726: gcc -c -g -O2 conftest.c >&5 > In file included from conftest.c:75: > /usr/include/bpf/xsk.h:32:26: error: field 'node' has incomplete type > 32 | struct list_head node; > | ^~~~ > /usr/include/bpf/xsk.h:34:31: error: expected ':', ',', ';', '}' or > '__attribute__' before '*' token > 34 | struct xdp_sock __rcu **map_entry; > | ^ > /usr/include/bpf/xsk.h:43:52: error: expected ';', ',' or ')' before '*' token > 43 | struct xdp_sock __rcu **map_entry); > | ^ > /usr/include/bpf/xsk.h:44:52: error: unknown type name 'u16' > 44 | void xsk_clear_pool_at_qid(struct net_device *dev, u16 queue_id); > | ^~~ > /usr/include/bpf/xsk.h:46:25: error: unknown type name 'u16' > 46 | u16 queue_id); > | ^~~ > configure:19726: $? = 1 > configure: failed program was: > | /* confdefs.h */
This doesn't look like xsk.h header from libbpf, but it looks like kernel's internal xsk.h instead. I'm not sure how you end up installing that header to the /usr/include/, it should not be there. If you copied this header from the kernel, undo that. On Ubuntu you may install libbpf-dev package instead of building libbpf from kernel sources. Best regards, Ilya Maximets. > > Please help to figure out the issue > > Regard > Vel.. _______________________________________________ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss