Commit 38f47210 authored by Ondrej Zajicek (work)'s avatar Ondrej Zajicek (work)
Browse files

Babel: Avoid batch seqno updates

parent 5ee69d11
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -760,6 +760,13 @@ babel_send_update_(struct babel_iface *ifa, btime changed, struct fib *rtable)
{
  struct babel_proto *p = ifa->proto;

  /* Update increase was requested */
  if (p->update_seqno_inc)
  {
    p->update_seqno++;
    p->update_seqno_inc = 0;
  }

  FIB_WALK(rtable, struct babel_entry, e)
  {
    struct babel_route *r = e->selected_out;
@@ -1299,8 +1306,8 @@ babel_handle_seqno_request(union babel_msg *m, struct babel_iface *ifa)
  /* Seqno is larger; check if we own the router id */
  if (msg->router_id == p->router_id)
  {
    /* Ours; update seqno and trigger global update */
    p->update_seqno++;
    /* Ours; seqno increase and trigger global update */
    p->update_seqno_inc = 1;
    babel_trigger_update(p);
  }
  else
+1 −0
Original line number Diff line number Diff line
@@ -139,6 +139,7 @@ struct babel_proto {
  list interfaces;			/* Interfaces we really know about (struct babel_iface) */
  u64 router_id;
  u16 update_seqno;			/* To be increased on request */
  u8 update_seqno_inc;			/* Request for update_seqno increase */
  u8 triggered;				/* For triggering global updates */

  slab *route_slab;