1 Building your own FRRouting Snap
2 ========================================
3 (Tested on Ubuntu 16.04 with Snap Version 2, does not work on Ubuntu 15.x
4 which uses earlier versions of snaps)
8 sudo apt-get install snapcraft
10 2. Checkout FRRouting under a **unpriviledged** user account
12 git clone https://github.com/frrouting/frr.git
15 3. (Optional) Add extra version information to
16 `snapcraft/extra_version_info.txt`. Information in this file will
17 be displayed with the frr.version command (simple `cat` after
18 the display of the `zebra --version` output)
20 4. Run Bootstrap and make distribution tar.gz
23 ./configure --with-pkg-extra-version=-MySnapVersion
26 Note: configure parameters are not important for the Snap building,
27 except the `with-pkg-extra-version` if you want to give the Snap
28 a specific name to mark your own unoffical build
30 This will build `frr-something.tar.gz` - the distribution tar and
31 the snapcraft/snapcraft.yaml with the matching version number
38 You should now end up with `frr_something.snap`
42 (This can be done on a different system)
46 sudo apt-get install snapd
48 2. Install self-built frr snap. (`--force-dangerous` is required to
49 install a unsigned self-built snap)
51 snap install --force-dangerous ./frr*.snap
53 Connect the priviledged `network-control` plug to the snap:
55 snap connect frr:network-control core:network-control
57 See README.usage.md for more details on setting up and using the snap
61 The Snap will be auto-started and running.
67 At this time, all FRRouting daemons are auto-started.
69 A daemon can be stopped/started with (ie ospf6d)
71 systemctl stop snap.frr.ospf6d.service
72 systemctl start snap.frr.ospf6d.service
74 or disabled/enabled with
76 systemctl disable snap.frr.ospf6d.service
77 systemctl enable snap.frr.ospf6d.service
79 ### FRRouting Commands
80 All the commands are prefixed with frr.
83 frr.version -> Just gives version output (zebra --version)
84 frr.readme -> Returns simple README with hints on using FRR
86 frr.bgpd-debug -> Directly start each daemon (without service)
96 vtysh can be accessed as frr.vtysh (Make sure you have /snap/bin in your
97 path). If access as `vtysh` instead of `frr.vtysh` is needed, you can enable it
98 via a snap alias as follows:
100 sudo snap alias frr vtysh
102 This will add the vtysh command to your /snap/bin for direct access. The output of
106 should list vtysh command alias as enabled:
109 frr.vtysh vtysh enabled