EIBGP multipath policy is not enforced when 'bgp multipath allow-external-internal prefix-policy’ term is deleted or deactivated.
Summary of the issue:
# when policy statement is deleted/deactivated, we need to reset BGP peer for policy to take effect.
# When policy statement is added/activated, there is no need to reset BGP peer for policy to take effect.
Config:
user@router> show configuration protocols bgp | display set
set protocols bgp group IBGP type internal
set protocols bgp group IBGP local-address 1.1.1.1
set protocols bgp group IBGP family inet unicast
set protocols bgp group IBGP neighbor 2.2.2.2
set protocols bgp group EBGP type external
set protocols bgp group EBGP neighbor 10.0.13.2 peer-as 65002
set protocols bgp multipath allow-external-internal prefix-policy Multipath-Routes
user@router> show configuration policy-options policy-statement Multipath-Routes | display set
set policy-options policy-statement Multipath-Routes term ALLOW from community Multipath-Tag
set policy-options policy-statement Multipath-Routes term ALLOW then accept
set policy-options policy-statement Multipath-Routes term REJECT-REST then reject
Route in normal state:
user@router> show route 30.30.30.30
inet.0: 16 destinations, 25 routes (16 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
30.30.30.30/32 *[BGP/170] 00:05:59, localpref 100, from 10.0.13.2
AS path: 65002 I, validation-state: unverified
> to 10.0.12.2 via xe-0/1/0.0
to 10.0.13.2 via xe-0/1/1.0
[BGP/170] 00:05:59, localpref 100, from 2.2.2.2
Route when multiparty policy removed/deactivated:
[edit]
user@router# show | compare
[edit policy-options policy-statement Multipath-Routes]
! inactive: term ALLOW { ... }
user@router# commit
commit complete
30.30.30.30/32 *[BGP/170] 00:06:23, localpref 100, from 10.0.13.2
[BGP/170] 00:06:23, localpref 100, from 2.2.2.2
After clearing BGP:
user@router> clear bgp neighbor all
Cleared 2 connections
30.30.30.30/32 *[BGP/170] 00:00:01, localpref 100
> to 10.0.13.2 via xe-0/1/1.0
[BGP/170] 00:00:01, localpref 100, from 2.2.2.2
Route when BGP multiparty policy added/activated:
! active: term ALLOW { ... }
user@router# exit
Exiting configuration mode
30.30.30.30/32 *[BGP/170] 00:00:05, localpref 100, from 10.0.13.2
[BGP/170] 00:00:48, localpref 100, from 2.2.2.2
All platforms are affected/common rpd code... Impact is routes not evaluated after EIBGP policy changes... might need a clear bgp neighbor for policy to be evaluated. Workaround is "clear bgp neighbor”. Issue is addressed in PR1954341.