I get where you're coming from, but as the actual automated package building for the EdgeRouter's is the goal, the building on the router itself is not very nice way to say host a jenkins agent on.

The Debian package I have been using actually does put the configs in /etc/bird which makes sense, as it's basically a normal Debian in the eyes of the package.

On 14/04/2021 22.09, Clemens Schrimpe wrote:
Hej -

sorry for being late to the game (this thread), but $dayjob kept me busy - what else is new...


I have been an avid user of BIRD (1.x and 2.x) on the Ubiquiti platforms - on both major versions of "EdgeOS" and on both hardware platforms (Octeon → MIPS-BE and "the other" → MIPS-LE  (all EdgeRouter X models))

Yes, I am using the original EdgeOS, which is just-another-debian-distro, namely:

    EdgeOS 1 → Debian 7.11 with "3.10.107-UBNT #1 SMP Fri Feb 21
    09:19:25 UTC 2020 mips64 GNU/Linux" kernel and

    EdgeOS 2 → Debian 9.12 with "4.9.79-UBNT #1 SMP Thu Mar 5 16:48:40
    UTC 2020 mips64 GNU/Linux" kernel.


(on the Octeon platform → all EdgeRouters, except the "X" models, but versions are quite equal/similar/close)

I have not built my own distribution (incl. a kernel with the HW-offloading supplements, etc.), because I actually liked EdgeOS - with the exception of the Quagga-Version (the non-FRR variant from Japan, if I recall right) that comes with it.

However, if you do not configure anything in the "protocol" section of the EdgeOS/Vyatta configuration and create a /bird.conf/ file and fire up BIRD instead everything (almost) works just fine. Yes, you can't see the routing config in the GUI, but I disable it anyway because I don't use it and want the memory for important things. Of course, "show bgp neighbors" would also be replaced by "birdc show protocols", etc. but /this is just fine/!


I built my BIRDs directly on the routers themselves (just install "build-essential" and very few other packages), but since you talked about "distributions" here, be warned: A "firmware upgrade" *wipes/reinstalls everything in the filesystem*, *except /config and below*. Since you don't want to do a FW upgrade and have the box reboot without it's routing engine/daemon I compiled BIRD to live under /config/opt/bird1 or /config/opt/bird2 (or just /config/opt/bird ;-).

Put a proper startup-script for it into /config/scripts/post-config.d and the BIRD shall be woken by EdgeOS, once all interfaces are plumbed and addressed and everything works very well - even after a firmware upgrade. BIRD binaries built for EdgeOS 1 even survive a FW upgrade to EdgeOS 2 this way, btw. (though you want BIRD 2 built on EdgeOS 2 to get the latest & gratest features → RPKI, for example)

Just my 2¢ ...

Clemens

PS: We use this combination (among others) in parts of the IETF Meeting network for many years now. So if you have attended an IETF meeting (in person) since spring of 2014 (#89 → London) you are very likely to have been routed by it 😉  (yes, including all recent meetings in Praha!)



On 10. Apr 2021, at 14:23, Skyler Mäntysaari <[email protected] <mailto:[email protected]>> wrote:

I'm not sure, how would I check if it's LE or BE?

CPU info on ER-12:
---------------------------------------------------------------------------------------------------
system type             : UBNT_E300
machine                 : Unknown
processor               : 0
cpu model               : Cavium Octeon III V0.2  FPU V0.0
BogoMIPS                : 2000.00
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 256
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 2, address/irw mask: [0x0ffc, 0x0ffb]
isa                     : mips1 mips2 mips3 mips4 mips5 mips64r2
ASEs implemented        : vz
shadow register sets    : 1
kscratch registers      : 4
package                 : 0
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available
------------------------------------------------------------------------------------------------------

P.S Did you also use the UBNT kernel modules for hardware acceleration?

On 10/04/2021 15.19, Ondrej Zajicek wrote:
On Sat, Apr 10, 2021 at 02:46:25PM +0300, Skyler Mäntysaari wrote:
Please also keep in mind that they do not run normal Debian, but EdgeOS
which is a fork of vyatta which uses Debian.
Several years ago, i run original Edgerouter (ERLite-3) with vanilla
Debian, just with kernel from EdgeOS.

EdgeRouter-4 and EdgeRouter-12 run on mips64.
It is BE or LE? ERLite-3 was (AFAIK) mips (BE), Debian offers mips,
mipsel (LE) and mips64el (LE), but no mips64. It is possible (but
unlikely) that they build EdgeOS for a differench arch.


Reply via email to