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

tools/zep_dispatch: basic dual-stack support #17498

Merged
merged 1 commit into from
Jan 11, 2022

Conversation

benpicco
Copy link
Contributor

@benpicco benpicco commented Jan 10, 2022

Contribution description

Murdock does not support IPv6 on link-local interfaces.
Therefore in order to being able to use ZEP dispatcher in automated tests on CI, we have to add dual-stack support.

Testing procedure

Make ZEP dispatcher listen on an IPv4 address

zep_dispatch 127.0.0.1 17754

Patch the gnrc_networking example to use IPv4 for ZEP

diff --git a/examples/gnrc_networking/Makefile b/examples/gnrc_networking/Makefile
index fcdcc3fb55..784d1fcaa8 100644
--- a/examples/gnrc_networking/Makefile
+++ b/examples/gnrc_networking/Makefile
@@ -47,7 +47,7 @@ USE_ZEP ?= 0
 # set the ZEP port for native
 ZEP_PORT_BASE ?= 17754
 ifeq (1,$(USE_ZEP))
-  TERMFLAGS += -z [::1]:$(ZEP_PORT_BASE)
+  TERMFLAGS += -z 127.0.0.1:$(ZEP_PORT_BASE)
   USEMODULE += socket_zep
 endif

And start two native instances with ZEP:

make -C examples/gnrc_networking USE_ZEP=1 all term

They are detected by the dispatcher

entering loop…
adding [0.0.0.0]:46934
adding [0.0.0.0]:60951

And can ping each other

main(): This is RIOT! (Version: 2022.01-devel-1563-g1b71cc-zep_dispatch-ipv4)
RIOT network stack example application
All up, running the shell now
> ping ff02::1
12 bytes from fe80::6cea:621a:16db:37bd%7: icmp_seq=0 ttl=64 rssi=0 dBm time=0.615 ms
12 bytes from fe80::6cea:621a:16db:37bd%7: icmp_seq=1 ttl=64 rssi=0 dBm time=0.581 ms
12 bytes from fe80::6cea:621a:16db:37bd%7: icmp_seq=2 ttl=64 rssi=0 dBm time=0.428 ms

--- ff02::1 PING statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.428/0.541/0.615 ms

Issues/PRs references

split off #17353

Murdock does not support IPv6 on link-local interfaces.
Therefore in order to being able to use ZEP dispatcher in automated tests
on CI, we have to add dual-stack support.
@github-actions github-actions bot added the Area: tools Area: Supplementary tools label Jan 10, 2022
@benpicco benpicco added Impact: minor The PR is small in size and might only require a quick look of a knowledgeable reviewer Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation labels Jan 10, 2022
@aabadie aabadie added CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR CI: skip compile test If set, CI server will run only non-compile jobs, but no compile jobs or their dependent jobs labels Jan 10, 2022
Copy link
Contributor

@aabadie aabadie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The test procedure is working as expected and code changes look good.

ACK

@aabadie aabadie merged commit 59d9faa into RIOT-OS:master Jan 11, 2022
@benpicco benpicco deleted the zep_dispatch-ipv4 branch January 11, 2022 08:32
@fjmolinas fjmolinas added this to the Release 2022.01 milestone Jan 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: tools Area: Supplementary tools CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR CI: skip compile test If set, CI server will run only non-compile jobs, but no compile jobs or their dependent jobs Impact: minor The PR is small in size and might only require a quick look of a knowledgeable reviewer Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants