reply to a query is called an update UPD packet. It contains the height quintuple of the neighbour node answering to a query and the destination field which tells for which destination the update was meant for. A node receiving a QRY packet does one of the following: If its route required flag is set, this means that it doesn't have to forward the QRY, because it has itself already issued a QRY for the destination, but better discard it to prevent message overhead. If the node has no downstream links and the route-required flag was not set, it sets its route-required flag and rebroadcasts the QRY message. A node receiving an update packet updates the height value of its neighbour in the table and takes one of the following actions: If the reflection bit of the neighbours height is not set and its route required flag is set it sets its height for the destination to that of its neighbours but increments d by one. It then deletes the RR flag and sends an UPD message to the neighbours, so they may route through it. If the neighbours route is not valid (which is indicated by the reflection bit) or the RR flag was unset, the node only updates the entry of the neighbours node in its table. Each node maintains a neighbour table containing the height of the neighbour nodes. Initially the height of all the nodes is NULL. (This is not zero "0" but NULL "-") so their quintuple is (-,-,-,-,i). The height of a destination neighbour is (0,0,0,0,dest). Node C requires a route, so it broadcasts a QRY. The QRY propagates until it hits a node which has a route to the destination, this node then sends an UPD message. The UPD is also propagated, while node E sends a new UPD. Route Maintenance Route maintenance in TORA has five different cases according to the flowchart below: Example B still has a downstream link to the destination so no action is needed partition detection and route erasure he links D-F and E-F reverse. Node D propagates the reference level. Node E now "reflects" the reference level. The reference heights of the neighbours are equal with the reflection bit not set. E sets the reflection bit to indicate the reflection and sets its offset to 0. Node C just propagates the new reference level. Node A now