Network Stack Task Force

Dear RIOTers,

we recently came up with the idea to create task forces around special topics in RIOT to concentrate and speed up the development of key parts. The idea is to bring all people that are interested in this topic and are prepared to spend some on it together in a (virtual) room and start out by a 2-3 day workshop style event. This first period should be used to discuss the topic in detail to bring everyone involved on the same page, to come up with a clear architecture, and define interfaces and sub-modules. The hope is, that we can go into a very productive implementing phase afterward and speed up the overall development.

The first key topic we want to try out this concept is the ongoing re-structuring of the network stack. I propose the following plan for this: - we use next week to coordinate (who wants to join, what is the current state, what are the most pressing open questions) - we block 2 days in the last week of January for a (virtual) white-board centered workshop

For the workshop I propose January 27-28, but its just a proposal...

Regarding technical aspects that are currently under (heavy) construction or need to be clarified (@Martine: please hit me if I have it completely wrong here...): - optimizations to the netdev interface - optimizations to the netapi interface - analysis of possible data loss using netapi in its current state - how to pass data/headers/packets around the stack - possible generalization and/or quotas in the packet buffer - concepts of global protocol/module list and global protocol handler registry - API definition for the neighbor table - API definition for the forwarding table - possible join for neighbor and forwarding table - hooks for various routing protocols - ???

This is just a initial list of topics to be further discussed - I hope we can detail it out over the next week to have a good idea about the questions that need time for discussion!

So concluding: - who is interested (and/or) wiling to joing this effort? - are there any ideas on the concrete organization of such a task-force? - are there technical aspects I forgot?

Looking forward to your feedback!

Cheers, Hauke

I’m of course on board.

Hey Hauke!

For the workshop I propose January 27-28, but its just a proposal...

Keep in mind, that the next H&A is scheduled for January 27.

Cheers, Oleg

Hi,

Dear RIOTers,

we recently came up with the idea to create task forces around special topics in RIOT to concentrate and speed up the development of key parts. The idea is to bring all people that are interested in this topic and are prepared to spend some on it together in a (virtual) room and start out by a 2-3 day workshop style event. This first period should be used to discuss the topic in detail to bring everyone involved on the same page, to come up with a clear architecture, and define interfaces and sub-modules. The hope is, that we can go into a very productive implementing phase afterward and speed up the overall development.

The first key topic we want to try out this concept is the ongoing re-structuring of the network stack. I propose the following plan for this: - we use next week to coordinate (who wants to join, what is the current state, what are the most pressing open questions) - we block 2 days in the last week of January for a (virtual) white-board centered workshop

For the workshop I propose January 27-28, but its just a proposal...

Regarding technical aspects that are currently under (heavy) construction or need to be clarified (@Martine: please hit me if I have it completely wrong here...): - optimizations to the netdev interface - optimizations to the netapi interface - analysis of possible data loss using netapi in its current state - how to pass data/headers/packets around the stack - possible generalization and/or quotas in the packet buffer - concepts of global protocol/module list and global protocol handler registry - API definition for the neighbor table - API definition for the forwarding table - possible join for neighbor and forwarding table - hooks for various routing protocols - ???

This is just a initial list of topics to be further discussed - I hope we can detail it out over the next week to have a good idea about the questions that need time for discussion!

So concluding: - who is interested (and/or) wiling to joing this effort?

I don't want to impose, but I'd love to attend! Unfortunately, my last exam is on the 29th of january. :frowning: But in case you decide to meet after that, count me in, if that's okay.

Cheers, Lotte

Hi!

- who is interested (and/or) wiling to joing this effort?

Count me in.

- are there any ideas on the concrete organization of such a task-force?

I think this depends on the size and distribution of the group.

- are there technical aspects I forgot?

Did one of your proposed aspects already cover dead lock avoidance and priority inversion?

Cheers, Oleg

Hi,

Of course I did not. :slight_smile: But I think thats a perfect fit! Cheers, Hauke

Hey!

>>For the workshop I propose January 27-28, but its just a proposal... >Keep in mind, that the next H&A is scheduled for January 27. Of course I did not. :slight_smile: But I think thats a perfect fit!

I'm not so convinced about that. To my understanding the H&A is mostly about speeding up the merge of existing code into RIOT, the task force is about concepts and designs. I think it would either decrease productivity of the H&A event by to many people discussing (instead of reviewing and hacking), or set an early deadline for the task force event on the first day. Also, if we start heavy brainstorming and discussing about the network stack in the morning, I'm pretty sure that my mind won't be very fresh for the H&A.

Cheers, Oleg

that's great, I take this day off work, can be there at any time...

Is it going to be in cbase or somewhere else?

Christian

Hi Martine!

Making the packet buffer thread-safe as possible could also be a topic

Isn't the packet buffer thread-safe? (And isn't this a core requirement for this module?)

Cheers, Oleg

Hi!

Is it going to be in cbase or somewhere else?

It's gonna be C-Base again.

Cheers, Oleg

Hi,

Hi Oleg,

Hi!

I also would like to join this virtual room. I don’t have deep knowledge about the riot network stack(s)… yet :slight_smile:

hf Jan

Hello,

i'm interested joining this task force. My time is very limited so i can do only limited work on this.

- are there technical aspects I forgot?

* Encryption of every data send * Joining new noes into an encrypted network * What about over the air firmware upgrade? This routine must be small including minimum network functionality and signature checking. * Frequency change/hopping * Energy optimization for battery powered nodes

Regards,

Frank

The esp8266's are quite interesting. I know this is LUA code but it shows how to control a GPIO on a web server on another module.

-- Send a Web Instruction to another module on keypress count = 0 delay = 0 buttonstate = false gpio.mode(4,gpio.INT)

function transmit_msg()     sk=net.createConnection(net.TCP, 0)     sk:on("receive", function(sck, c) print(c) end )     sk:on("connection", function(sck)         if buttonstate then             sk:send("GET index.html/?pin=OFF HTTP/1.0")             print("Off Sent")         else             sk:send("GET index.html/?pin=ON HTTP/1.0")             print("On Sent")             end         buttonstate = not buttonstate     end )     sk:connect(80,"192.168.0.13")     tmr.delay(1000000)     end

function buttonpress(level)     x = tmr.now()     if x > delay then        delay = tmr.now()+50000        count = count + 1        print(".")        transmit_msg()        end     end

gpio.trig(4, "down",buttonpress)

Hi,

I would also like to attend.

Best regards, Martin

Hi,

I would like to attend. I also prefer separate days for Hack'n'ACK and this date.

Best, Peter

Hi, I would also like to attend. I’m also of the opinion that Hack’n’Ack should be a separated event from this taskforce meeting. However, maybe 1,5 days could be enough for the workshop, and this would mean that 27th +28th until Hack’n’Ack starts could still fit? Cheers, Emmanuel

Hi,

I’d also like to attend. I’d prefer a date without H&A in-between (as these tend to end late at night, which would make it hard to start with NSTF early again) but wouldn’t object if there is a majority in favour of this.

Best, Thomas

Hi Thomas, damn, your right, I misread the dates. So Hack’nAck would be “sandwiched” inside the workshop, and I guess that’s not great. How about 28-29, or 29-30, then? Best Emmanuel