]> git.proxmox.com Git - mirror_frr.git/commit - bgpd/bgp_evpn.c
bgpd: Initialize attr->local_pref to the configured default value
authorDonatas Abraitis <donatas@opensourcerouting.org>
Mon, 6 Jun 2022 06:49:37 +0000 (09:49 +0300)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Mon, 6 Jun 2022 07:28:50 +0000 (10:28 +0300)
commit0f05ea43b0c18c890ef0faf81de1d4ad74893d86
tree5a9831f0487ad01f9d04b2ea7a03a7bfffcc64db
parent23a1220847f020c126aa5ac696e191dd8c4450ae
bgpd: Initialize attr->local_pref to the configured default value

When we use network/redistribute local_preference is configured inproperly
when using route-maps something like:

```
network 100.100.100.100/32 route-map rm1
network 100.100.100.200/32 route-map rm2

route-map rm1 permit 10
 set local-preference +10
route-map rm2 permit 10
 set local-preference -10
```

Before:
```
root@spine1-debian-11:~# vtysh -c 'show bgp ipv4 unicast 100.100.100.100/32 json' | jq '.paths[].locPrf'
10
root@spine1-debian-11:~# vtysh -c 'show bgp ipv4 unicast 100.100.100.200/32 json' | jq '.paths[].locPrf'
0
```

After:
```
root@spine1-debian-11:~# vtysh -c 'show bgp ipv4 unicast 100.100.100.100/32 json' | jq '.paths[].locPrf'
110
root@spine1-debian-11:~# vtysh -c 'show bgp ipv4 unicast 100.100.100.200/32 json' | jq '.paths[].locPrf'
90
```

Set local-preference as the default value configured per BGP instance, but
do not set LOCAL_PREF flag by default.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 files changed:
bgpd/bgp_attr.c
bgpd/bgp_attr.h
bgpd/bgp_evpn.c
bgpd/bgp_evpn_mh.c
bgpd/bgp_route.c
bgpd/bgp_routemap.c
bgpd/bgp_updgrp_adv.c
bgpd/rfapi/rfapi.c
bgpd/rfapi/vnc_export_bgp.c
tests/topotests/bgp_set_local_preference_add_subtract/r2/bgpd.conf
tests/topotests/bgp_set_local_preference_add_subtract/r3/bgpd.conf
tests/topotests/bgp_set_local_preference_add_subtract/test_bgp_set_local-preference_add_subtract.py