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

Use x/sys/unix instead of syscall package to avoid an unimplemented arm64 function #289

Closed
FireDrunk opened this Issue Jul 31, 2018 · 4 comments

Comments

Projects
2 participants
@FireDrunk
Copy link
Contributor

FireDrunk commented Jul 31, 2018

Is this a bug report or a feature request?:
Bug I guess?

What happened:
Not working BGP Session, and errors in log.

What you expected to happen:
Working BGP Session

How to reproduce it (as minimally and precisely as possible):
Run metallb/speaker:master-arm64 on Kubernetes 1.11.0

Anything else we need to know?:
Router is pfSense (192.168.1.1)

Environment:

  • MetalLB version: master-arm64
  • Kubernetes version: 1.11.0
  • BGP router type/version: pfSense 2.4.1
  • OS (e.g. from /etc/os-release): Ubuntu Bionic (18.04) ARM
  • Kernel (e.g. uname -a): 4.4.132
{"branch":"master","caller":"main.go:63","commit":"804ee640","msg":"MetalLB speaker starting (commit 804ee640, branch master)","ts":"2018-07-31T07:54:42.200181603Z","version":""}
{"caller":"announcer.go:87","event":"createARPResponder","interface":"eth0","msg":"created ARP responder for interface","ts":"2018-07-31T07:54:42.303668857Z"}
{"caller":"announcer.go:96","event":"createNDPResponder","interface":"eth0","msg":"created NDP responder for interface","ts":"2018-07-31T07:54:42.396356476Z"}
{"caller":"announcer.go:87","event":"createARPResponder","interface":"docker0","msg":"created ARP responder for interface","ts":"2018-07-31T07:54:42.403550593Z"}
{"caller":"announcer.go:87","event":"createARPResponder","interface":"datapath","msg":"created ARP responder for interface","ts":"2018-07-31T07:54:42.415643453Z"}
{"caller":"announcer.go:96","event":"createNDPResponder","interface":"datapath","msg":"created NDP responder for interface","ts":"2018-07-31T07:54:42.416713558Z"}
{"caller":"announcer.go:87","event":"createARPResponder","interface":"weave","msg":"created ARP responder for interface","ts":"2018-07-31T07:54:42.600625825Z"}
{"caller":"announcer.go:96","event":"createNDPResponder","interface":"weave","msg":"created NDP responder for interface","ts":"2018-07-31T07:54:42.69537024Z"}
{"caller":"announcer.go:87","event":"createARPResponder","interface":"vethwe-datapath","msg":"created ARP responder for interface","ts":"2018-07-31T07:54:42.794428367Z"}
{"caller":"announcer.go:96","event":"createNDPResponder","interface":"vethwe-datapath","msg":"created NDP responder for interface","ts":"2018-07-31T07:54:42.795329017Z"}
{"caller":"announcer.go:87","event":"createARPResponder","interface":"vethwe-bridge","msg":"created ARP responder for interface","ts":"2018-07-31T07:54:42.894709679Z"}
{"caller":"announcer.go:96","event":"createNDPResponder","interface":"vethwe-bridge","msg":"created NDP responder for interface","ts":"2018-07-31T07:54:42.896158944Z"}
{"caller":"announcer.go:87","event":"createARPResponder","interface":"vxlan-6784","msg":"created ARP responder for interface","ts":"2018-07-31T07:54:42.902729489Z"}
{"caller":"announcer.go:96","event":"createNDPResponder","interface":"vxlan-6784","msg":"created NDP responder for interface","ts":"2018-07-31T07:54:42.903831386Z"}
{"caller":"announcer.go:87","event":"createARPResponder","interface":"vethwepl3acbc9c","msg":"created ARP responder for interface","ts":"2018-07-31T07:54:43.595388597Z"}
{"caller":"announcer.go:96","event":"createNDPResponder","interface":"vethwepl3acbc9c","msg":"created NDP responder for interface","ts":"2018-07-31T07:54:43.597396101Z"}
{"caller":"main.go:161","event":"startUpdate","msg":"start of service update","service":"default/kubernetes","ts":"2018-07-31T07:54:46.397575294Z"}
{"caller":"main.go:165","event":"endUpdate","msg":"end of service update","service":"default/kubernetes","ts":"2018-07-31T07:54:46.397898163Z"}
{"caller":"main.go:161","event":"startUpdate","msg":"start of service update","service":"kube-system/kube-dns","ts":"2018-07-31T07:54:46.398260989Z"}
{"caller":"main.go:165","event":"endUpdate","msg":"end of service update","service":"kube-system/kube-dns","ts":"2018-07-31T07:54:46.398450861Z"}
{"caller":"main.go:161","event":"startUpdate","msg":"start of service update","service":"kube-system/tiller-deploy","ts":"2018-07-31T07:54:46.398643941Z"}
{"caller":"main.go:165","event":"endUpdate","msg":"end of service update","service":"kube-system/tiller-deploy","ts":"2018-07-31T07:54:46.398802896Z"}
{"caller":"main.go:161","event":"startUpdate","msg":"start of service update","service":"monitoring/prometheus-service","ts":"2018-07-31T07:54:46.399033017Z"}
{"caller":"main.go:169","event":"noConfig","msg":"not processing, still waiting for config","service":"monitoring/prometheus-service","ts":"2018-07-31T07:54:46.399218805Z"}
{"caller":"main.go:170","event":"endUpdate","msg":"end of service update","service":"monitoring/prometheus-service","ts":"2018-07-31T07:54:46.399423843Z"}
{"caller":"main.go:278","configmap":"metallb-system/config","event":"startUpdate","msg":"start of config update","ts":"2018-07-31T07:54:46.400400908Z"}
{"caller":"bgp_controller.go:151","configmap":"metallb-system/config","event":"peerAdded","msg":"peer configured, starting BGP session","peer":"192.168.1.1","ts":"2018-07-31T07:54:46.400578822Z"}
{"caller":"main.go:302","configmap":"metallb-system/config","event":"endUpdate","msg":"end of config update","ts":"2018-07-31T07:54:46.400920649Z"}
{"caller":"k8s.go:346","configmap":"metallb-system/config","event":"configLoaded","msg":"config (re)loaded","ts":"2018-07-31T07:54:46.401179935Z"}
{"caller":"bgp_controller.go:254","event":"nodeLabelsChanged","msg":"Node labels changed, resyncing BGP peers","ts":"2018-07-31T07:54:46.401512429Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T07:54:46.402334914Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T07:54:46.403021776Z"}
{"caller":"main.go:161","event":"startUpdate","msg":"start of service update","service":"monitoring/prometheus-service","ts":"2018-07-31T07:54:46.406709833Z"}
{"caller":"bgp_controller.go:201","event":"updatedAdvertisements","ip":"10.0.50.1","msg":"making advertisements using BGP","numAds":1,"pool":"bgp-range","protocol":"bgp","service":"monitoring/prometheus-service","ts":"2018-07-31T07:54:46.407050202Z"}
{"caller":"main.go:232","event":"serviceAnnounced","ip":"10.0.50.1","msg":"service has IP, announcing","pool":"bgp-range","protocol":"bgp","service":"monitoring/prometheus-service","ts":"2018-07-31T07:54:46.407320863Z"}
{"caller":"main.go:234","event":"endUpdate","msg":"end of service update","service":"monitoring/prometheus-service","ts":"2018-07-31T07:54:46.407446569Z"}
{"caller":"main.go:161","event":"startUpdate","msg":"start of service update","service":"default/kubernetes","ts":"2018-07-31T07:54:46.407553901Z"}
{"caller":"main.go:165","event":"endUpdate","msg":"end of service update","service":"default/kubernetes","ts":"2018-07-31T07:54:46.407629441Z"}
{"caller":"main.go:161","event":"startUpdate","msg":"start of service update","service":"kube-system/kube-dns","ts":"2018-07-31T07:54:46.407711106Z"}
{"caller":"main.go:165","event":"endUpdate","msg":"end of service update","service":"kube-system/kube-dns","ts":"2018-07-31T07:54:46.407779938Z"}
{"caller":"main.go:161","event":"startUpdate","msg":"start of service update","service":"kube-system/tiller-deploy","ts":"2018-07-31T07:54:46.407860145Z"}
{"caller":"main.go:165","event":"endUpdate","msg":"end of service update","service":"kube-system/tiller-deploy","ts":"2018-07-31T07:54:46.407968935Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T07:54:47.404343616Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T07:54:49.405861842Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T07:54:53.407348304Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T07:55:01.408463937Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T07:55:17.409711737Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T07:55:49.41158537Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T07:56:53.413155576Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T07:58:53.414734155Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:00:53.41654227Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:02:53.419298579Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:04:53.421149055Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:06:53.422661882Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:08:53.424418086Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:10:53.425863104Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:12:53.427645324Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:14:53.429351883Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:16:53.430865863Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:18:53.432576278Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:20:53.43486902Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:22:53.436549086Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:24:53.438325564Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:26:53.440530928Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:28:53.442194471Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:30:53.445269393Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:32:53.446861519Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:34:53.448631106Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:36:53.594613033Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:38:53.596642365Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:40:53.600442563Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:42:53.601686047Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:44:53.606791212Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:46:53.609513056Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:48:53.611173026Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:50:53.612722616Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:52:53.614301422Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:54:53.616509834Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:56:53.695517471Z"}
{"caller":"bgp.go:54","error":"dial \"192.168.1.1:179\": function not implemented","localASN":64513,"msg":"failed to connect to peer","op":"connect","peer":"192.168.1.1:179","peerASN":64512,"ts":"2018-07-31T08:58:53.697314044Z"}

@danderson

This comment has been minimized.

Copy link
Member

danderson commented Jul 31, 2018

Thanks for the report!

Are you using BGP passwords? That's the most complex piece of code in the BGP connection logic, and it needs to use a bunch of low-level syscall stuff. That's the highest probability for "not implemented"...

@FireDrunk

This comment has been minimized.

Copy link
Contributor

FireDrunk commented Jul 31, 2018

Nope, only thing 'complicated' about the setup is that it's ARM.

@danderson

This comment has been minimized.

Copy link
Member

danderson commented Aug 2, 2018

Okay, this is golang/go#25813 .

From that bug, the main fix is that we should use golang.org/x/sys/unix instead of the stdlib syscall package. I'll rename the bug to that.

@danderson danderson changed the title [Arm64] Function not implemented in bgp.go:54 Use x/sys/unix instead of syscall package to avoid an unimplemented arm64 function Aug 2, 2018

@danderson danderson added the bug label Aug 2, 2018

@danderson danderson added this to To Do in BGP mode via automation Aug 2, 2018

@danderson danderson self-assigned this Aug 2, 2018

@FireDrunk

This comment has been minimized.

Copy link
Contributor

FireDrunk commented Aug 2, 2018

Nice! Shout if you need it tested! (or if I can code something, but I'm probably not good enough :-) )

BGP mode automation moved this from To Do to Done Aug 2, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment