1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
  | 
Using the FRRouting Snap
===============================
After installing the Snap, the priviledged plug need to be connected:
    snap connect frr:network-control core:network-control
Enabling/Disabling FRRouting Daemons
-------------------------------------------
By default (at this time), all FRRouting daemons will be enabled
on installation. If you want to disable a specific daemon, then use 
the systemctl commands
ie for `ospf6d` (OSPFv3):
    systemctl disable snap.frr.ospf6d.service
    systemctl enable snap.frr.ospf6d.service
The daemons are: `ripd`, `ripngd`, `ospfd`, `ospf6d`, `isisd`, `bgpd`, 
`pimd`, `zebra`
Commands defined by this snap
-----------------------------
- `frr.vtysh`:
	FRRouting VTY Shell (configuration tool)
- `frr.version`:
	Returns output of `zebra --version` to display version and configured 
	options
- `frr.readme`:
	Returns this document `cat README_usage.md`
and for debugging defined at this time (May get removed later - do not 
depend on them). These are mainly intended to debug the Snap
- `frr.zebra-debug`:
	Starts zebra daemon in foreground
- `frr.ripd-debug`:
	Starts ripd daemon in foreground
- `frr.ripngd-debug`:
	Starts ripng daemon in foreground
- `frr.ospfd-debug`:
	Starts ospfd daemon in foreground
- `frr.ospf6d-debug`:
	Starts ospf6d daemon in foreground
- `frr.isisd-debug`:
	Starts isisd daemon in foreground
- `frr.bgpd-debug`:
	Starts bgpd daemon in foreground
- `frr.pimd-debug`:
	Starts pimd daemon in foreground
- `frr.ldpd-debug`:
    Starts ldpd daemon in foreground
MPLS (LDP)
----------
The MPLS forwarding requires a Linux Kernel version 4.5 or newer and
specific MPLS kernel modules loaded. It will be auto-detected by
FRR. You can check the detected setup with the `show mpls status`
command from within `frr.vtysh`
The following kernel modules `mpls-router` and `mpls-iptunnel`
need to be loaded. On Ubuntu 16.04, this can be done by editing 
'/etc/modules-load.d/modules.conf' and add the following lines:
	# Load MPLS Kernel Modules
	mpls-router
	mpls-iptunnel
For other distributions, please check the documentation on loading
modules. You need to either reboot or use `modprobe` to manually load
the modules as well before MPLS will be available.
In addition to this, the MPLS Label-Processing needs to be enabled
with `sysctl` on the required interfaces. Assuming the interfaces
are named `eth0`, `eth1` and `eth2`, then the additional lines in
`/etc/sysctl.conf` will enable it on a Ubuntu 16.04 system:
	# Enable MPLS Label processing on all interfaces
	net.mpls.conf.eth0.input=1
	net.mpls.conf.eth1.input=1
	net.mpls.conf.eth2.input=1
	net.mpls.platform_labels=100000
These settings require either a reboot or a manual configuration with
`sysctl` as well.
FAQ
---
- frr.vtysh displays `--MORE--` on long output. How to suppress this?
    - Define `VTYSH_PAGER` to `cat` (default is `more`). (Ie add 
      `export VTYSH_PAGER=cat` to the end of your `.profile`)
- ospfd / ospf6d are not running after installation
	- Installing a new snap starts the daemons, but at this time they
	  may not have the required priviledged access. Make sure you 
	  issue the `snap connect` command as given above (can be verified
	  with `snap interfaces`) and **THEN** restart the daemons (or
	  reboot the system). 
	  This is a limitation of any snap package at this time which
	  requires priviledged interfaces (ie to manipulate routing tables)
	
Sourcecode available
====================
The source for this SNAP is available as part of the FRRouting
Source Code Distribution under `GPLv2 or later`
<https://github.com/frrouting/frr.git>
Instructions for rebuilding the snap are in `snapcraft/README.snap_build.md`
*Please checkout the desired branch before following the instructions
as they may have changed between versions of FRR*
Official Webpage for FRR
========================
Official webpage for FRR is at <https://www.frrouting.org/>
Feedback welcome
================
Please send Feedback about this snap to Martin Winter at 
`mwinter@opensourcerouting.org`
  |