Open miri64 opened 3 years ago
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions.
Ping?
Started working on that, got other responsibilities, project got staled, no idea which state it is now ^^" Still, would be nice to have!
The Issue
With https://github.com/RIOT-OS/RIOT/pull/14454 now merged, we have a total of 3
start_network.sh
scripts:getopt
to parse the command-line parameters), and finallyFor new communication protocols to allow for network communication between host and node such as PPP, the potential for further such scripts popping up, exists.
Moreover, for
ethos
there is also thesetup_network.sh
script used to setup testing environments only once which not only copies a lot from theethos
version of thestart_network.sh
script, but also has some overlap withtapsetup
.tapsetup
set's up TAP interfaces fornative
in a bridge and has the distinct advantage of supporting multiple platforms (Linux, Mac OSX, and FreeBSD) and being well tested on them.Another issue is that both
tapsetup
and thestart_network.sh
/setup_network.sh
scripts ofethos
destroy each others environments if not used carefully, which can lead to a lot of frustration when running host-interaction based tests, like thescapy
once on multiple boards includingnative
.Finally, it is quite annoying for testing, that the host-interaction between host and node can be quite different for
native
andethos
-based communication:tapsetup
creates the TAP interfaces in a bridge, so multiplenative
instances can communicate among each other and with the host,ethos
's script just create a bare TAP interface. For thenative
case the host needs to communicate over the bridge's interface, forethos
-based tests, over the TAP interface. The first is the case since interfaces in a bridge are only reachable from the bridge on the host machine, and not directly accessible for reception of packages.Proposed solution
start_network.sh
to usesetup_network.sh
which in turn usestapsetup
to create TAP interfaces including a bridge (or for SLIP and USB CDC-ECM: add respective interface to bridge).native
as a new uplink type into that script.start_network.sh
as terminal program for all applications that require it./tmp
) that keeps track of created interfaces and their associated bridges and make scripts idempotent.Issues solved as a side-effect
ethos
-based applications may not work on Arch Linux when used with rawethos
as the interface needs to brought up manually before starting the application (see https://github.com/RIOT-OS/RIOT/pull/13802): The outright usage ofstart_network.sh
sets the TAP interface toup
.ethos
/SLIP/CDC-ECM could communicate with each other over the same host.reset
work better withnative
.