-
Notifications
You must be signed in to change notification settings - Fork 178
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
feat(compute): Use IPv4 link-local ethernet networking #1970
Conversation
Codecov Report
@@ Coverage Diff @@
## edge #1970 +/- ##
=========================================
- Coverage 32.16% 31.7% -0.47%
=========================================
Files 429 430 +1
Lines 6867 7217 +350
=========================================
+ Hits 2209 2288 +79
- Misses 4658 4929 +271
Continue to review full report at Codecov.
|
5eb042d
to
b48da97
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🐷
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🍜
Dockerfile
Outdated
@@ -19,8 +19,8 @@ ENV OT_UPDATE_PORT=34000 | |||
ENV OT_SERVER_UNIX_SOCKET_PATH=/tmp/aiohttp.sock | |||
|
|||
# Static IPv6 used on Ethernet interface for USB connectivity | |||
ENV ETHERNET_STATIC_IP=fd00:0000:cafe:fefe::1 | |||
ENV ETHERNET_NETWORK_PREFIX=fd00:0000:cafe:fefe:: | |||
ENV ETHERNET_STATIC_IP=fe80::3c68:f2a4:a5f8:58bf |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As per our discussion, this won't work right? Should we remove this line?
api-server-lib/Makefile
Outdated
@@ -4,7 +4,7 @@ SHELL := /bin/bash | |||
PATH := $(shell cd .. && yarn bin):$(PATH) | |||
|
|||
# make push host | |||
host ?= \[fd00:0:cafe:fefe::1\] | |||
host ?= \[fe80::3c68:f2a4:a5f8:58bf\] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rather than slot something in for host
that only works for one robot, can we remove this line (or comment it out). Passing host
in as a make
env var will still work without it
api/Makefile
Outdated
@@ -6,7 +6,7 @@ SHELL := /bin/bash | |||
PATH := $(shell cd .. && yarn bin):$(PATH) | |||
|
|||
# make push host | |||
host ?= \[fd00:0:cafe:fefe::1\] | |||
host ?= \[fe80::3c68:f2a4:a5f8:58bf\] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same comment about hardcoding this value
2a6db76
to
6a193b7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🥇 so pleased with the switch to IPv4
@@ -19,9 +19,8 @@ ENV OT_UPDATE_PORT=34000 | |||
ENV OT_SERVER_UNIX_SOCKET_PATH=/tmp/aiohttp.sock | |||
|
|||
# Static IPv6 used on Ethernet interface for USB connectivity |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Comment now out of date but whatever
@@ -46,7 +46,7 @@ http { | |||
root /usr/share/nginx/html; | |||
|
|||
client_max_body_size 100m; | |||
listen local-ethernet default_server ipv6only=on; | |||
listen [::] default_server ipv6only=on; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should ipv6only=on
still be set? Or is this server block only for ipv6?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That listen statement is ipv6 only. Can be ripped out later, but it's not the worst to leave the server listening on ipv6 also even though we're not currently using it
overview
OT2s have been having connectivity problems for ethernet connections. It appears that we were previously using a non-standard way of assigning an IPv6 link-local address. This PR does the following:
nmcli
instead ofip addr
to configure the port (nmcli has access to the host OS, ip addr does not)Relates to #1964
Outstanding changes (to be addressed in another PR that @mcous has already started):
make
tasks need to be updated to find the robot's address rather than relying on a single static addresschangelog
nmcli
instead ofip addr
to configure the portradvd
review requests
Tested on moon-moon and young-moon, robots showing up in the Run App as WiFi when they're connected over ethernet.