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

RDNSS support, again #999

Merged
merged 5 commits into from Mar 30, 2015

Conversation

adamdunkels
Copy link
Member

This is an update of #643, which introduces a nice new API for the DNS resolver library and adds support for RDNSS. Unfortunately the original pull request failed on some platforms as the code was not optimized for the case when there was only one DNS server configured.

This updated pull request adds a special-case optimization for when we only have one DNS server which makes the code smaller in that situation.

Ping @lebrush and @oliverschmidt.

Víctor Ariño and others added 5 commits January 9, 2015 09:44
Adds a common in contiki nameserver pool for handling name resolution
servers. This will allow in following commit to use RDNSS messages
within RA.
Sends DNS information within RA messages (if enabled)
On the same commit the src have been uncrustified and some typo
fixes as well as includes missing.
… servers, but only a single server variable. This saves space.
@adamdunkels adamdunkels mentioned this pull request Mar 24, 2015
@oliverschmidt
Copy link
Contributor

Hi,

I see two perspectives here:

  1. More or less every byte added to the Contiki core requires adjustments in the Contiki apps for the retro targets - either by reducing buffer sizes or removing functionality. Having the Travis builds fail only means that the issue is a major one. The apps all use heap memory so only actually running the apps shows if there's still enough memory available.
  2. Designing Contiki development around the retro targets for sure means to wag the dog. In fact I wasn't the driver behind adding retro builds to Travis in the first place.

Regards,
Oliver

@adamdunkels
Copy link
Member Author

I was the one who wanted to have the cc65 builds in travis. I think it is very useful to have them there to avoid the system becoming too large. It isn't just the 6502 platforms where we need to fight against tight memory constraints, even in 2015. This specific pull request actually shows how useful it is to have them there: without cc65, the memory optimization in this pull request wouldn't have happened which would have caused memory problems on other platforms.

@oliverschmidt
Copy link
Contributor

Hi Adam,

Nice that you explicitly state it this way :-) Sometimes the GH threads feel a bit like it would be just for my personal benefit to keep memory consumption down...

Regards,
Oliver

@adamdunkels
Copy link
Member Author

This morning we had a build fail with an overflow of 3 bytes of RAM - on a modern state-of-the-art wireless system-on-a-chip. So keeping the memory consumption low still is pretty useful.

@lebrush
Copy link
Contributor

lebrush commented Mar 30, 2015

Hey! Cool for the memory fixtures for smallest platforms. I also think is a good idea to keep memory footprint to a minimum. However, sometimes there's significant trade-off between code complexity (#if #else everywhere) and memory footprint. In any case, look good to me 👍

@nvt
Copy link
Member

nvt commented Mar 30, 2015

👍

nvt pushed a commit that referenced this pull request Mar 30, 2015
@nvt nvt merged commit 8f50d97 into contiki-os:master Mar 30, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants