[riot-users] Fwd: Re: Multihop Network

QUEVA Caroline 242137 Caroline.QUEVA at cea.fr
Tue Sep 29 14:15:58 CEST 2015


Hey Cenk, Martine and everyone,

Thanks all for your help,

I tried to follow Cenk's advice and use posix sockets to create communication between my nodes. I managed to print the results received by the server as expected, this is nice. :-)
But I still have a bug. I send a message to the udp server (root node of my DODAG) every 0.1 second, but only the 28 first messages are received, after that no more message is received. Do you know why ?

Martine, thanks for your help, I didn't try to use 'conn' for the moment because I was looking for a stable API.

Best,

Caroline QUEVA
Research Engineer at CEA-LIST
DRT/LIST/DACLE/LIALP
Laboratoire Infrastructures et Ateliers pour le Logiciel sur Puces

Commissariat à l’énergie atomique et aux énergies alternatives
MINATEC Campus | 17 rue des Martyrs | 38054 Grenoble Cedex 9
________________________________
De : users [users-bounces at lists.stillroot.org] de la part de Cenk Gündogan [cenk.guendogan at fu-berlin.de]
Envoyé : vendredi 25 septembre 2015 16:57
À : users at riot-os.org
Objet : [riot-users] Fwd: Re: Multihop Network

 Hello Caroline,

I hope you don't mind that I put this particular email back on the mailing list, because this might
be of interest to others, too.

While it is possible to do some extra tinkering on the `gnrc_networking` example in order
to receive the udp payload in the application's thread, I rather would suggest to look into
the posix sockets that are now merged into master. An example usage can be found here [1].

You have to adjust the Makefile of the example in [1] the following way:
* replace `gnrc_ipv6_default` with `gnrc_ipv6_router_default`
* add a new line `USEMODULE += gnrc_rpl`

This should suffice to get rpl into this new example. (Martine, correct me if I am wrong).

Best,
Cenk

[1] https://github.com/RIOT-OS/RIOT/tree/master/examples/posix_sockets


On 24.09.2015 15:33, QUEVA Caroline 242137 wrote:
Thanks for the answer, it seems to solve my problem.

Just another question, for now the udp server prints information from packet dump. Do you know how I can get the information in packet received (for example an integer) to print it or better to do calculations with it ?

For desvirt, I just modified xml files to create my own topology and use vnet commands (in desvirt) to define and start my grid network.
Then I start my nodes with "make term PORT=grid1_1_7_aX" with grid1_1_7 the name of my xml file (in attachment) and X from 0 to n (with n the number of total nodes).
I didn't hear about problem using desvirt with RIOT.

Caroline QUEVA
Research Engineer at CEA-LIST
DRT/LIST/DACLE/LIALP
Laboratoire Infrastructures et Ateliers pour le Logiciel sur Puces

Commissariat à l’énergie atomique et aux énergies alternatives
MINATEC Campus | 17 rue des Martyrs | 38054 Grenoble Cedex 9
________________________________
De : Cenk Gündogan [cenk.guendogan at fu-berlin.de<mailto:cenk.guendogan at fu-berlin.de>]
Envoyé : jeudi 24 septembre 2015 15:19
À : QUEVA Caroline 242137
Objet : Re: [riot-users] Multihop Network

Hey Caroline,

I can guess:
Can you try using a global IPv6 address for the root node?
e.g. by executing: `ifconfig <interface_id> 2001:db8::1` (or any other global IPv6 address you desire) in the shell of the root node.
You have to replace <interface_id> with the interface id you see when you type `ifconfig` without parameters.

Rationale:
Dodag-IDs must be global IPv6 addresses or unique local IPv6 addresses.
So using any address with a link-local prefix like `fe80...` will not work.

So when starting the RPL dodag on the root, you use the global IPv6 address instead:
`rpl root 1 2001:db8::1`.

I hope this solves the problem.

By the way, you mentioned desvirt. Can I ask you how you are using desvirt?
Because AFAIK, desvirt is not able to run the RIOT native port right now.
I made a pull request here [1] and here [2]. Are you using any of these patches?
Would be interesting to know (:

Best,
Cenk

[1] https://github.com/RIOT-OS/RIOT/pull/3908
[2] https://github.com/des-testbed/desvirt/pull/17

On 24.09.2015 15:04, QUEVA Caroline 242137 wrote:
Hej Cenk,

Thanks again for your answer,

I updated my branch, I am currently on the last version of the master branch and it's still not working.

To explain in more details, I created a network using desvirt tool with three nodes.
The first node is the dodag's root with the address fe80::8c6f:cdff:fe13:1 and runs the UDP server.
My second node is connected to the root, has the address fe80::8c6f:cdff:fe13:cb2a and can send message to the root via udp.
The third node is not connected to the root but it is connected to the second node, and should be able to send messages to the root via the second node.

This is what I get on the third node :
> fibroute
fibroute
Destination                             Flags  Next Hop                                Flags  Expires          Interface
::                                      0x0003 fe80::8c6f:cdff:fe13:cb2a               0x0003 98.4643706
> udp send fe80::947d:6ff:fe40:1 8088 hello
udp send fe80::947d:6ff:fe40:1 8088 hello
Success: send 5 byte to [fe80::947d:6ff:fe40:1]:8088

On the second node I have this :
fibroute
Destination                                        Flags  Next Hop                                Flags  Expires          Interface
::                                                       0x0003 fe80::947d:6ff:fe40:b46d                0x0003 74.4523616
fe80::2878:adff:fe49:c384               0x0003 fe80::2878:adff:fe49:c384               0x0003 68.3986206

On the root node I have this :
> fibroute
fibroute
Destination                                      Flags  Next Hop                                Flags  Expires          Interface
fe80::8c6f:cdff:fe13:cb2a                0x0003 fe80::8c6f:cdff:fe13:cb2a               0x0003 117.677536
fe80::2878:adff:fe49:c384               0x0003 fe80::8c6f:cdff:fe13:cb2a               0x0003 112.132266
And no packet is dumped as expected...

Do you know what's wrong ?

Best,
Caroline

Caroline QUEVA
Research Engineer at CEA-LIST
DRT/LIST/DACLE/LIALP
Laboratoire Infrastructures et Ateliers pour le Logiciel sur Puces

Commissariat à l’énergie atomique et aux énergies alternatives
MINATEC Campus | 17 rue des Martyrs | 38054 Grenoble Cedex 9
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://riot-os.org/pipermail/users/attachments/20150929/58d3e98e/attachment-0003.html>


More information about the users mailing list