Paul,

I think Donald is out for a week vacation…

On 30 Jun 2016, at 7:36, Paul Jakma wrote:

Hi,

Was it this patch that Martin said caused issues for his CI/testing? (There's a few revisions/resends).

I think so, but would need to go back to my old emails (but I don’t think it’s relevant for
the question below)

If so, should we keep the jitter? (It'll just go between 1 and 0 then I think).

I would vote for no. I think that was sensible in the past, but today it gets into the way of everyone wanting fast convergence. And yes, it makes my testing more painful (but that shouldn’t
count if there is a real use case/need for it).

Curious what everyone else thinks.

- Martin


regards,

Paul

On Fri, 11 Dec 2015, Donald Sharp wrote:

From: Daniel Walton <[email protected]>

Reduce the amount of time it takes to bring up a large number of peers

Signed-off-by: Daniel Walton <[email protected]>
---
bgpd/bgp_fsm.c | 14 ++------------
bgpd/bgpd.h    |  2 +-
2 files changed, 3 insertions(+), 13 deletions(-)

diff --git a/bgpd/bgp_fsm.c b/bgpd/bgp_fsm.c
index 0d38bfc..4fbd639 100644
--- a/bgpd/bgp_fsm.c
+++ b/bgpd/bgp_fsm.c
@@ -63,13 +63,6 @@ static int bgp_keepalive_timer (struct thread *);
/* BGP FSM functions. */
static int bgp_start (struct peer *);

-/* BGP start timer jitter. */
-static int
-bgp_start_jitter (int time)
-{
-  return ((random () % (time + 1)) - (time / 2));
-}
-
static void
peer_xfer_stats (struct peer *peer_dst, struct peer *peer_src)
{
@@ -178,8 +171,6 @@ peer_xfer_conn(struct peer *from_peer)
void
bgp_timer_set (struct peer *peer)
{
-  int jitter = 0;
-
  switch (peer->status)
    {
    case Idle:
@@ -192,9 +183,8 @@ bgp_timer_set (struct peer *peer)
        }
      else
        {
-         jitter = bgp_start_jitter (peer->v_start);
          BGP_TIMER_ON (peer->t_start, bgp_start_timer,
-                       peer->v_start + jitter);
+                       peer->v_start);
        }
      BGP_TIMER_OFF (peer->t_connect);
      BGP_TIMER_OFF (peer->t_holdtime);
@@ -203,7 +193,7 @@ bgp_timer_set (struct peer *peer)
      break;

    case Connect:
-      /* After start timer is expired, the peer moves to Connnect
+      /* After start timer is expired, the peer moves to Connect
         status.  Make sure start timer is off and connect timer is
         on. */
      BGP_TIMER_OFF (peer->t_start);
diff --git a/bgpd/bgpd.h b/bgpd/bgpd.h
index 82b4efc..d58c7bf 100644
--- a/bgpd/bgpd.h
+++ b/bgpd/bgpd.h
@@ -786,7 +786,7 @@ struct bgp_nlri
#define BGP_EVENTS_MAX                          15

/* BGP timers default value.  */
-#define BGP_INIT_START_TIMER                     5
+#define BGP_INIT_START_TIMER                     1
#define BGP_DEFAULT_HOLDTIME                     9
#define BGP_DEFAULT_KEEPALIVE                    3
#define BGP_DEFAULT_EBGP_ROUTEADV               30


--
Paul Jakma | [email protected] | @pjakma | Key ID: 0xD86BF79464A2FF6A
Fortune:
Eloquence is logic on fire.

_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to