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

Reply via email to