<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
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:
<div><br>
</div>
<div>
<table class="highlight tab-size js-file-line-container" data-tab-size="8" style="box-sizing: border-box; border-spacing: 0px; border-collapse: collapse; tab-size: 8; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 14px; background-color: rgb(255, 255, 255);">
<tbody style="box-sizing: border-box;">
<tr style="box-sizing: border-box;">
<td id="LC242" class="blob-code blob-code-inner js-file-line" style="box-sizing: border-box; padding: 0px 10px; ">
protocol pipe master_to_kernelTable{</td>
</tr>
<tr style="box-sizing: border-box;">
<td id="L243" class="blob-num js-line-number" data-line-number="243" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.3); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer; user-select: none;">
</td>
<td id="LC243" class="blob-code blob-code-inner js-file-line" style="box-sizing: border-box; padding: 0px 10px; ">
table kernelTable;</td>
</tr>
<tr style="box-sizing: border-box;">
<td id="L244" class="blob-num js-line-number" data-line-number="244" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.3); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer; user-select: none;">
</td>
<td id="LC244" class="blob-code blob-code-inner js-file-line" style="box-sizing: border-box; padding: 0px 10px; ">
peer table master;</td>
</tr>
<tr style="box-sizing: border-box;">
<td id="L245" class="blob-num js-line-number" data-line-number="245" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.3); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer; user-select: none;">
</td>
<td id="LC245" class="blob-code blob-code-inner js-file-line" style="box-sizing: border-box; padding: 0px 10px; ">
import filter{</td>
</tr>
<tr style="box-sizing: border-box;">
<td id="L246" class="blob-num js-line-number" data-line-number="246" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.3); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer; user-select: none;">
</td>
<td id="LC246" class="blob-code blob-code-inner js-file-line" style="box-sizing: border-box; padding: 0px 10px; ">
if bgp_next_hop = 192.168.0.15 then {mpls 1000; accept;}</td>
</tr>
<tr style="box-sizing: border-box;">
<td id="L247" class="blob-num js-line-number" data-line-number="247" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.3); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer; user-select: none;">
</td>
<td id="LC247" class="blob-code blob-code-inner js-file-line" style="box-sizing: border-box; padding: 0px 10px; ">
reject;</td>
</tr>
<tr style="box-sizing: border-box;">
<td id="L248" class="blob-num js-line-number" data-line-number="248" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.3); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer; user-select: none;">
</td>
<td id="LC248" class="blob-code blob-code-inner js-file-line" style="box-sizing: border-box; padding: 0px 10px; ">
};</td>
</tr>
<tr style="box-sizing: border-box;">
<td id="L249" class="blob-num js-line-number" data-line-number="249" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.3); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer; user-select: none;">
</td>
<td id="LC249" class="blob-code blob-code-inner js-file-line" style="box-sizing: border-box; padding: 0px 10px; ">
export none;</td>
</tr>
<tr style="box-sizing: border-box;">
<td id="L250" class="blob-num js-line-number" data-line-number="250" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.3); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer; user-select: none;">
</td>
<td id="LC250" class="blob-code blob-code-inner js-file-line" style="box-sizing: border-box; padding: 0px 10px; ">
}</td>
</tr>
</tbody>
</table>
<br>
</div>
<div>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.</div>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Bird-users <bird-users-bounces@network.cz> on behalf of Jan Maria Matejka <jan.matejka@nic.cz><br>
<b>Sent:</b> Monday, March 19, 2018 9:31:17 AM<br>
<b>To:</b> bird-users@network.cz<br>
<b>Subject:</b> Re: MPLS Support Question</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">On 03/19/2018 03:12 PM, t a wrote:<br>
> We use BIRD in our production network and are considering rolling out a<br>
> work-around to partially support MPLS functionality.  However, before<br>
> doing so we were wondering what the timeline is for adding<br>
> additional support for MPLS label support on v2.0+.<br>
<br>
Hello,<br>
<br>
the supported part of MPLS is BGP VPN v[46] in Route Reflector mode, and<br>
static VPN routes. Supported are also static MPLS switching rules and<br>
kernel sync of them.<br>
<br>
No additional support is in the short-term plan as we have to stabilize<br>
the whole internal structures of BIRD before adding more features.<br>
<br>
Anyway, if you specify what exactly you'd like to have in BIRD, we may<br>
find out that it is quick and easy to implement ...<br>
<br>
M.<br>
</div>
</span></font></div>
</body>
</html>