Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
R
RIOT
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
cm-projects
RIOT
Commits
474c6d63
Commit
474c6d63
authored
9 years ago
by
Oleg Hahm
Committed by
Martine Lenders
9 years ago
Browse files
Options
Downloads
Patches
Plain Diff
gnrc_border_router: added a first draft for a README
parent
f6be1cee
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
examples/gnrc_border_router/README.md
+62
-0
62 additions, 0 deletions
examples/gnrc_border_router/README.md
with
62 additions
and
0 deletions
examples/gnrc_border_router/README.md
0 → 100644
+
62
−
0
View file @
474c6d63
# 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
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment