Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-86828

FRR bgp session not recovered due to incorect error no AF activated for peer

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done-Errata
    • Icon: Critical Critical
    • rhel-9.4.z
    • rhel-9.4.z
    • frr
    • frr-8.5.3-4.el9_4.5
    • Yes
    • Important
    • rhel-se-cs-infra-services
    • ssg_core_services
    • 3
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • Unspecified
    • Unspecified
    • Unspecified
    • None

      Frr bgp session in Active forever:

       

      BGP neighbor on eth5: 100.65.0.10, remote AS 0, local AS 64999, internal link  
        Local Role: undefined                                                        
        Remote Role: undefined                                                       
       Member of peer-group downlink for session parameters                          
        BGP version 4, remote router ID 0.0.0.0, local router ID 192.168.111.36      
        BGP state = Active                                                           
        Last read 15:16:15, Last write never    

      ...

       

      Bfd session don't exist or in down status.

      [root@r0-compute-0 ~]# podman exec -t -i -u root frr vtysh -c "show bfd peers brief"
      Session count: 2
      SessionId  LocalAddress                             PeerAddress                             Status         
      =========  ============                             ===========                             ======         
      3240854396 100.64.0.2                               100.64.0.1                              down           
      1888762429 100.65.0.2                               100.65.0.1                              down           

      frr version broken:

      frr-8.5.3-4.el9_4.2.x86_64

      Previous version working:

      frr-8.5.3-4.el9.x86_64

      Error detected with BGP + BFD. Only BGP no error. We suspect from this patch:

      https://patch-diff.githubusercontent.com/raw/FRRouting/frr/pull/18153.patch

      and we supect same issue that this reported upstream:

      https://github.com/FRRouting/frr/issues/18631

      We've tested with frr version frr-10.3-01.el9.x86_64 and no error.

       

      Log errors:

      ...

      2025/04/09 12:49:54 BGP: [JFFAN-DEGED] eth4 sending OPEN, version 4, my as 64999, holdtime 180, id 192.168.111.36
      2025/04/09 12:49:54 BGP: [T91AW-FGMHW] bgp_fsm_change_status : vrf default(0), Status: OpenSent established_peers 3
      2025/04/09 12:49:54 BGP: [HKWM3-ZC5QP] eth4 fd 25 went from Connect to OpenSent
      2025/04/09 12:49:54 BGP: [H4B4J-DCW2R][EC 33554455] eth4 [Error] bgp_read_packet error: Connection reset by peer
      2025/04/09 12:49:54 BGP: [NTX3S-9Q8YV] eth4 [Event] BGP error 7 on fd 25
      2025/04/09 12:49:54 BGP: [ZWCSR-M7FG9] eth4 [FSM] TCP_fatal_error (OpenSent->Active), fd 25
      2025/04/09 12:49:54 BGP: [T91AW-FGMHW] bgp_fsm_change_status : vrf default(0), Status: Active established_peers 3
      2025/04/09 12:49:54 BGP: [HKWM3-ZC5QP] eth4 fd -1 went from OpenSent to Active

      ....

       

      .......

      incoming conn rejected - no AF activated for peer

      .....

       

      how to reproduce:

       

      2 frr router connected with bgp and bfd and restart or link down/up.

       

      conf examples:

       

      R1

      hostname spine-0
      log file /var/log/frr/frr.log
      service integrated-vtysh-config
      line vty
      frr version 7.0

      debug bfd peer
      debug bfd network
      debug bfd zebra

      debug bgp graceful-restart
      debug bgp neighbor-events
      debug bgp updates
      debug bgp update-groups

      router bgp 65000
        bgp log-neighbor-changes
        bgp graceful-shutdown

        neighbor downlink peer-group
        neighbor downlink remote-as external
        neighbor downlink bfd
        neighbor downlink bfd profile tripleo
        ! neighbor downlink capability extended-nexthop
        neighbor eth1 interface peer-group downlink

        neighbor uplink peer-group
        neighbor uplink remote-as internal
        neighbor uplink bfd
        neighbor uplink bfd profile tripleo
        ! neighbor uplink capability extended-nexthop
        neighbor eth7 interface peer-group uplink

        address-family ipv4 unicast
          redistribute connected
          neighbor downlink default-originate
          neighbor downlink prefix-list only-host-prefixes in
          neighbor uplink prefix-list only-default-host-prefixes in
          neighbor uplink next-hop-self
        exit-address-family

        address-family ipv6 unicast
          redistribute connected
          neighbor downlink activate
          neighbor downlink default-originate
          neighbor downlink prefix-list only-host-prefixes in
          neighbor uplink activate
          neighbor uplink prefix-list only-default-host-prefixes in
        exit-address-family

        address-family l2vpn evpn
          neighbor downlink activate
          neighbor uplink activate
        exit-address-family

      ip prefix-list only-default-host-prefixes permit 0.0.0.0/0
      ip prefix-list only-default-host-prefixes permit 0.0.0.0/0 ge 32
      ip prefix-list only-host-prefixes permit 0.0.0.0/0 ge 32

      ipv6 prefix-list only-default-host-prefixes permit ::/0
      ipv6 prefix-list only-default-host-prefixes permit ::/0 ge 128
      ipv6 prefix-list only-host-prefixes permit ::/0 ge 128

      ip nht resolve-via-default

      bfd
        profile tripleo
          detect-multiplier 10
          transmit-interval 500
          receive-interval 500

       

      R2

       

      hostname leaf-0                              
      log file /var/log/frr/frr.log                
      service integrated-vtysh-config              
      line vty                                     
      frr version 7.0
                                                                                     
      debug bfd peer                      
      debug bfd network    
      debug bfd zebra                      
                                                                                     
      debug bgp graceful-restart                 
      debug bgp neighbor-events                  
      debug bgp updates
      debug bgp update-groups      
                                                                                     
      router bgp 64999                            
        bgp log-neighbor-changes             
        bgp graceful-shutdown            
                                                                                     
        bgp graceful-restart               
        bgp graceful-restart notification                          
        bgp graceful-restart restart-time 60
        bgp graceful-restart preserve-fw-state
        ! bgp long-lived-graceful-restart stale-time 15
                                                                                    
                                                                                     
        neighbor uplink peer-group
        neighbor uplink remote-as external 
        neighbor uplink bfd         
        neighbor uplink bfd profile tripleo       
        ! neighbor uplink capability extended-nexthop
        neighbor eth1 interface peer-group uplink
        neighbor eth2 interface peer-group uplink               
                                                                                     
        address-family ipv4 unicast                           
          redistribute connected
          neighbor uplink allowas-in origin
          neighbor uplink prefix-list only-default-host-prefixes in
        exit-address-family
                                                                                     
        address-family ipv6 unicast
          redistribute connected
          neighbor uplink activate
          neighbor uplink allowas-in origin
          neighbor uplink prefix-list only-default-host-prefixes in
        exit-address-family

        address-family l2vpn evpn
          neighbor uplink activate
          neighbor uplink allowas-in origin
        exit-address-family

      ip prefix-list only-default-host-prefixes permit 0.0.0.0/0
      ip prefix-list only-default-host-prefixes permit 0.0.0.0/0 ge 32
      ip prefix-list only-host-prefixes permit 0.0.0.0/0 ge 32

      ipv6 prefix-list only-default-host-prefixes permit ::/0
      ipv6 prefix-list only-default-host-prefixes permit ::/0 ge 128
      ipv6 prefix-list only-host-prefixes permit ::/0 ge 128

      ip nht resolve-via-default

      bfd
        profile tripleo
          detect-multiplier 10
          transmit-interval 500
          receive-interval 500

       

       

        1. 0011-bfd-shutdown.patch
          9 kB
          Michal Ruprich
        2. 0013-bfd-bgp-recovery.patch
          7 kB
          Michal Ruprich

              rhn-support-bjmason Bryan Mason
              ccamposr@redhat.com Candido Campos Rivas
              Michal Ruprich Michal Ruprich
              Therese Cornell Therese Cornell
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated:
                Resolved: