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