Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial import of tinydtls as a package #4308

Closed
wants to merge 14 commits into from

Conversation

OlegHahm
Copy link
Member

Particular the application needs some more work.

Depends on #4326 and #4327 to work.

Waiting for #4392.

@OlegHahm OlegHahm added Area: network Area: Networking State: WIP State: The PR is still work-in-progress and its code is not in its final presentable form yet Type: new feature The issue requests / The PR implemements a new feature for RIOT labels Nov 19, 2015
@OlegHahm OlegHahm added this to the Release 2015.12 milestone Nov 19, 2015
@kaspar030
Copy link
Contributor

nice! how big is it?

@OlegHahm
Copy link
Member Author

Still too big (additional ~30kB ROM). Haven't looked into optimization yet.

@kaspar030
Copy link
Contributor

30kB ROM is tolerable. Whats the RAM usage?

@@ -14,6 +14,7 @@
*/

#include <errno.h>
#include "assert.h"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this a stdlib header?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it refers to assert.h.

@OlegHahm
Copy link
Member Author

30kB ROM is tolerable. Whats the RAM usage?

RAM usage seems to be rather low (less than 100 bytes for tinydtls itself or so), but I would have to verify that. Maybe I'll find some time tonight.

@Kijewski
Copy link
Contributor

I only took a quick glance at the referenced library and I think there is room for improvements (read: reduced size at the expense of speed). E.g. in sha2/sha2.c I see some places that could use loop un-unrolling. Probably you could find a more optimized version of SHA-2 somewhere in the interwebs.

@OlegHahm
Copy link
Member Author

Requires #4324, #4325 and #4326 to work.

@OlegHahm OlegHahm added the State: waiting for other PR State: The PR requires another PR to be merged first label Nov 20, 2015
@OlegHahm
Copy link
Member Author

The client side seems to work with Linux based server, but the other direction or RIOT-to-RIOT still fails with DTLS_ALERT_UNEXPECTED_MESSAGE. @obgm, maybe you have an idea why this may happen? DTLS should be able to reorder packets that arrive in the wrong order, right?

@OlegHahm
Copy link
Member Author

@kaspar030, to finally answer your question: currently 264 bytes RAM for tinydtls itself, where 68 bytes are consumed by debug.o.

@OlegHahm OlegHahm force-pushed the tinydtls branch 2 times, most recently from 40ff03f to 9147916 Compare November 21, 2015 19:17
@OlegHahm
Copy link
Member Author

For now I have no idea how to build this with RIOT pthreads for native. @authmillenon, @LudwigKnuepfer, @Kijewski, any idea?

@miri64
Copy link
Member

miri64 commented Nov 22, 2015

I never used pthreads, but maybe a description of your problem might be helpful ;-)

@OlegHahm
Copy link
Member Author

Just try building the example without OlegHahm@1712acb.

@OlegHahm
Copy link
Member Author

#4327 is also required.

@OlegHahm OlegHahm removed the State: WIP State: The PR is still work-in-progress and its code is not in its final presentable form yet label Nov 22, 2015
@OlegHahm
Copy link
Member Author

No longer WIP.

@emmanuelsearch emmanuelsearch added the Community: Hack'n'ACK candidate This PR is a candidate for review and discussion during one of RIOT's monthly Hack'n'ACK parties label Nov 24, 2015
@OlegHahm OlegHahm added CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR and removed Community: Hack'n'ACK candidate This PR is a candidate for review and discussion during one of RIOT's monthly Hack'n'ACK parties State: waiting for other PR State: The PR requires another PR to be merged first labels Dec 2, 2015
@OlegHahm
Copy link
Member Author

OlegHahm commented Dec 2, 2015

This is ready for review. Any volunteers? @kaspar030, @cgundogan, @haukepetersen, @Kijewski, @emmanuelsearch, @authmillenon, @BytesGalore?

@cgundogan
Copy link
Member

setup: iotlab-m3 as dtlsserver and samr21-xpro as dtlsclient. I then did dtlsserver on the iotlab-m3 and dtls <ip> on the samr21-xpro. Then I got this mem fault

@OlegHahm OlegHahm modified the milestones: Release 2015.12, Release 2016.03 Dec 8, 2015
@OlegHahm OlegHahm assigned kYc0o and unassigned emmanuelsearch Jan 29, 2016
@OlegHahm
Copy link
Member Author

Superseded by #5395.

@OlegHahm OlegHahm closed this Apr 27, 2016
@miri64
Copy link
Member

miri64 commented Apr 27, 2016

The "problem" (if we want to see it like that) with #5395 is that it is only working with GNRC, right? So why close this one?

@OlegHahm
Copy link
Member Author

Because I'm not gonna continue to work on this anyway.

@OlegHahm
Copy link
Member Author

(And I think I basically advised @rfuentes to go for GNRC.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: network Area: Networking CI: needs squashing Commits in this PR need to be squashed; If set, CI systems will mark this PR as unmergable CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Type: new feature The issue requests / The PR implemements a new feature for RIOT
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants