No, it really was that subtle (Moreso than I'd thought...)

Turns out the device-view bug was one of those situations where procedural thinking and event-driven thinking were being applied separately and resulting in a collision.

(More detail than anyone cares about...)

Modems go out and find their identity, then send a message telling the rest of the world about their identity. CMTSs ask each modem in turn to find out their identity, and if the identity comes back as an already-known modem, they discard the new modem for the old one (updating it with the values returned from the new). The device hierarchy watches for modem-identity messages and records the modems associated with each grouping.

The problem is that the device hierarchy does that recording before the CMTS discards the new modem... so the new modem is registered, discarding the registration for the old modem... and when the new modem is discarded, nothing is left registered with the device hierarchy save those modems which didn't exist previously.


Comments are closed.


Pingbacks are closed.