Description

RPD_BGP_NEIGHBOR_STATE_CHANGED missing and BFD detection was slow on peer device

Symptoms

  • BGP was flapping because underlying reachability was broken as we could see ping probes were failing.
probe PROBE {
           test icmp {
               probe-type icmp-ping;
               target address a.b.c.d;
               probe-count 10;
               probe-interval 10;
               test-interval 10;
               data-size 64;
               destination-interface xe-4/0/1.301;
           }
       }
Nov 16 11:18:20.467 RE0 rmopd[11899]: PING_PROBE_FAILED: pingCtlOwnerIndex = PROBE, pingCtlTestName = icmp
Nov 16 11:18:20.467 RE0 rmopd[11899]: PING_PROBE_FAILED: pingCtlOwnerIndex = PROBE, pingCtlTestName = icmp
Nov 16 11:18:30.477 RE0 rmopd[11899]: PING_PROBE_FAILED: pingCtlOwnerIndex = PROBE, pingCtlTestName = icmp
Nov 16 11:18:40.487 RE0 rmopd[11899]: PING_PROBE_FAILED: pingCtlOwnerIndex = PROBE, pingCtlTestName = icmp
Nov 16 11:18:50.489 RE0 rmopd[11899]: PING_PROBE_FAILED: pingCtlOwnerIndex = PROBE, pingCtlTestName = icmp
Nov 16 11:19:00.492 RE0 rmopd[11899]: PING_PROBE_FAILED: pingCtlOwnerIndex = PROBE, pingCtlTestName = icmp
Nov 16 11:19:10.502 RE0 rmopd[11899]: PING_PROBE_FAILED: pingCtlOwnerIndex = PROBE, pingCtlTestName = icmp
Nov 16 11:19:20.504 RE0 rmopd[11899]: PING_TEST_FAILED: pingCtlOwnerIndex = PROBE, pingCtlTestName = icmp 

Nov 16 11:18:14.488 RE0 rpd[11895]: RPD_BGP_NEIGHBOR_STATE_CHANGED: BGP peer a.b.c.d (External AS 100) changed state from Established to Idle (event Stop) (instance MGMT)
Nov 16 11:30:04.669 RE0 rpd[11895]: RPD_BGP_NEIGHBOR_STATE_CHANGED: BGP peer a.b.c.d (External AS 100) changed state from EstabSync to Established (event RsyncAck) (instance MGMT)
  • The reason the BGP Neighbor was not logging transition change was because one neighbor was configured with log changes and other was not.
               group ABC {
                   import IM;
                   export EX;
                   peer-as 100;
                   bfd-liveness-detection {
                       minimum-interval 500;
                       multiplier 3;
                   }
                   neighbor a.b.c.d;
               }
               group XYZ {
                   metric-out igp;
                   export EX;
                   peer-as 100;
                   bfd-liveness-detection {
                       minimum-interval 500;
                       multiplier 3;
                   }
                   neighbor e.f.g.h;
               }
               log-updown;
           }
  • BFD session down seen from the log on Nov 16 11:18:14.488, but peer device doesn't detected, and it got holdtimer expired error after 1 min 15 sec.

    Nov 16 11:18:14.488 RE0 bfdd[11141]: BFDD_STATE_UP_TO_DOWN: BFD Session a.b.c.d (IFL 515) state Up -> Down LD/RD(1474/1090519057) Up time:15:18:32 Local diag: AdminDown Remote diag: None Reason: Received Upstream Destroy Session.
    Nov 16 11:18:14.490 RE0 bfdd[11141]: BFDD_STATE_UP_TO_DOWN: BFD Session e.f.g.h (IFL 514) state Up -> Down LD/RD(1475/1090519058) Up time:15:18:29 Local diag: AdminDown Remote diag: None Reason: Received Upstream Destroy Session.

Solution

  • Need to check the physical connectivity and ensure the connectivity is up without any issues.
  • BGP log up-down needs to be configured.
  • For BFD need to check the layer 1 connectivity problem and check if there is uni directional link failure.

Modification History

2024-01-21 : Article Created