MPLS Support Question
We use BIRD in our production network and are considering rolling out a work-around to partially support MPLS functionality. However, before doing so we were wondering what the timeline is for adding additional support for MPLS label support on v2.0+. Thank you.
On 03/19/2018 03:12 PM, t a wrote:
We use BIRD in our production network and are considering rolling out a work-around to partially support MPLS functionality. However, before doing so we were wondering what the timeline is for adding additional support for MPLS label support on v2.0+.
Hello, the supported part of MPLS is BGP VPN v[46] in Route Reflector mode, and static VPN routes. Supported are also static MPLS switching rules and kernel sync of them. No additional support is in the short-term plan as we have to stabilize the whole internal structures of BIRD before adding more features. Anyway, if you specify what exactly you'd like to have in BIRD, we may find out that it is quick and easy to implement ... M.
Thank you for the quick response. What we are looking to do is assign a single label to routes when they are placed into a kernel table via a pipe. For instance: protocol pipe master_to_kernelTable{ table kernelTable; peer table master; import filter{ if bgp_next_hop = 192.168.0.15 then {mpls 1000; accept;} reject; }; export none; } We are looking to manually assign the labels according to our internal structure, so no label distribution is required, just the ability to assign a label to a route similar to how they are assigned to static routes. ________________________________ From: Bird-users <bird-users-bounces@network.cz> on behalf of Jan Maria Matejka <jan.matejka@nic.cz> Sent: Monday, March 19, 2018 9:31:17 AM To: bird-users@network.cz Subject: Re: MPLS Support Question On 03/19/2018 03:12 PM, t a wrote:
We use BIRD in our production network and are considering rolling out a work-around to partially support MPLS functionality. However, before doing so we were wondering what the timeline is for adding additional support for MPLS label support on v2.0+.
Hello, the supported part of MPLS is BGP VPN v[46] in Route Reflector mode, and static VPN routes. Supported are also static MPLS switching rules and kernel sync of them. No additional support is in the short-term plan as we have to stabilize the whole internal structures of BIRD before adding more features. Anyway, if you specify what exactly you'd like to have in BIRD, we may find out that it is quick and easy to implement ... M.
Anno domini 2018 t a scripsit:
Thank you for the quick response. What we are looking to do is assign a single label to routes when they are placed into a kernel table via a pipe. For instance:
protocol pipe master_to_kernelTable{ table kernelTable; peer table master; import filter{ if bgp_next_hop = 192.168.0.15 then {mpls 1000; accept;} reject; }; export none; }
We are looking to manually assign the labels according to our internal structure, so no label distribution is required, just the ability to assign a label to a route similar to how they are assigned to static routes.
Silly question: Why are you using a pipe protocol for that purpose? Wouldn't an export filter within the kernel protocol suffice? Best Max -- The real problem with C++ for kernel modules is: the language just sucks. -- Linus Torvalds
An export filter on the kernel table would work, this was just the method we chose to standardize our configurations for policy routing so that we have a standard export policy from the main table and perform filtering and change route attributes within the pipes. ________________________________ From: Bird-users <bird-users-bounces@network.cz> on behalf of Maximilian Wilhelm <max@rfc2324.org> Sent: Tuesday, March 20, 2018 7:11:19 AM To: bird-users@network.cz Subject: Re: MPLS Support Question Anno domini 2018 t a scripsit:
Thank you for the quick response. What we are looking to do is assign a single label to routes when they are placed into a kernel table via a pipe. For instance:
protocol pipe master_to_kernelTable{ table kernelTable; peer table master; import filter{ if bgp_next_hop = 192.168.0.15 then {mpls 1000; accept;} reject; }; export none; }
We are looking to manually assign the labels according to our internal structure, so no label distribution is required, just the ability to assign a label to a route similar to how they are assigned to static routes.
Silly question: Why are you using a pipe protocol for that purpose? Wouldn't an export filter within the kernel protocol suffice? Best Max -- The real problem with C++ for kernel modules is: the language just sucks. -- Linus Torvalds
participants (3)
-
Jan Maria Matejka -
Maximilian Wilhelm -
t a