diff --git a/CODEOWNERS b/CODEOWNERS index dbb1f6457d..27c1908b70 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -60,6 +60,8 @@ /doc/ @aabadie @jia200x +/dist/tools/sliptty/ @miri64 + /drivers/ad7746/ @leandrolanzieri /drivers/at24mac/ @benpicco /drivers/at86rf2xx/ @daniel-k @Hyungsin @jia200x @smlng @miri64 @@ -76,6 +78,7 @@ /drivers/pca9685/ @gschorcht /drivers/sht3x/ @gschorcht /drivers/si70xx/ @basilfx +/drivers/slipdev/ @miri64 /drivers/sx127x/ @aabadie @jia200x /drivers/ws281x/ @maribu /drivers/xbee/ @haukepetersen @miri64 @@ -125,6 +128,7 @@ /tests/emb6* @miri64 /tests/gnrc* @miri64 /tests/lwip* @miri64 +/tests/slip/ @miri64 /tests/unittests @miri64 /tests/*/tests/*.py @miri64 /tests/cpu_efm32_features/ @basilfx diff --git a/dist/tools/sliptty/start_network.sh b/dist/tools/sliptty/start_network.sh index e3fb70e95c..fad956f5d7 100755 --- a/dist/tools/sliptty/start_network.sh +++ b/dist/tools/sliptty/start_network.sh @@ -3,6 +3,7 @@ SLIPTTY_DIR="$(cd "$(dirname "$0")" && pwd -P)" UHCPD="$(cd "${SLIPTTY_DIR}/../uhcpd/bin" && pwd -P)/uhcpd" TUN=sl0 +TUN_GLB="fdea:dbee:f::1/64" UHCPD_PID= CREATED_IFACE=0 @@ -39,6 +40,7 @@ create_tun() { ${SUDO} sysctl -w net.ipv6.conf.${TUN}.accept_ra=2 ${SUDO} ip link set ${TUN} up || exit 1 ${SUDO} ip address add fe80::1/64 dev ${TUN} + ${SUDO} ip address add ${TUN_GLB} dev ${TUN} ${SUDO} ip neigh add fe80::2 dev ${TUN} ${SUDO} ip route add ${PREFIX} via fe80::2 dev ${TUN} ;; @@ -55,6 +57,16 @@ create_tun() { read _ ${SUDO} ifconfig ${TUN} up || exit 1 ${SUDO} ifconfig ${TUN} inet6 fe80::1 prefixlen 64 + TUN_GLB_ADDR=$(echo "${TUN_GLB}" | cut -d/ -f1) + TUN_GLB_LEN=$(echo "${TUN_GLB}" | cut -d/ -f2) + if [ -z "${TUN_GLB_ADDR}" ] || [ -z "${TUN_GLB_LEN}" ]; then + echo "TUN global address (-g) must be of format " \ + "/" >&2 + exit 1 + fi + ${SUDO} ifconfig ${TUN} inet6 fe80::1 prefixlen 64 + ${SUDO} ifconfig ${TUN} inet6 ${TUN_GLB_ADDR} prefixlen \ + ${TUN_GLB_LEN} ${SUDO} route -n add -interface ${TUN} -inet6 -prefixlen 64 \ ${PREFIX} fe80::2 || exit 1 ;; @@ -89,8 +101,8 @@ start_uhcpd() { } usage() { - echo "usage: $1 [-I ] serial [baudrate]" - echo "usage: $1 [-I ] tcp:host [port]" + echo "usage: $1 [-I ] [-e] [-g /] serial [baudrate]" + echo "usage: $1 [-I ] [-e] [-g /] tcp:host [port]" } trap "cleanup" INT QUIT TERM EXIT @@ -99,8 +111,9 @@ SLIP_ONLY=0 while getopts ehI: opt; do case ${opt} in - e) SLIP_ONLY=1;; + e) SLIP_ONLY=1; shift 1;; I) TUN=${OPTARG}; shift 2;; + g) TUN_GLB=${OPTARG}; shift 2;; h) usage $0; exit 0;; esac done diff --git a/examples/gnrc_border_router/Makefile.slip.conf b/examples/gnrc_border_router/Makefile.slip.conf index 2ca76f8b9b..7721ff6fb9 100644 --- a/examples/gnrc_border_router/Makefile.slip.conf +++ b/examples/gnrc_border_router/Makefile.slip.conf @@ -4,7 +4,11 @@ CFLAGS += -DSLIPDEV_PARAM_BAUDRATE=$(SLIP_BAUDRATE) STATIC_ROUTES ?= 1 +ifeq (1,$(USE_DHCPV6)) + SLIP_ONLY=-e +endif + # Configure terminal parameters TERMDEPS += sliptty TERMPROG ?= sudo sh $(RIOTTOOLS)/sliptty/start_network.sh -TERMFLAGS ?= $(IPV6_PREFIX) $(PORT) $(SLIP_BAUDRATE) +TERMFLAGS ?= $(SLIP_ONLY) $(IPV6_PREFIX) $(PORT) $(SLIP_BAUDRATE)