Developer Tools for UPnP Technologies

I just went and checked out our Intel forums on the UPnP tools. I had not looked at them in years and there where a bunch of common questions I wanted to answer in a blog. First, the "Intel Tools for UPnP Technologies" have been replaced with the "Developer Tools for UPnP Technologies".


One of the common question about the old tools where around licensing. The new tools are released under the Apache 2.0 license which is a widely used license. This new license covers everything, both C and C# code and provided and generated code. In fact, the code generator itself is under the open source license. Of course you guys need to read the license, but in general it should allow people to put the this code in commercial products, etc.

Source Code

Another common question was about source code availability. In the past the C# stack and tools where not available in source form and so, lots of people manage to still use "UPnP.dll". In this new release everything is available with source. This includes all the tools (Device Spy, Device Sniffer, etc.) but also the code generator (Device Builder). Most of it is unchanged since the last version.


Ok, so what is different? Most of the tools are the same as before but in this new release I added some IPv6 support in the C# stack. I have became a big fan of IPv6 especially for the type of "link local" usages. UPnP and IPv6 are a perfect match. I also improved Device Builder, it used to call out to native code to perform some operations and I simply recoded everything in C#. It's faster and just much easier to deal with.


I can already hear people asking about support. Well, the new tools are not going to have any formal support. Certainly no formal support from Intel so, no trying to contact Intel support. Still, now that it's fully open source it should be easy to get community support. I will of course try to pitch in. I am working on the mesh networking stuff on the same web site.


Short term I have been working on adding IPv6 support into the C microstack. This is the stack that runs on embedded devices, etc. I have been working on a peer-to-peer agent (mesh project) and in doing that have improved the C microstack a lot in the last months. I am now rolling back the improvements into the Device Builder so that people can generate small IPv4/IPv6 stacks. The other improvement I would like to make is to be able to run the three core tools (Device Sniffer, Device Spy and Device Builder) on MONO. This would make the tools executable on Ubuntu, etc.

Ok, that is it for now. I am counting on people to give feedback. The old forums are a good place to post.

For more complete information about compiler optimizations, see our Optimization Notice.