Install FRR 7.5 on DANOS 2012

DANOS 2012 ships with FRR 7.4 and pre-release testing was performed against 7.4

We have prepared a version of FRR 7.5 for use in DANOS which includes a number of backported fixes and enhancements. These patches are upstream and should be included in the FRR 7.6 release, which we hope to include in the next version of DANOS due later in 2021.

The below guide is intended as an aid for users who wish to build and install FRR 7.5 on DANOS 2012.

  1. Clone danos/vyatta-protocols-frr, checking out version 1.15.0:

1 $ git clone https://github.com/danos/vyatta-protocols-frr.git -b debian/1.15.0

danos/frr, checking out the danos/7.5 branch:

1 $ git clone https://github.com/danos/frr.git -b danos/7.5

danos/vyatta-route-broker, checking out version 1.0.3:

1 $ git clone https://github.com/danos/vyatta-route-broker.git -b debian/1.0.3

and CESNET/libyang, checking out the debian/master branch:

1 $ git clone https://github.com/CESNET/libyang.git -b debian/master

2. Build the new packages, using https://danosproject.atlassian.net/wiki/spaces/DAN/pages/786516 as a reference. The easiest way to build our packages is with the danos-buildpackage tool, particularly if you are not already familiar with building Debian packages.

1 2 3 4 5 6 7 8 9 $ cd libyang $ danos-buildpackage -version 2012 $ cd ../frr $ danos-buildpackage -version 2012 -pkg .. $ cd ../vyatta-protocols-frr $ danos-buildpackage -version 2012 $ cd ../vyatta-route-broker $ danos-buildpackage -version 2012 $ cd ..

Note: depending on your Docker setup, you may need to execute danos-buildpackage as root eg. using sudo.

After running the above builds, the current directory should now contain a large number of deb packages.

3. Transfer the required packages to your DANOS instance, eg. using scp.

1 $ scp libyang1_1.0.184-2_amd64.deb frr_7.5-0danos1_amd64.deb frr-pythontools_7.5-0danos1_all.deb frr-snmp_7.5-0danos1_amd64.deb vyatta-frr-vci_1.15.0_amd64.deb vyatta-protocols-frr_1.15.0_all.deb vyatta-route-broker-frr_1.0.3_amd64.deb <user>@<instance>:

Note: we don’t need all the packages which were built.

4. Log in to your DANOS instance, and optionally back up your current “stock” 2012 image

1 $ clone system image <current-image> <current-image>.bak

You can choose this backed up image at the bootloader if you wish to return to FRR 7.4.

5. Install the new packages on your running DANOS image

1 $ sudo dpkg -i libyang1_1.0.184-2_amd64.deb frr_7.5-0danos1_amd64.deb frr-pythontools_7.5-0danos1_all.deb frr-snmp_7.5-0danos1_amd64.deb vyatta-frr-vci_1.15.0_amd64.deb vyatta-protocols-frr_1.15.0_all.deb vyatta-route-broker-frr_1.0.3_amd64.deb

6. Reboot - you are now running FRR 7.5!

The output of show version should now look something like:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 $ show version Version: 2012 Description: DANOS 2012 (DANOS:Shipping:2012:20210114) <snip> Aii libyang1 1.0.184-2 Uii frr 7.5-0danos1 (baseline: 7.4-0vyatta5) Uii frr-pythontools 7.5-0danos1 (baseline: 7.4-0vyatta5) Uii frr-snmp 7.5-0danos1 (baseline: 7.4-0vyatta5) Uii vyatta-frr-vci 1.15.0 (baseline: 1.14.6) Uii vyatta-protocols-frr 1.15.0 (baseline: 1.14.6) Uii vyatta-route-broker-frr 1.0.3 (baseline: 1.0.2) Dii frr 7.5-0danos1 (baseline: 7.4-0vyatta5) Dii frr-pythontools 7.5-0danos1 (baseline: 7.4-0vyatta5) Dii frr-snmp 7.5-0danos1 (baseline: 7.4-0vyatta5) Dii vyatta-frr-vci 1.15.0 (baseline: 1.14.6) Dii vyatta-protocols-frr 1.15.0 (baseline: 1.14.6) Dii vyatta-route-broker-frr 1.0.3 (baseline: 1.0.2)