Samita Chakrabarti writes: 5. Section 9.5.1 For example, if the last received sequence number was 15, then messages with sequence numbers 0 through 15, as well as 32784 through 65535, would be considered less than or equal. ^^^^^ There is a typo--s/32784/32783 ------------------ Jari Arkko responds to Samita Chakrabarti: Wait.. something doesn't add up. The text says "last value and preceding 32767 values". That makes a total of 32768 values. Now 0...15 = 16 values and 32784...65535 is 32752. This is 32768 values in all. Am I missing something? ------------------ Samita Chakrabarti responds to Jari Arkko: My math is failing here We thought, for seq# 0-15, values 32767+16 = 32783...65535 should be considered less than/equal to the current seq number. But I don't care much which value it should be as long as we stick to one. BTW, what is the rational behind choosing the windowsize half of 65K--just curious (perhaps I should look through the issue index) ------------------ Ed Remmell responds to Jari Arkko: Your math looks good. ------------------ Brian Haley responds to Jari Arkko: Every implementation has been using a sequence # check similar to this: #define MIP6_SEQ_GT(s1, s2) ((short)((s1) - (s2)) > 0) which now no longer works with the example values in the draft, unless we add a "- 1". This check is very similar to the TCP sequence # check, which doesn't have a "- 1" either. ------------------ Jari Arkko responds to Brian Haley: Ok. But don't we have to say then that "last value and preceding 32768 values" in addition to changing the example value to 32783? ------------------ Brian Haley responds to Jari Arkko: I don't think so, just the 32783 change... Well, I'm getting myself more confused the more I look into this. If 0 (zero) is the current seqno, we should accept 1-32767 as valid, right (the next 32767) ? This would make the window 32768, including the current seqno of 0. We can just put back the macro example that used to be there so everyone will behave the same ------------------ Jari Arkko responds to Brian Haley: The text talks about the LE range for the window that includes the last value. And what I proposed was that the LE window would be the last item plus 32768 previous items, i.e. 32769 values. This leaves 32767 values for the GT range. So, in your example with 0 as the last received seqno we'd have: o valid (gt): 1-32767, a total of 32767 values o invalid (le): 32768-0, a total of 32769 values These numbers add up, and match the ones in your macro. Or? ------------------ Brian Haley responds to Jari Arkko: Yes, they seem to: 32768 > 0: 0 (false, bad seqno) 32767 > 0: 1 (true, good seqno) This is why I'm not a math teacher... ------------------ ------------------ ------------------ ------------------ ------------------ ------------------ ------------------ ------------------ ------------------ ------------------ ------------------