<div>Hi!</div>
<div> </div>
<div>Those are very exciting things you're taking about Dave and surely the way to go forward.</div>
<div> </div>
<div>But looking at cerowrt from my living room's perspective, if I may, I must say that most crucial is the stuff that reduces latency, bufferbloat; improves "snappiness"; provides flexibility and ease to using apps. By that I mean:</div>

<div>1) QoS, ACM and bufferbloat work - which is very good at the moment for me and I appreciate that very much!</div>
<div>1b) TCP FastOpen - indeed sounds exciting and but also Proportional Rate Reduction (<a href="http://lwn.net/Articles/458610/">http://lwn.net/Articles/458610/</a>)</div>
<div>2) UPNP / NATPMP / mDNSresponder - to help different apps reaching out - i am sort of losing grasp of which package does what, they seem to be intertwined (?) but cero has these packages currently (3.3.1-4) broken.</div>

<div>3) miniDLNA - DLNA is a good low-latency (?) / high-throughput use-case within the wireless (laptops, picture frames) and wired (TV, NAS) home network. Also minidlna package is broken too.</div>
<div>4) Some still sexy stuff for me: DNSSEC, IPv6</div>
<div><br>Regards,</div>
<div>Maciej</div>
<div> </div>
<div class="gmail_quote">On Tue, Apr 10, 2012 at 7:58 PM, Dave Taht <span dir="ltr"><<a href="mailto:dave.taht@gmail.com">dave.taht@gmail.com</a>></span> wrote:<br>
<blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">It occurs to me that jim and I haven't talked about one of the side<br>goals of cerowrt that much.<br><br>We spent a lot of time, early on, trying to find bits of network<br>
research that seemed promising, make them more usable, and more<br>available to a wider audience to play with, on something that cost 100<br>bucks...<br><br>Simply getting to where we had a reliable, well understood, base<br>
platform for real world day to day use - AND research - has taken all<br>year, and along the way we had to solve a lot of niggling problems.<br><br>So here's a list of extra stuff that we felt was potentially useful<br>
and interesting.<br><br>And until now, although we'd made the packages more or less work, we<br>didn't always build them - the build takes long enough as it is! - but<br>the intent was to make them available as options. I plan to make as<br>
many of these available as possible in the next builds, and<br>installabblevia the opkg utility.<br><br>To me, this is the interesting stuff! Getting to use - understand -<br>and leverage these fascinating new technologies could eat my entire<br>
life, and darn it, I have another build to do...<br><br>I'm always up to adding (or hearing about!) more. There's a huge list<br>of stuff on the onboard web pages we ship by default and think is<br>stable and are willing to support, but this is the bleeding edge stuff<br>
that we'd hoped people would try out in the longer run.<br><br>* HIP. Boeing uses this to control industrial machinery inside of<br>other peoples' lans. It holds great potential as  means to keep your<br>refrigerator updated and safe, as well as provide a useful abstraction<br>
for separating a host's location, from it's identity.<br>I'd hoped to try this for things like snmp monitoring.<br><br>regrettably openhip has a tough problem right now with puzzle<br>generation in the D1 crypto step on mips and while fascinated by<br>
problems like that normally, ENOTIME. I'm going to build it, merely to<br>find out if I can get someone else to connect to me on the same arch<br>and have puzzles fail or succeed...<br><br>* Kerberos Kerberos is one of the few universal single signon<br>
facilities that actually works. It's amazing how much nicer my life is<br>when I'm at a facility that has it on. I don't ever have to login to<br>anything. While I build the package, convincing the universe to go to<br>
kerberos seems difficult, but as an example of what could be done, if<br>we get fed up with dealing with capcha I wanted it out there.<br><br>* VPN technologies. IPsec is supposed to be an intrinsic part of any<br>ipv6 implemention. It usually is not, as it's rather thoroughly<br>
over-engineered (and underthought-out when it was developed), but<br>Strongswan has been part of cerowrt since day one. Convincing people<br>to try it (and get past the hurdles of cert generation, which is a<br>PITA) has been a problem.<br>
<br>I ran into so many problems trying to get it to work inside of<br>corporate firewalls that I gave up on it, but that doesn't mean it's a<br>problem on the edge in the home. Yet. But I do note that it will work<br>
much better over ipv6 in that you have nearly infinite address space<br>available, and it does, by default, work with ipv6.<br><br>I note that people keep trying to make tcp do everything, and it<br>can't. UDP based applications can be made work much better, with a<br>
crypto assist...<br><br>Frustrated with ipsec, I got openvpn to work, over both udp and tcp.<br>As it turned out, the only thing I could get through the firewall in<br>france was openvpn over tcp, and working through that was a profound,<br>
painful demonstration of the benefits of e2e connectivity over udp!<br><br>Both are built into cerowrt at present.<br><br>* TCP fast open. We've been tracking this work closely, but patches<br>are not going to land for a month or two more, and will need to bake a<br>
bit. You can look up this topic on the web - it looks promising to cut<br>10% or more of the typical latency of a short tcp connection.<br><br>* CCNX: Both jim and I are huge fans of this project, check it out.<br><br>Steve walker got previous version of ccnx to build, I updated to the<br>
latest release and broke it. :(<br><br>* Openflow: Stanford in particular is doing research into making<br>multiple switches act as one big switch, with a common configuration<br>language. It's interesting, especially if you think bridging can<br>
scale.<br><br>* Mesh routing protocols: While the default in cerowrt is babel, we've<br>been tracking the progress of quagga-re closely, which includes bgp,<br>ripng, ospf, ospfv6, isis, and babel. We also make available olsr, and<br>
xorp - which is roughly a superset of quagga, with additional support<br>for multicast routing that I haven't explored, because xorp is kind of<br>large. It is however widely used.<br><br>Regrettably the xorp package is mildly broken at present (just needs<br>
love from someone) and someone needs to fix it, if they care. At the<br>moment, quagga gets most of the other interesting protocols available,<br>so I don't care. That much.<br><br>* tcp-ledbat: ledbat is the underlying protocol of current bittorrent,<br>
and it has problems.TCP-ledbat is an implementation for tcp, and is<br>available by default.<br><br>* Test tools: One of the things I'm happiest about now is that the<br>netperf tool now has the ability to change socket priorities,<br>
tcp congestion control algorithms, and TOS/Diffserv settings on the<br>fly - for both sides of the test - via remote control.<br>Interestingly - Diffserv settings don't generally survive an ipv4<br>connection across the internet, ipv6 settings do.<br>
<br>There are innumerable test tools that we have available (shaperprobe,<br>ditg, lft traceroute, etc)<br><br>* Multicast: Multicast was a hot topic in the 90s and nearly dead now,<br>except for those few critical applications where it's absolutely<br>
required. (which is a broader category than most people think. Without<br>multicast dns, dhcp, and radvd, none of our networks would work at<br>all) Being able to use it again, at a higher level application, seems<br>like a useful avenue to explore in the context of a home. Available<br>
since the first cerowrt boot camp has been a version of multicast ftp<br>(uftp), pimd is on by default, mrd6 is there but too buggy to use...<br><br>That about covers all the sexy stuff that I can remember.<br><br>I've finished adding these all back in the build that I could, for my<br>
next attempt at a release late this week.<br><br>happy hacking.<br><span class="HOEnZb"><font color="#888888"><br>--<br>Dave Täht<br>SKYPE: davetaht<br>US Tel: <a href="tel:1-239-829-5608" value="+12398295608">1-239-829-5608</a><br>
<a href="http://www.bufferbloat.net/" target="_blank">http://www.bufferbloat.net</a><br>_______________________________________________<br>Cerowrt-devel mailing list<br><a href="mailto:Cerowrt-devel@lists.bufferbloat.net">Cerowrt-devel@lists.bufferbloat.net</a><br>
<a href="https://lists.bufferbloat.net/listinfo/cerowrt-devel" target="_blank">https://lists.bufferbloat.net/listinfo/cerowrt-devel</a><br></font></span></blockquote></div><br>