Skip to content

Latest commit

 

History

History

frr

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Free Range Routing

Copyright 2022,2023 Nvidia Corporation. All rights reserved. Copyright 2019,2020 Cumulus Networks, Inc. All rights reserved.

This is a first pass at a configuration to build Debian packages for Free range routing, so expect some rough edges.

Notes: This configuration has the key for the FRR repository in filesystem/etc/apt/trusted.gpg.d/keys.asc Should the key change, this will need to be updated.

This steals the dpkg-plus script from the debian-package template. Now I've got the same thing in two places, which is always a bad idea. This will need to get addressed at some point.

Suggested configuration: Use a debian 10 container (though ubuntu:18.04 works nicely as well) name it frrd10 tag it as frr-debian10 set the prompt in container to be FRRD10 so the context is (more) obvious merge in the files from ./templates/frr when creating the configuration directory

Image creation example.


Create default frr build environment with: ./due --create --platform linux/amd64 --name frr-debian-10 --prompt frrd10 --tag frr-debian10 --use-template frr --from debian:10 --description 'Free Range Routing Debian 10' ## Reference link http://docs.frrouting.org/projects/dev-guide/en/latest/building-frr-for-ubuntu1804.html#installing-dependencies

There is some preconfiguration to be done, so at the moment this gets built inside the container, rather than just invoking due and the container on a directory to build.

I'll look at a pre build configuration script option to 'just handle' this.

--- start bash script ---- #!/bin/bash echo 'Executing FRR prebuild script' pwd echo 'Running bootstrap.sh' ./bootstrap.sh echo 'Running configure'

./configure
--prefix=/usr
--includedir=${prefix}/include
--enable-exampledir=${prefix}/share/doc/frr/examples
--bindir=${prefix}/bin
--sbindir=${prefix}/lib/frr
--libdir=${prefix}/lib/frr
--libexecdir=${prefix}/lib/frr
--localstatedir=/var/run/frr
--sysconfdir=/etc/frr
--with-moduledir=${prefix}/lib/frr/modules
--with-libyang-pluginsdir=${prefix}/lib/frr/libyang_plugins
--enable-configfile-mask=0640
--enable-logfile-mask=0640
--enable-snmp=agentx
--enable-multipath=64
--enable-user=frr
--enable-group=frr
--enable-vty-group=frrvty
--with-pkg-git-version
--with-pkg-extra-version=-MyOwnFRRVersion
--enable-systemd=yes

--- end bash script ---- I'd suggest running dpkg-plus --build to resolve any lingering build dependencies. However, all the ./debian/* files should be here at this point, so dpkg-buildpackage should work to create installation debs

Or you can: make sudo make install