From 474c6d63c851a1d49f81a3ca824999b3d09f9a0e Mon Sep 17 00:00:00 2001
From: Oleg Hahm <oleg@hobbykeller.org>
Date: Fri, 18 Sep 2015 15:57:23 +0200
Subject: [PATCH] gnrc_border_router: added a first draft for a README

---
 examples/gnrc_border_router/README.md | 62 +++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)
 create mode 100644 examples/gnrc_border_router/README.md

diff --git a/examples/gnrc_border_router/README.md b/examples/gnrc_border_router/README.md
new file mode 100644
index 0000000000..2001f86a7b
--- /dev/null
+++ b/examples/gnrc_border_router/README.md
@@ -0,0 +1,62 @@
+# gnrc_networking_border_router example
+
+## Requirements
+
+In order to setup a 6LoWPAN border router on RIOT, you need either a board that
+offers an IPv6 capable network interface (e.g. the `encx24j600` Ethernet chip)
+or connect it over the serial interface to a Linux host and use the SLIP
+standard [1]. The example application in this folder assumes as a default to be
+run on an Atmel SAM R21 Xplained Pro evaluation board using an external UART
+adapter for the second serial interface. However, it is feasible to run the
+example on any RIOT supported platform that offers either more than one UART or
+be equipped with an IPv6 capable network device. In this case only the Makefile
+of this application has to be slightly modified (e.g. by replacing the line
+```
+USEMODULE += gnrc_slip
+```
+by something like
+```
+USEMODULE += encx24j600
+```
+and specify the target platform as `BOARD = myplatform`.
+In order to use the border router over SLIP, please check the `periph_conf.h`
+of the corresponding board and look out for the `UART_NUMOF` parameter. Its
+value has to be bigger than 1.
+
+## Configuration
+
+In order to connect a RIOT 6LoWPAN border router over SLIP you run a small
+program called tunslip (imported from Contiki) [2] on the Linux host. The
+program can be found in the `dist/tools/tunslip` folder and has to be compiled
+before first use (simple calling `make` should be enough). Now one can start
+the program, by calling something like:
+```bash
+cd dist/tools/tunslip
+make
+sudo ./tunslip6 affe::1/64 -t tun0 -s /dev/ttyUSB0
+```
+Assuming that `/dev/ttyUSB0` is the device descriptor for the (additional) UART
+interface of your RIOT board.
+
+On the RIOT side you have to configure the SLIP interface by configuring a
+corresponding IPv6 address, e.g.
+```
+ifconfig 6 add affe::2
+```
+and adding the SLIP interface to the neighbor cache (because Linux won't
+respond to neighbor solicitations on an interface without a link-layer address)
+by calling
+```
+ncache add 6 affe::1
+```
+After this you're basically done and should be able to ping between the border
+router and the outside world (assuming that the Linux host is properly
+forwarding your traffic).
+
+Additionally, you can configure IPv6 addresses on the 6LoWPAN interface for
+communication with other 6LoWPAN nodes. See also the `gnrc_networking` example
+for further help.
+
+[1] https://tools.ietf.org/html/rfc1055
+
+[2] https://github.com/contiki-os/contiki/blob/master/tools/tunslip.c
-- 
GitLab