
Bird – Internet Routing Daemon - dedalus
https://bird.network.cz/
======
dredmorbius
Context: cz.nic are the producers of the Turris Omnia WiFi router, an OpenWRT-
based SOHO router. ~US$300 buys you 2.4 & 5 Ghz wifi, 5x 10/100/1000 ethernet,
2 GB RAM, 8 GB flash, 2x USB, 500 MHz ARM CPU, lots of blinkenlights,
automatic updates (not otherwise included with OpenWRT), and numerous hardware
modular expansions including internal mSata disk, SIM card capacity, and a NAS
enclosure. That's pricier than a proprietary router but considerably more
powerful, versatile, and performant. I'm a happy owner.

[https://www.turris.cz/omnia/](https://www.turris.cz/omnia/)

The recently announced Mozilla WebThings gateway also runs on the Turris:

[https://news.ycombinator.com/item?id=20532763](https://news.ycombinator.com/item?id=20532763)

The BIRD Internet Routing Daemon, a BGP routing service you can run yourself,
is included in the available OpenWRT packages:

[https://openwrt.org/packages/pkgdata/bird4](https://openwrt.org/packages/pkgdata/bird4)

No, I don't run BIRD myself, though it could be fun to play with.

~~~
walrus01
If you're going to spend $300 on a home router and know what you're doing, I
strongly recommend you don't buy this. Not because it's a bad product, but in
that price category you should be separating the functions of router and wifi
into their own discrete devices.

A ubnt edgerouter-x is good for up to about 800Mbps of NAT and runs an os
derived from Debian and vyatta. Or something like a mikrotik rb4011.

Then buy a dedicated purpose wifi ap like a ubnt uap pro that does dual band
802.11ac.

A router should be a thing that has 1000baseT ports on it, maybe an sfp or
sfp+ cage and no wireless. A wifi ap should be a thing with no routing
functionality that serves the purpose to bridge a wifi client device at layer
2 onto some specific section of Ethernet fabric.

~~~
sltkr
> you should be separating the functions of router and wifi into their own
> discrete devices

Why?

If you need a media converter, router, and wireless access point anyway, there
are obvious space and power advantages to combining these functions into a
single device.

I could see a concern about performance, but from scanning online reviews, it
seems like the Turris Omnia performs just fine.

> A router should ... > A wifi ap should ...

Instead of just stating your beliefs as if their truth is self-evident, please
offer some rationale.

~~~
walrus01
Network engineer with 20 years experience: Routers that have wireless
interfaces on them are toys. Carrier grade routers have wired interfaces only.
Introducing binary blobs of atheros/Qualcomm chipset support into a router is
a recipe for instability.

In my field, "toy" is anything that costs under 500 bucks. If we want a
wireless interface for OOB, we'll add an opengear LTE gateway device.

The router I mentioned in the earlier post consumes 5W of power and is the
size of a pack of cigarettes. It looks like a toy, and is under $50, basically
disposable, but is much more stable and bug free than home routers you can buy
from $85-275 at Best buy which integrate wifi capability.

The consumer market for cool looking multi band $200 routers with spiky
antennas coming out of the top is, in my opinion, ridiculous.

As for the dedicated wifi side, ask any professional who uses (on the cheap
side, ubnt) or xirrus, ruckus APs in environments with thousands of clients
whether wifi aps should also be routers. They'll have a good laugh at the
idea.

~~~
tssva
The router you mention uses a cpu originally designed for the home wifi router
market and was in fact heavily used in them. It also requires binary blobs to
accelerate NAT to that 800Mbs and to accelerate IPsec. EdgeOS also tends to be
a buggy mess. The rollout of the 2.x train for the er-x has been a fiasco.

------
sirtoffski
Bird is pretty popular with CDN’s and IXP’s - a de facto standard [1].

For example it’s used by Netflix for “sharing network topology from ISP
networks to Netflix control system in AWS” [2].

[1] [https://joinup.ec.europa.eu/collection/open-source-
observato...](https://joinup.ec.europa.eu/collection/open-source-observatory-
osor/document/bird-manages-routing-worlds-largest-internet-exchanges-bird)

[2]
[https://openconnect.netflix.com/en/appliances/#software](https://openconnect.netflix.com/en/appliances/#software)

~~~
zajio1am
Yes, it is used as a route server by all major european IXPs (DE-CIX, AMS-IX,
LINX, MSK-IX, ...)

------
michh
I really like BIRD. Having no prior experience with that sort of thing, we
became a LIR at work and set up announcing our IP space to three different
transit providers in three different sites. By using regular familiar looking
config files it felt way more accessible than the standard stuff by/for
traditional network engineers most of which seem to lean on model of
configuring by entering commands in a CLI and then persisting the current
state.

------
emptysongglass
I had a terrible experience with my Omnia and support willfully ignored me
despite repeated requests for help.

It’s now sitting in my closet with a burnt out chip. Long story short, I put
the same network cards in it all the enthusiasts were. Those slots were meant
to be user upgradeable. It starts smoking, I open it up and send some pics to
the company. They don’t get back to me. Two weeks later I do what anyone does
in this position and post on their forums. That gets their attention, they
write me back. Immediately they’re on the defensive and after another week of
bartering agree to take a look at it only if I ship it to them at my expense
and pay for the repairs. At this point I’ve already sunk 5 hundred dollars
into it so I agree and ask for a shipping address. They never get back to me.
Over the next month I send them follow up emails literally begging to pay them
to fix my router. I never got a response.

Between CZ.nic and Purism, I’ve sworn off small hardware shops. It’s been my
experience they often don’t stand behind their products when they fail or
simply lack the customer service bigger firms can afford.

I ended up buying a few mesh routers from Synology which have been purring
away ever since.

------
clinta
I used bird to build our companies network. At the time I couldn't reason
about how to manage Quagga with configuration management and I disliked how it
tried to emulate a Cisco CLI. Bird solves my problems nicely for BGP and OSPF.

------
joeseeder
I would love to know if there is a stand-alone RIPng or Ospf daemon or better,
kernel module which can be deployed to hosts with minimal effort

having to deploy whole zebra to just be able to announce local docker routes
is a bit too much for my liking

~~~
sirtoffski
Haven’t tried it myself, but OpenOSPFD sounds exactly what you were looking
for. Developed by OpenBSD.

[https://www.openbsd.org/papers/linuxtag06-network.pdf](https://www.openbsd.org/papers/linuxtag06-network.pdf)

------
ignoramous
Can someone please ELI5?

I don't really get what dynamic IP routing is, or what this project means to
solve at internet scale?

~~~
andrenth
BIRD is a BGP daemon. Autonomous Systems exchange routing information via BGP
and calculate the best route to a given destination. It’s dynamic because
routes are updated via the protocol and the preferred route selection
algorithm, instead of managed manually with, say, the route command.

BGP can also be used inside an AS and some container networking solutions
(e.g. kube-router for kubernetes) also use it.

~~~
zajio1am
BIRD is not just BGP daemon, it also support OSPF, RIP and Babel routing
protocols.

~~~
andrenth
Indeed.

