You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This happens once gobgp calls DialTCP because the epoll_waitisn't implemented in the Linux kernel on the arm64 architecture.
The issue goes away the moment I patch gobgp/server/sockopt_linux.go to use the x/sys/unix package instead of syscall, as recommended in the related issue golang/go#25813 discussion. This may eventually get fixed in the syscall package in some later Go version.
The fix can be seen running my arm64-unix_epoll image, built as make -B -e BUILD_IN_DOCKER=true -e IMG_NAMESPACE=dparalen container in my unix_epoll kube-router branch.
What I'm concerned about is where/how to best address this issue since kube-router pins the Go 1.10.8 version as well as gobgp in the vendor directory. I'm considering opening a pull request against gobgp too, wanted to have a reference to kube-router first...
Thanks!
milan
PS: I had to patch the Makefile to be able to compile gobgp in an image as my system runs Debian
The text was updated successfully, but these errors were encountered:
...interestingly gobgp doesn't rely on the syscall.Epoll* interface since osrg/gobgp@598bba9 which appeared in version [email protected] which in turn requires Go 1.11...
Folks,
I've been trying to run kube-router on arm64 and I finally made it work for myself. I'd like to discuss my findings here.
Running my arm64-master_arm64_build image built as
make -B -e BUILD_IN_DOCKER=true -e IMG_NAMESPACE=dparalen container
in my master_arm64_build branch leads to following kernel stack dump, implying a missing syscall:This happens once gobgp calls
DialTCP
because theepoll_wait
isn't implemented in the Linux kernel on the arm64 architecture.The issue goes away the moment I patch
gobgp/server/sockopt_linux.go
to use thex/sys/unix
package instead ofsyscall
, as recommended in the related issue golang/go#25813 discussion. This may eventually get fixed in thesyscall
package in some later Go version.The fix can be seen running my arm64-unix_epoll image, built as
make -B -e BUILD_IN_DOCKER=true -e IMG_NAMESPACE=dparalen container
in my unix_epoll kube-router branch.What I'm concerned about is where/how to best address this issue since kube-router pins the Go 1.10.8 version as well as gobgp in the
vendor
directory. I'm considering opening a pull request against gobgp too, wanted to have a reference to kube-router first...Thanks!
milan
PS: I had to patch the Makefile to be able to compile gobgp in an image as my system runs Debian
The text was updated successfully, but these errors were encountered: