> >
> >When using the fragmentation mechanism described in
> >Section 5.3 of [RFC4944], any header that cannot fit within the first
> >fragment MUST NOT be compressed.
> >
> >
> >Any header == sum of headers.
> Maybe they mean to cover further application headers that can be compressed.
> Look at the draft GHC spec for instance.

But we don't support these right now and on the receiving side it should
be okay to check if a fragmented 6LoWPAN header is compressed or not.
It's simple to check on IPHC or IPv6 dispatch value after fragmentation.

> >
> >>are more than the MTU of the device sending the packet, for us 127 MTU of
> >>the 802.15.4 device.  ie  the sum of all the MAC headers/6 LoWPAN headers
> >>and the compressed IPv6 header > 127.
> >Okay, I agree. That makes more sense, but when could happen this?
> Not sure, what about ipv6 options??  again maybe they are future proofing
> for future compression algorithms like GHC.

I think they mean all header MAC + 6LoWPAN and NHC (next header
compression). The only one NHC which we support is UDP at the moment.

> >
> >Worst case in our supported:
> >
> >  802.15.4 MAC dataframe:    39 (fc + seq + address + sec + fcs)
> >  6LoWPAN Header :           43 (IPv6(40) + NHC(1) + IPHC(2))
> >  UDP Header :                        8 (like normal udp)
> >
> >  Total :                    90
> >
> >So in worst case we have 90 bytes at the moment. But we should handle
> >the receiving part correctly, if we receive some kind of this packets.
> >
> >If you look at [0] we always assume that a fragmented packet is
> >compressed and run process_data function (ugly name for this). and we
> >doesn't evaluate the DISPATCH value after fragmentation, which we should
> >do because a non compressed fragmented header has a dispatch value of
> >LOWPAN_DISPATCH_IPV6 which means it's not a compressed packet.
> >
> >
> >
> >
> >
> >I hacked a solution for this but need more error handling etc... it's
> >only a draw for a possible solution:
> >
> >We simple run lowpan_rcv if the packet is reassembled. This function
> >evaluate the dispatch value then.
> I have a patch already which refactors lowpan_rcv to be more rfc compliant
> (and renames process_data :) ) but it relies on an earlier patch which
> hasn't been accepted yet.  I'm away until Monday now so I'll send it then if
> everyone is ok that this is the way to go.

ok.

- Alex

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
Linux-zigbee-devel mailing list
Linux-zigbee-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-zigbee-devel

Reply via email to