Bug 2185804

Summary: Routes are not refreshed after changing the inbound route rules from deny to permit
Product: Red Hat Enterprise Linux 8 Reporter: Federico Paolinelli <fpaoline>
Component: frrAssignee: Michal Ruprich <mruprich>
Status: ASSIGNED --- QA Contact: FrantiĊĦek Hrdina <fhrdina>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.6CC: fhrdina, jorton, sushil.suresh
Target Milestone: rcKeywords: Reproducer, Triaged, WorkAround
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Federico Paolinelli 2023-04-11 09:28:13 UTC
Description of problem:
A metallb configuration always have a deny all route rule to avoid external routers to be able to inject routes to the ocp nodes.

In some particular scenarios, we allow injecting a rule that overrides that in the final part of the configuration.

So, in the configuration we have something like 

route-map 172.18.0.5-in deny 20

Then we update the configuration file appending
route-map 172.18.0.5-in permit 20

and we reload it with the frr-reload.py script.


The current-config shows the rule being updated correctly, but a refresh route message is not sent to the neighbor, so any published route is not received.

This is different from what is observed with frr 8.4.2, where as soon as we update the configuration file a route refresh message is sent out

023/04/11 09:14:40.021 BGP: [WNMVF-B11FV] Processing route_map 172.30.0.2-in(IPv4:unicast) update on peer 172.30.0.2 (inbound, route-refresh)                                                                                                                
2023/04/11 09:14:40.021 BGP: [QCZ1W-VKS36] 172.30.0.2(14513de9912d) sending REFRESH_REQ for afi/safi: IPv4/unicast                                                                                                                                            
2023/04/11 09:14:40.021 BGP: [WNMVF-B11FV] Processing route_map 172.30.0.2-in(IPv6:unicast) update on peer 172.30.0.2 (inbound, route-refresh)                                                                                                                
2023/04/11 09:14:40.021 BGP: [QCZ1W-VKS36] 172.30.0.2(14513de9912d) sending REFRESH_REQ for afi/safi: IPv6/unicast 



Version-Release number of selected component (if applicable):
7.5.1

How reproducible:
Always

Steps to Reproduce:
Described above.
- A neighbor configured to push routes
- an initial config with a deny all route rule
- a new config with a permit any to amend the previous deny

Actual results:

We must either kill the session or restart the frr instance to see the routes

Expected results:

The local frr instance asks for routes to the neighbor

Additional info: