Thread Links | Date Links | ||||
---|---|---|---|---|---|
Thread Prev | Thread Next | Thread Index | Date Prev | Date Next | Date Index |
I
have been implementing the D2.2 IPS state machine and run into what I believe
is an issue with the new sequence # check. If I interpret the check correctly,
it looks like the first packet received with a new sequence # is processed
& then all future ones are suppressed (until the sequence # changes again). It
seems like this can cause a problem when attempting to unwrap a link (on a wrapping
ring), since a WTR node would require state 36 to fire to get out of the WTR
and the neighbor is the same as the original. The problem is when the packet
defined in state 36 arrives, but the WTR timer has not expired. Once the packet
has been processed, and the timer later expires, it is not possible to get into
state 36. Also,
state 40 is the only state that formally copies neighbor addresses. Since the
whole state machine banks on the neighbor MAC addresses being updated at the
right time, this should be in the state tables. It
seems as though ALL ClearXxxSideEdgeStatus() operations should remove a wrap.
That way, reception of IPS with STEER mode can switch the ring from wrapping to
steered immediately, and any current wrap conditions will get removed. Only the
wrap operation should be conditional on all nodes being able to wrap. Comments
are welcome, Regards, Michael
Allen |