The Babel seqno wraps around when reaching its maximum value (UINT16_MAX).
When comparing seqnos, this has to be taken into account. Therefore,
plain number comparisons do not work.
/* Our own seqno might have changed, in which case we update the routes we
originate. */
- if ((e->router_id == p->router_id) && (e->seqno < p->update_seqno))
+ if ((e->router_id == p->router_id) && gt_mod64k(p->update_seqno, e->seqno))
{
e->seqno = p->update_seqno;
e->updated = current_time();