Skip to content
Branch: master
Go to file
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 

README.md

Milestones

  1. Connect two RIOT nodes over bridged TAP devices and talk UDP
  2. Connect one RIOT node to a Python UDP node and talk UDP
  3. Create a fuzzing UDP bridge that can drop, delay and reorder UDP datagrams

Resources

Prerequisites

The following was tested on Ubuntu 14.04. Install some tools

sudo apt-get install gcc-multilib bridge-utils

Clone the RIOT repo:

git clone https://github.com/RIOT-OS/RIOT.git
cd RIOT/examples/posix_sockets
make BOARD=native

Create two bridged TAP devices:

cd RIOT
./dist/tools/tapsetup/tapsetup -c 2

Sending over UDP between two RIOT nodes

Build the UDP example:

cd RIOT/examples/posix_sockets
make BOARD=native

This should produce ./bin/native/posix_sockets.elf.

In a first terminal, start node 1:

oberstet@thinkpad-t430s:~/scm/3rdparty/RIOT/examples/posix_sockets$ sudo make term
[sudo] password for oberstet:
/home/oberstet/scm/3rdparty/RIOT/examples/posix_sockets/bin/native/posix_sockets.elf tap0
RIOT native interrupts/signals initialized.
LED_RED_OFF
LED_GREEN_ON
RIOT native board initialized.
RIOT native hardware initialization complete.

main(): This is RIOT! (Version: 2016.03-devel-1699-g0aa0-thinkpad-t430s)
RIOT socket example application
All up, running the shell now
> help
help
Command              Description
---------------------------------------
udp                  send data over UDP and listen on UDP ports
reboot               Reboot the node
ps                   Prints information about running threads.
random_init          initializes the PRNG
random_get           returns 32 bit of pseudo randomness
ifconfig             Configure network interfaces
txtsnd               Sends a custom string as is over the link layer
ncache               manage neighbor cache by hand
routers              IPv6 default router list
> ifconfig
ifconfig
Iface  5   HWaddr: ce:c7:93:47:8a:94

           MTU:1500  HL:64
           Source address length: 6
           Link type: wired
           inet6 addr: ff02::1/128  scope: local [multicast]
           inet6 addr: fe80::ccc7:93ff:fe47:8a94/64  scope: local
           inet6 addr: ff02::1:ff47:8a94/128  scope: local [multicast]

> udp
udp
usage: udp [send|server]
> udp server start 9000
udp server start 9000
Success: started UDP server on port 9000
> ps
ps
    pid | name                 | state    Q | pri | stack ( used) | location
      1 | idle                 | pending  Q |  15 |  8192 ( 6240) | 0x8070180
      2 | main                 | running  Q |   7 | 12288 ( 9312) | 0x806d180
      3 | ipv6                 | bl rx    _ |   4 |  8192 ( 6240) | 0x807d3c0
      4 | udp                  | bl rx    _ |   5 |  8192 ( 6240) | 0x8081200
      5 | gnrc_netdev2_tap     | bl rx    _ |   4 |  8192 ( 6240) | 0x807b380
      6 | UDP server           | bl rx    _ |   6 |  8192 ( 6240) | 0x8079200
        | SUM                  |            |     | 53248 (40512)
> Received data: hello, world!

In a second terminal start node 2:

oberstet@thinkpad-t430s:~/scm/3rdparty/RIOT/examples/posix_sockets$ sudo PORT=tap1 make term
[sudo] password for oberstet:
/home/oberstet/scm/3rdparty/RIOT/examples/posix_sockets/bin/native/posix_sockets.elf tap1
RIOT native interrupts/signals initialized.
LED_RED_OFF
LED_GREEN_ON
RIOT native board initialized.
RIOT native hardware initialization complete.

main(): This is RIOT! (Version: 2016.03-devel-1699-g0aa0-thinkpad-t430s)
RIOT socket example application
All up, running the shell now
> udp send fe80::ccc7:93ff:fe47:8a94 9000 "hello, world!"
udp send fe80::ccc7:93ff:fe47:8a94 9000 "hello, world!"
Success: send 13 byte to fe80::ccc7:93ff:fe47:8a94:9000
>

About

No description, website, or topics provided.

Resources

License

Releases

No releases published

Languages

You can’t perform that action at this time.