Hi, Colin,
On 1/24/2012 10:13 AM, Colin O'Flynn wrote:
Hello,
There is a difference between Class 1 and Class 2, and not that much
difference below Class 1.
Before I elaborate, let me explain where I'm getting my arguments from: I've
been involved in about four different main IPv6 stacks for low-power
devices, each stack on a different architecture.
Around Class 1, you can do "real" IPv6. But you need to be careful: you've
got enough SRAM to buffer a few IPv6 frames, such as when you are doing ND.
But you won't get that much more, and you'll have to keep your neighbor
table small. For example such are the constraints Contiki's uipv6 is
originally built for (it can go a lot smaller even too).
At Class 2, the extra 10K of breathing room means you can buffer several
frames along with having larger tables. This approach is taken in my own
IPv6 stack, (http://sourceforge.net/apps/trac/flexibleipfip/). The extra
code space gives you a lot more room for higher-level protocols, and
generally lets you do stuff that wastes a bit of code/SRAM but makes the
stack easier to work with.
I understand, but AFAICT an extra 10K isn't the issue. IMO, it would be
more useful to describe this in terms of numbers of packets and/or headers.
i.e. under 10 packets things get difficult. Substantially above that and
there's much more breathing room. That makes sense.
At that point, however, the class boundaries, IMO, would be (in terms of
RAM at least):
<<100 packets difficult
>>100 packets easy
Right around 100 packets it's arguable how hard/easy things are, based
on multiple connections, windowing, ND, etc.
Joe
_______________________________________________
Lwip mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/lwip