Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

failed to create map (name: 'sock_pair_map'): Invalid argument(-22) #270

Open
wdxxl opened this issue Feb 6, 2023 · 3 comments
Open

failed to create map (name: 'sock_pair_map'): Invalid argument(-22) #270

wdxxl opened this issue Feb 6, 2023 · 3 comments

Comments

@wdxxl
Copy link

wdxxl commented Feb 6, 2023

Bug Description

I'm using Kind + istio to verify feature of merbridge. after apply the related logs as below:

kubectl apply -f https://raw.githubusercontent.com/merbridge/merbridge/main/deploy/all-in-one.yaml

        - /app/mbctl
        - -m
        - istio
        - --use-reconnect=true
        - --cni-mode=false
% kubectl logs merbridge-ncwvg -n istio-system
2023-02-06T10:05:23.785150Z	warn	OS CA Cert could not be found for agent
[ -f bpf/mb_connect.c ] && make -C bpf load || make -C bpf load-from-obj
make[1]: Entering directory '/app/bpf'
clang -O2 -g  -Wall -target bpf -I/usr/include/x86_64-linux-gnu  -DMESH=1 -DENABLE_IPV4=1 -DENABLE_IPV6=0 -DUSE_RECONNECT -c mb_connect.c -o mb_connect.o
clang -O2 -g  -Wall -target bpf -I/usr/include/x86_64-linux-gnu  -DMESH=1 -DENABLE_IPV4=1 -DENABLE_IPV6=0 -DUSE_RECONNECT -c mb_get_sockopts.c -o mb_get_sockopts.o
clang -O2 -g  -Wall -target bpf -I/usr/include/x86_64-linux-gnu  -DMESH=1 -DENABLE_IPV4=1 -DENABLE_IPV6=0 -DUSE_RECONNECT -c mb_redir.c -o mb_redir.o
clang -O2 -g  -Wall -target bpf -I/usr/include/x86_64-linux-gnu  -DMESH=1 -DENABLE_IPV4=1 -DENABLE_IPV6=0 -DUSE_RECONNECT -c mb_sockops.c -o mb_sockops.o
clang -O2 -g  -Wall -target bpf -I/usr/include/x86_64-linux-gnu  -DMESH=1 -DENABLE_IPV4=1 -DENABLE_IPV6=0 -DUSE_RECONNECT -c mb_bind.c -o mb_bind.o
clang -O2 -g  -Wall -target bpf -I/usr/include/x86_64-linux-gnu  -DMESH=1 -DENABLE_IPV4=1 -DENABLE_IPV6=0 -DUSE_RECONNECT -c mb_sendmsg.c -o mb_sendmsg.o
clang -O2 -g  -Wall -target bpf -I/usr/include/x86_64-linux-gnu  -DMESH=1 -DENABLE_IPV4=1 -DENABLE_IPV6=0 -DUSE_RECONNECT -c mb_recvmsg.c -o mb_recvmsg.o
clang -O2 -g  -Wall -target bpf -I/usr/include/x86_64-linux-gnu  -DMESH=1 -DENABLE_IPV4=1 -DENABLE_IPV6=0 -DUSE_RECONNECT -c mb_tc.c -o mb_tc.o
sudo mount -t bpf bpf /sys/fs/bpf
sudo mkdir -p /sys/fs/bpf/tc/globals
[ -f /sys/fs/bpf/cookie_original_dst ] || sudo bpftool map create /sys/fs/bpf/cookie_original_dst type lru_hash key 8 value 24 entries 65535 name cookie_original_dst
[ -f /sys/fs/bpf/local_pod_ips ] || sudo bpftool map create /sys/fs/bpf/local_pod_ips type hash key 16 value 244 entries 1024 name local_pod_ips
[ -f /sys/fs/bpf/process_ip ] || sudo bpftool map create /sys/fs/bpf/process_ip type lru_hash key 4 value 4 entries 1024 name process_ip
[ -f /sys/fs/bpf/cgroup_info_map ] || sudo bpftool map create /sys/fs/bpf/cgroup_info_map type lru_hash key 8 value 32 entries 1024 name cgroup_info_map
[ -f /sys/fs/bpf/mark_pod_ips_map ] || sudo bpftool map create /sys/fs/bpf/mark_pod_ips_map type hash key 4 value 16 entries 65535 name mark_pod_ips_map
sudo bpftool -m prog loadall mb_connect.o /sys/fs/bpf/connect \
	map name cookie_original_dst pinned /sys/fs/bpf/cookie_original_dst \
	map name local_pod_ips pinned /sys/fs/bpf/local_pod_ips \
	map name mark_pod_ips_map pinned /sys/fs/bpf/mark_pod_ips_map \
	map name process_ip pinned /sys/fs/bpf/process_ip \
	map name cgroup_info_map pinned /sys/fs/bpf/cgroup_info_map
libbpf: failed to create map (name: 'sock_pair_map'): Invalid argument(-22)
libbpf: failed to load object 'mb_connect.o'
Error: failed to load object file
make[1]: *** [Makefile:145: load-connect] Error 255
make[1]: Leaving directory '/app/bpf'
make[1]: Entering directory '/app/bpf'
sudo mount -t bpf bpf /sys/fs/bpf
sudo mkdir -p /sys/fs/bpf/tc/globals
[ -f /sys/fs/bpf/cookie_original_dst ] || sudo bpftool map create /sys/fs/bpf/cookie_original_dst type lru_hash key 8 value 24 entries 65535 name cookie_original_dst
[ -f /sys/fs/bpf/local_pod_ips ] || sudo bpftool map create /sys/fs/bpf/local_pod_ips type hash key 16 value 244 entries 1024 name local_pod_ips
[ -f /sys/fs/bpf/process_ip ] || sudo bpftool map create /sys/fs/bpf/process_ip type lru_hash key 4 value 4 entries 1024 name process_ip
[ -f /sys/fs/bpf/cgroup_info_map ] || sudo bpftool map create /sys/fs/bpf/cgroup_info_map type lru_hash key 8 value 32 entries 1024 name cgroup_info_map
[ -f /sys/fs/bpf/mark_pod_ips_map ] || sudo bpftool map create /sys/fs/bpf/mark_pod_ips_map type hash key 4 value 16 entries 65535 name mark_pod_ips_map
sudo bpftool -m prog loadall mb_connect.o /sys/fs/bpf/connect \
	map name cookie_original_dst pinned /sys/fs/bpf/cookie_original_dst \
	map name local_pod_ips pinned /sys/fs/bpf/local_pod_ips \
	map name mark_pod_ips_map pinned /sys/fs/bpf/mark_pod_ips_map \
	map name process_ip pinned /sys/fs/bpf/process_ip \
	map name cgroup_info_map pinned /sys/fs/bpf/cgroup_info_map
libbpf: failed to create map (name: 'sock_pair_map'): Invalid argument(-22)
libbpf: failed to load object 'mb_connect.o'
Error: failed to load object file
make[1]: *** [Makefile:145: load-connect] Error 255
make[1]: Leaving directory '/app/bpf'
make: *** [Makefile:3: load] Error 2
Error: failed to load ebpf programs: unexpected exit code: 2, err: exit status 2
Usage:
  mbctl [flags]

Flags:
      --cni-bin-dir string      /opt/cni/bin mount path (default "/host/opt/cni/bin")
      --cni-config-dir string   /etc/cni/net.d mount path (default "/host/etc/cni/net.d")
      --cni-mode                Enable Merbridge CNI plugin
  -d, --debug                   Debug mode
      --enable-hot-restart      enable hot restart
  -h, --help                    help for mbctl
      --host-proc string        /proc mount path (default "/host/proc")
      --host-var-run string     /var/run mount path (default "/host/var/run")
  -k, --kind                    Enable when Kubernetes is running in Kind
      --kubeconfig string       Kubernetes configuration file
      --kubecontext string      The name of the kube config context to use
  -m, --mode string             Service mesh mode, current support istio, linkerd and kuma (default "istio")
  -r, --use-reconnect           Use re-connect mode for same-node acceleration (default true)

Version

$ uname -a
Darwin wangkexues-MacBook-Pro.local 21.6.0 Darwin Kernel Version 21.6.0: Sat Jun 18 17:07:25 PDT 2022; root:xnu-8020.140.41~1/RELEASE_X86_64 x86_64

$ kind version
kind v0.12.0 go1.17.8 darwin/amd64

$ istioctl version    
client version: 1.16.2
control plane version: 1.16.2
data plane version: 1.16.2 (4 proxies)

$ docker version
Client:
 Cloud integration: 1.0.17
 Version:           20.10.8
 API version:       1.41
 Go version:        go1.16.6
 Git commit:        3967b7d
 Built:             Fri Jul 30 19:55:20 2021
 OS/Arch:           darwin/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.8
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.6
  Git commit:       75249d8
  Built:            Fri Jul 30 19:52:10 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.9
  GitCommit:        e25210fe30a0a703442421b0f60afac609f950a3
 runc:
  Version:          1.0.1
  GitCommit:        v1.0.1-0-g4144b63
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
@kebe7jun
Copy link
Member

kebe7jun commented Feb 6, 2023

Are you running a kind cluster on a mac? This is unverified and should not be supported.
You can try testing on ubuntu.

@wdxxl
Copy link
Author

wdxxl commented Feb 6, 2023

thanks for the reply, will try using ubuntu.
does centos supported?

@kebe7jun
Copy link
Member

kebe7jun commented Feb 6, 2023

thanks for the reply, will try using ubuntu. does centos supported?

Yes, but maybe need upgrade kernel munally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants