BGP Weight Not applying


#1

Has anyone else seen this or had similar issues?
Despite having weights configured for BGP neighbors they are not displayed and do not appear to be utilized in the route selection process. I may be missing one or more config settings in 1.2 that or messing me up, but the same general equivilant in 1.18 worked.

vyos@vyos1a:~$ configure
[edit]
vyos@vyos1a# show protocols bgp
 bgp 64513 {
     address-family {
         ipv4-unicast {
             redistribute {
                 connected {
                 }
             }
         }
     }
     maximum-paths {
         ebgp 1
         ibgp 1
     }
     neighbor 10.100.0.1 {
         remote-as 64512
         timers {
             holdtime 4
             keepalive 12
         }
     }
     neighbor 10.100.0.36 {
         address-family {
             ipv4-unicast {
                 default-originate {
                 }
                 weight 75
             }
         }
         remote-as 64514
         timers {
             holdtime 4
             keepalive 12
         }
     }
     neighbor 10.100.0.37 {
         address-family {
             ipv4-unicast {
                 default-originate {
                 }
                 weight 35
             }
         }
         remote-as 64514
         timers {
             holdtime 4
             keepalive 12
         }
     }
     parameters {
         router-id 10.100.0.33
     }
 }
[edit]
vyos@vyos1a#
vyos@vyos1a:~$ show ip bgp
BGP table version is 23, local router ID is 10.100.0.33, vrf id 0
Default local pref 100, local AS 64513
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 0.0.0.0/0        10.100.0.1                             0 64512 i
*> 10.100.0.0/27    0.0.0.0                  0         32768 ?
*  10.100.0.32/27   10.100.0.37                            0 64514 ?
*>                  0.0.0.0                  0         32768 ?
*  10.100.0.64/27   10.100.0.36                            0 64514 ?
*>                  10.100.0.37                            0 64514 ?
*> 10.100.0.160/27  0.0.0.0                  0         32768 ?
*> 10.100.3.0/24    0.0.0.0                  0         32768 ?
*> 10.100.4.0/24    0.0.0.0                  0         32768 ?
*> 10.100.6.0/24    0.0.0.0                  0         32768 ?
*> 10.100.14.0/24   0.0.0.0                  0         32768 ?
*> 10.100.15.0/24   0.0.0.0                  0         32768 ?
*> 10.100.16.0/24   0.0.0.0                  0         32768 ?
*  10.100.65.0/27   10.100.0.36                            0 64514 ?
*>                  10.100.0.37                            0 64514 ?
*  10.100.100.0/24  10.100.0.36                            0 64514 ?
*>                  10.100.0.37                            0 64514 ?
*  10.100.103.0/24  10.100.0.36                            0 64514 ?
*>                  10.100.0.37                            0 64514 ?
*  10.100.104.0/24  10.100.0.36                            0 64514 ?
*>                  10.100.0.37                            0 64514 ?
*  10.100.105.0/27  10.100.0.36                            0 64514 ?
*>                  10.100.0.37                            0 64514 ?
*> 10.100.200.0/24  0.0.0.0                  0         32768 ?

Displayed  17 routes and 24 total paths

#3

This was easy enough to replicate using VyOS built from current, and it looks like the weight configuration is not making it to FRR.

rtr1: VyOS 1.2.0-rolling+201905152234 built today from git

## Router version
vyos@rtr1:~$ show ver
Version:          VyOS 1.2.0-rolling+201905152234

## BGP config
vyos@rtr1:~$ show configuration commands | match "bgp|static"
set protocols bgp 65100 address-family ipv4-unicast network 192.168.100.0/24
set protocols bgp 65100 neighbor 10.1.0.2 address-family ipv4-unicast weight '35'
set protocols bgp 65100 neighbor 10.1.0.2 remote-as '65200'
set protocols static route 192.168.100.0/24 blackhole distance '254'

## BGP table - Shows weight set on 192.168.200.0/24 as 0
vyos@rtr1:~$ show ip bgp
BGP table version is 4, local router ID is 10.0.0.1, vrf id 0
Default local pref 100, local AS 65100
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthops vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 192.168.100.0/24 0.0.0.0                  0         32768 i
*> 192.168.200.0/24 10.1.0.2                 0             0 65200 i

Displayed  2 routes and 2 total paths

## FRR config - weight not set anywhere
vyos@rtr1:~$ vtysh -c "show run"
...
ip route 192.168.100.0/24 Null0 254
!
router bgp 65100
 neighbor 10.1.0.2 remote-as 65200
 !
 address-family ipv4 unicast
  network 192.168.100.0/24
 exit-address-family
!
...

rtr2: VyOS 1.1.8

## Router version
vyos@rtr2:~$ show ver
Version:      VyOS 1.1.8

## BGP config
vyos@rtr2:~$ show configuration commands | match "bgp|static"
set protocols bgp 65200 neighbor 10.1.0.1 remote-as '65100'
set protocols bgp 65200 neighbor 10.1.0.1 weight '35'
set protocols bgp 65200 network '192.168.200.0/24'
set protocols static route 192.168.200.0/24 next-hop 127.0.0.1 distance '254'

##BGP table - Shows weight on 192.168.1000/24 as expected
vyos@rtr2:~$ show ip bgp
BGP table version is 0, local router ID is 10.0.0.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 192.168.100.0    10.1.0.1                 0            35 65100 i
*> 192.168.200.0    127.0.0.1                0         32768 i

Total number of prefixes 2

## Quagga config - weight is shown in config as expected
vyos@rtr2:~$ vtysh -c "show run"
router bgp 65200
 bgp router-id 10.0.0.2
 bgp network import-check
 network 192.168.200.0/24
 neighbor 10.1.0.1 remote-as 65100
 neighbor 10.1.0.1 weight 35
!
ip route 192.168.200.0/24 127.0.0.1 254

The same problem is occurring in VyOS 1.2.1.


#4

Can you please open a bug in https://phabricator.vyos.net/ please? Thx.


#5

https://phabricator.vyos.net/T1377

Done


#6

I’ll close this thread in favor of the phabricator task.


closed #7