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 <tinysa...@gmail.com> Sent: Saturday, November 30, 2019 11:39 AM To: Lars Ekman G <lars.g.ek...@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.ek...@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 > >