-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Errors with VRF commands in bgp.conf #1972
Comments
This is incorrect syntax -- these commands need to be inside an address family block. |
Here's a very simple L3VPN topology using FRR: https://gist.github.com/rwestphal/45ca016a0d54f52f4eb869a99719b90e Hope it helps. |
Immensely useful Renato. Thanks a lot! Using your PE BGP config as a reference, I managed to successfully write config file for a PE in my set-up.
The PE has one VRF (red) and one session with a CE (running FRR BGP daemon) in this VRF. The session with CE was established successfully. The PE received two routes over this session.
BGP daemon on the PE exported these routes to the default table as expected.
Both routes were assigned a label of 12,288. I believe BGP daemon gets this from the label manager running within Zebra daemon. So far so good! Now to the problems I am observing: Problem 1: Given the label assignment above, I expected to see an MPLS route in Zebra for label 12,288 which I am afraid I didn't.
The route I expected to see in the MPLS table above should look like this: Without this route, incoming (MPLS) packets (with label=12288) from the core for red VRF would be dropped by this PE. Problem 2: The BGP daemon on the PE sent the VPNv4 routes to the RR (session with 192.168.0.2). However, it set the label to 0 instead of 12288.
I admit that I was running gobgpd daemon on the route-reflector, and that could be part of the problem. However, I've seen gobgpd correctly receive VPNv4 routes (with right labels) from PEs running gobgpd daemon in the past. This makes me think that the problem is with the FRR BGP side. Let me know what you think. |
When I explicitly configured label in the config file, the label is passed in the VPNv4 routes, and MPLS route is installed in the global forwarding table. This gives me a work-around. However, it would be nice if BGP daemon can use a VRF-label that's assigned dynamically by the label-manager in Zebra. This would prevent label collisions when other routing protocols that use labels (e.g., LDP) are also running. |
That was actually a bug in bgpd, 12288 is how little-endian processors store the number 3 (the implicit-null label) in a 4-bytes integer. Paul already fixed this bug, along with several others, so I suggest you to pull the latest changes from master and repeat your tests again.
Now it's possible to do that using the |
I updated my repository, and I can see VRFs are getting their labels automatically. Thanks. |
I am using the HEAD of the Master branch.
I am getting an error with this config file for bgp:
I am getting similar error for these statements in the config file as well:
The text was updated successfully, but these errors were encountered: