make
make -C src/include/libbpf/src
make[1]: Entering directory '/root/IPIPDirect-TC/src/include/libbpf/src'
mkdir -p ./staticobjs
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c bpf.c -o staticobjs/bpf.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c btf.c -o staticobjs/btf.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c libbpf.c -o staticobjs/libbpf.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c libbpf_errno.c -o staticobjs/libbpf_errno.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c netlink.c -o staticobjs/netlink.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c nlattr.c -o staticobjs/nlattr.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c str_error.c -o staticobjs/str_error.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c libbpf_probes.c -o staticobjs/libbpf_probes.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c bpf_prog_linfo.c -o staticobjs/bpf_prog_linfo.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c xsk.c -o staticobjs/xsk.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c btf_dump.c -o staticobjs/btf_dump.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c hashmap.c -o staticobjs/hashmap.o
ar rcs libbpf.a staticobjs/bpf.o staticobjs/btf.o staticobjs/libbpf.o staticobjs/libbpf_errno.o staticobjs/netlink.o staticobjs/nlattr.o staticobjs/str_error.o staticobjs/libbpf_probes.o staticobjs/bpf_prog_linfo.o staticobjs/xsk.o staticobjs/btf_dump.o staticobjs/hashmap.o
mkdir -p ./sharedobjs
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -fvisibility=hidden -DSHARED -c bpf.c -o sharedobjs/bpf.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -fvisibility=hidden -DSHARED -c btf.c -o sharedobjs/btf.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -fvisibility=hidden -DSHARED -c libbpf.c -o sharedobjs/libbpf.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -fvisibility=hidden -DSHARED -c libbpf_errno.c -o sharedobjs/libbpf_errno.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -fvisibility=hidden -DSHARED -c netlink.c -o sharedobjs/netlink.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -fvisibility=hidden -DSHARED -c nlattr.c -o sharedobjs/nlattr.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -fvisibility=hidden -DSHARED -c str_error.c -o sharedobjs/str_error.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -fvisibility=hidden -DSHARED -c libbpf_probes.c -o sharedobjs/libbpf_probes.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -fvisibility=hidden -DSHARED -c bpf_prog_linfo.c -o sharedobjs/bpf_prog_linfo.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -fvisibility=hidden -DSHARED -c xsk.c -o sharedobjs/xsk.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -fvisibility=hidden -DSHARED -c btf_dump.c -o sharedobjs/btf_dump.o
cc -I. -I../include -I../include/uapi -g -O2 -Werror -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -fvisibility=hidden -DSHARED -c hashmap.c -o sharedobjs/hashmap.o
cc -shared -Wl,--version-script=libbpf.map \
-Wl,-soname,libbpf.so.0 \
sharedobjs/bpf.o sharedobjs/btf.o sharedobjs/libbpf.o sharedobjs/libbpf_errno.o sharedobjs/netlink.o sharedobjs/nlattr.o sharedobjs/str_error.o sharedobjs/libbpf_probes.o sharedobjs/bpf_prog_linfo.o sharedobjs/xsk.o sharedobjs/btf_dump.o sharedobjs/hashmap.o -lelf -o libbpf.so.0.0.8
ln -sf libbpf.so.0.0.8 libbpf.so.0
ln -sf libbpf.so.0 libbpf.so
sed -e "s|@PREFIX@|/usr|" \
-e "s|@LIBDIR@|/usr/lib64|" \
-e "s|@VERSION@|0.0.8|" \
< libbpf.pc.template > libbpf.pc
make[1]: Leaving directory '/root/IPIPDirect-TC/src/include/libbpf/src'
clang -Isrc/include/libbpf/src -g -O2 -Wall -Werror -c -o src/IPIPDirect_loader.o src/IPIPDirect_loader.c
clang -lelf -lz -o src/IPIPDirect_loader src/include/libbpf/src/staticobjs/bpf.o src/include/libbpf/src/staticobjs/btf.o src/include/libbpf/src/staticobjs/libbpf_errno.o src/include/libbpf/src/staticobjs/libbpf_probes.o src/include/libbpf/src/staticobjs/libbpf.o src/include/libbpf/src/staticobjs/netlink.o src/include/libbpf/src/staticobjs/nlattr.o src/include/libbpf/src/staticobjs/str_error.o src/include/libbpf/src/staticobjs/hashmap.o src/include/libbpf/src/staticobjs/bpf_prog_linfo.o src/IPIPDirect_loader.o
clang -D__BPF__ -Wall -Wextra -O2 -emit-llvm -c src/IPIPDirect_kern.c -o src/IPIPDirect_kern.bc
src/IPIPDirect_kern.c:147:46: warning: cast to smaller integer type 'uint16_t' (aka 'unsigned short') from '__sum16 *' (aka 'unsigned short *') [-Wpointer-to-int-cast]
offset = sizeof(struct ethhdr) + offsetof(struct iphdr, check);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/include/common.h:31:34: note: expanded from macro 'offsetof'
# define offsetof(TYPE, MEMBER) ((uint16_t)&((TYPE *)0)->MEMBER)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/IPIPDirect_kern.c:162:46: warning: cast to smaller integer type 'uint16_t' (aka 'unsigned short') from '__be32 *' (aka 'unsigned int *') [-Wpointer-to-int-cast]
offset = sizeof(struct ethhdr) + offsetof(struct iphdr, saddr);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/include/common.h:31:34: note: expanded from macro 'offsetof'
# define offsetof(TYPE, MEMBER) ((uint16_t)&((TYPE *)0)->MEMBER)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/IPIPDirect_kern.c:197:22: warning: cast to smaller integer type 'uint16_t' (aka 'unsigned short') from 'unsigned char (*)[6]' [-Wpointer-to-int-cast]
offset = offsetof(struct ethhdr, h_dest);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/include/common.h:31:34: note: expanded from macro 'offsetof'
# define offsetof(TYPE, MEMBER) ((uint16_t)&((TYPE *)0)->MEMBER)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/IPIPDirect_kern.c:228:73: warning: cast to smaller integer type 'uint16_t' (aka 'unsigned short') from '__sum16 *' (aka 'unsigned short *') [-Wpointer-to-int-cast]
offset = sizeof(struct ethhdr) + (iphdr->ihl * 4) + offsetof(struct udphdr, check);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/include/common.h:31:34: note: expanded from macro 'offsetof'
# define offsetof(TYPE, MEMBER) ((uint16_t)&((TYPE *)0)->MEMBER)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/IPIPDirect_kern.c:248:73: warning: cast to smaller integer type 'uint16_t' (aka 'unsigned short') from '__sum16 *' (aka 'unsigned short *') [-Wpointer-to-int-cast]
offset = sizeof(struct ethhdr) + (iphdr->ihl * 4) + offsetof(struct tcphdr, check);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/include/common.h:31:34: note: expanded from macro 'offsetof'
# define offsetof(TYPE, MEMBER) ((uint16_t)&((TYPE *)0)->MEMBER)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 warnings generated.
llc -march=bpf -filetype=obj src/IPIPDirect_kern.bc -o src/IPIPDirect_filter.o