Honestly why both of you try to reinvent the wheel - e.g. https://www.consul.io/discovery.html ? Best regards, Łukasz Jarosz niedz., 1 gru 2019, 06:55 użytkownik Lars Ekman G <lars.g.ekman@est.tech> napisał:
Hi,
The patch is below.
Q1: huh? Q2: Yes we "watch" the service 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.
Regards, L Ekman
diff --git a/proto/bgp/config.Y b/proto/bgp/config.Y index 7279560b..fbfade8f 100644 --- a/proto/bgp/config.Y +++ b/proto/bgp/config.Y @@ -78,7 +78,7 @@ bgp_proto_start: proto_start BGP {
bgp_loc_opts: /* empty */ - | bgp_loc_opts PORT expr { BGP_CFG->local_port = $3; if (($3<1) || ($3>65535)) cf_error("Invalid port number"); } + | bgp_loc_opts PORT expr { BGP_CFG->local_port = $3; if ($3>65535) cf_error("Invalid port number"); } | bgp_loc_opts AS expr { BGP_CFG->local_as = $3; } ;
------------------------------ *From:* Stefan Jakob <tinysammy@gmail.com> *Sent:* Saturday, November 30, 2019 11:39 AM *To:* Lars Ekman G <lars.g.ekman@est.tech> *Cc:* bird-users@network.cz <bird-users@network.cz> *Subject:* Re: Option to not open the server-port (179)
Hi Lars, Hi Bird-List,
Could you share the patch for this workaround please?
Guess we share the same goals?:
a) I want to announce a /32 (IPv4) or /128 IPv6 of course per service. b) I want to run multiple services on one single maschine in (Linux) namespaces, f.e. via Docker c) I want each service to connect to the network, when it's ready for service by announcing it's more specific (somehow similar to a)) d) bird/bgp shouldnt't need to run as root (which a T179 socket makes difficult)
Q1: How do you orchestrate you services? Q2: Do you do any service checking and "announcement decision" based on the result?
Q3: Did you also check exaBGP or goBGP?
Anyone any good experience with the k8s CNI stuff?
Rgds, SJ
On Fri, Nov 29, 2019 at 7:37 AM Lars Ekman G <lars.g.ekman@est.tech> wrote:
Hi,
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.
The goal is to deploy applications independently of each other.
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).
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.
I would like an option to not open the server-port.
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.
Best Regards, Lars Ekman