diff options
Diffstat (limited to 'snapcraft/README.snap_build.md')
-rw-r--r-- | snapcraft/README.snap_build.md | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/snapcraft/README.snap_build.md b/snapcraft/README.snap_build.md new file mode 100644 index 0000000..9d83a52 --- /dev/null +++ b/snapcraft/README.snap_build.md @@ -0,0 +1,117 @@ +Building your own FRRouting Snap +======================================== +(Tested on Ubuntu 18.04) + +1. Install snapcraft: + + sudo apt-get install snapcraft + +2. Checkout FRRouting under a **unpriviledged** user account + + git clone https://github.com/frrouting/frr.git + cd frr + +3. (Optional) Add extra version information to + `snapcraft/extra_version_info.txt`. Information in this file will + be displayed with the frr.version command (simple `cat` after + the display of the `zebra --version` output) + +4. Run Bootstrap and make distribution tar.gz + + ./bootstrap.sh + ./configure --with-pkg-extra-version=-MySnapVersion + make dist + + Note: configure parameters are not important for the Snap building, + except the `with-pkg-extra-version` if you want to give the Snap + a specific name to mark your own unoffical build + + This will build `frr-something.tar.gz` - the distribution tar and + the snapcraft/snapcraft.yaml with the matching version number + +5. Create snap + + cd snapcraft + snapcraft + + You should now end up with `frr_something.snap` + +Installing the snap +=================== +(This can be done on a different system) + +1. Install snapd + + sudo apt-get install snapd + +2. Install self-built frr snap. (`--force-dangerous` is required to + install a unsigned self-built snap) + + snap install --force-dangerous ./frr*.snap + + Connect the priviledged `network-control` plug to the snap: + + snap connect frr:network-control core:network-control + +See README.usage.md for more details on setting up and using the snap + +DONE. + +The Snap will be auto-started and running. + +Operations +========== + +### FRRouting Daemons +At this time, all FRRouting daemons are auto-started. + +A daemon can be stopped/started with (ie ospf6d) + + systemctl stop snap.frr.ospf6d.service + systemctl start snap.frr.ospf6d.service + +or disabled/enabled with + + systemctl disable snap.frr.ospf6d.service + systemctl enable snap.frr.ospf6d.service + +### FRRouting Commands +All the commands are prefixed with frr. + + frr.vtysh -> vtysh + frr.version -> Just gives version output (zebra --version) + frr.readme -> Returns simple README with hints on using FRR + + frr.bgpd-debug -> Directly start each daemon (without service) + frr.isisd-debug + frr.ospf6d-debug + frr.ospfd-debug + frr.pimd-debug + frr.pim6d-debug + frr.ripd-debug + frr.ripngd-debug + frr.ldp-debug + frr.zebra-debug + frr.nhrpd-debug + frr.babeld-debug + frr.eigrpd-debug + frr.pbrd-debug + frr.staticd-debug + frr.bfdd-debug + frr.fabricd-debug + frr.pathd-debug + +vtysh can be accessed as frr.vtysh (Make sure you have /snap/bin in your +path). If access as `vtysh` instead of `frr.vtysh` is needed, you can enable it +via a snap alias as follows: + + sudo snap alias frr vtysh + +This will add the vtysh command to your /snap/bin for direct access. The output of + + sudo snap aliases + +should list vtysh command alias as enabled: + +App Alias Notes +frr.vtysh vtysh enabled |