<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 style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span>Hi,</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span><br>
</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span>The patch is below.<br>
</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span><br>
</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span>Q1: huh?</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span>Q2: Yes we "watch" the service</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span>Q3: Yes, goBGP. It is simpler to adapt than BIRD, but lacks functionality. If BGB is all you need it may be a good option.</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span><br>
</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span>Regards,</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span>L Ekman<br>
</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span><br>
</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span>diff --git a/proto/bgp/config.Y b/proto/bgp/config.Y<br>
</span>
<div>index 7279560b..fbfade8f 100644<br>
</div>
<div>--- a/proto/bgp/config.Y<br>
</div>
<div>+++ b/proto/bgp/config.Y<br>
</div>
<div>@@ -78,7 +78,7 @@ bgp_proto_start: proto_start BGP {<br>
</div>
<div> <br>
</div>
<div> bgp_loc_opts:<br>
</div>
<div>    /* empty */<br>
</div>
<div>- | bgp_loc_opts PORT expr { BGP_CFG->local_port = $3; if (($3<1) || ($3>65535)) cf_error("Invalid port number"); }<br>
</div>
<div>+ | bgp_loc_opts PORT expr { BGP_CFG->local_port = $3; if ($3>65535) cf_error("Invalid port number"); }<br>
</div>
<div>  | bgp_loc_opts AS expr { BGP_CFG->local_as = $3; }<br>
</div>
<div>  ;<br>
</div>
<span></span><br>
</div>
<div id="appendonsend"></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> Stefan Jakob <tinysammy@gmail.com><br>
<b>Sent:</b> Saturday, November 30, 2019 11:39 AM<br>
<b>To:</b> Lars Ekman G <lars.g.ekman@est.tech><br>
<b>Cc:</b> bird-users@network.cz <bird-users@network.cz><br>
<b>Subject:</b> Re: Option to not open the server-port (179)</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Hi Lars,<br>
Hi Bird-List,<br>
<br>
Could you share the patch for this workaround please?<br>
<br>
Guess we share the same goals?:<br>
<br>
a) I want to announce a /32 (IPv4) or /128 IPv6 of course per service.<br>
b) I want to run multiple services on one single maschine in (Linux)<br>
namespaces, f.e. via Docker<br>
c) I want each service to connect to the network, when it's ready for<br>
service by announcing it's more specific (somehow similar to a))<br>
d) bird/bgp shouldnt't need to run as root (which a T179 socket makes difficult)<br>
<br>
Q1: How do you orchestrate you services?<br>
Q2: Do you do any service checking and "announcement decision" based<br>
on the result?<br>
<br>
Q3: Did you also check exaBGP or goBGP?<br>
<br>
Anyone any good experience with the k8s CNI stuff?<br>
<br>
Rgds, SJ<br>
<br>
On Fri, Nov 29, 2019 at 7:37 AM Lars Ekman G <lars.g.ekman@est.tech> wrote:<br>
><br>
> Hi,<br>
><br>
> We have a use-case where we want to deploy multiple BIRD instances on the same machine. The BIRD instance would be a part of public applications with their own (virtual) addreesses. These BIRD instances shall announce the application addresses (only) but
 not set any local routes.<br>
><br>
> The goal is to deploy applications independently of each other.<br>
><br>
> A problem is that BIRD requires that a server port is opened (default 179). While the port is configurable the port numbers must be different for all applications which is hard to do (to assign each application a port is ... undesirable).<br>
><br>
> Another alternative is to have a central BIRD instance and invent some way for applications to communicate their addresses. While this is certainly doable it adds an unwanted complexity, especially for testing.<br>
><br>
> I would like an option to not open the server-port.<br>
><br>
> As an alternative I disabled the check for setting the server port to 0 (any). It is a tiny code change and removes the coordination problem. BIRD will open an ephemeral server port which is of course useless, but we can take the waste of ports.<br>
><br>
> Best Regards,<br>
> Lars Ekman<br>
><br>
><br>
</div>
</span></font></div>
</body>
</html>