]>
Commit | Line | Data |
---|---|---|
447a8fe9 | 1 | Using the FRRouting Snap |
3ab11ecc MW |
2 | =============================== |
3 | ||
4 | After installing the Snap, the priviledged plug need to be connected: | |
5 | ||
f4c14c3a | 6 | snap connect frr:network-control core:network-control |
3ab11ecc | 7 | |
447a8fe9 | 8 | Enabling/Disabling FRRouting Daemons |
3ab11ecc MW |
9 | ------------------------------------------- |
10 | ||
447a8fe9 | 11 | By default (at this time), all FRRouting daemons will be enabled |
3ab11ecc MW |
12 | on installation. If you want to disable a specific daemon, then use |
13 | the systemctl commands | |
14 | ||
15 | ie for `ospf6d` (OSPFv3): | |
16 | ||
17 | systemctl disable snap.frr.ospf6d.service | |
18 | systemctl enable snap.frr.ospf6d.service | |
19 | ||
20 | The daemons are: `ripd`, `ripngd`, `ospfd`, `ospf6d`, `isisd`, `bgpd`, | |
feeaf30f MW |
21 | `pimd`, `pim6d`, `ldpd`, `eigrpd`, `babeld`, `nhrpd`, `bfdd`, `vrrpd`, |
22 | `pbrd`, `pathd`, `fabricd`, `staticd`, `zebra` | |
3ab11ecc MW |
23 | |
24 | Commands defined by this snap | |
25 | ----------------------------- | |
26 | ||
27 | - `frr.vtysh`: | |
447a8fe9 | 28 | FRRouting VTY Shell (configuration tool) |
3ab11ecc MW |
29 | - `frr.version`: |
30 | Returns output of `zebra --version` to display version and configured | |
31 | options | |
32 | - `frr.readme`: | |
33 | Returns this document `cat README_usage.md` | |
d851b2fc | 34 | - `frr.set`: |
4ed8f3f6 | 35 | Allows to enable `FPM` and/or disable RPKIi module. See Module section below |
3ab11ecc MW |
36 | |
37 | and for debugging defined at this time (May get removed later - do not | |
38 | depend on them). These are mainly intended to debug the Snap | |
39 | ||
40 | - `frr.zebra-debug`: | |
41 | Starts zebra daemon in foreground | |
42 | - `frr.ripd-debug`: | |
43 | Starts ripd daemon in foreground | |
44 | - `frr.ripngd-debug`: | |
45 | Starts ripng daemon in foreground | |
46 | - `frr.ospfd-debug`: | |
47 | Starts ospfd daemon in foreground | |
48 | - `frr.ospf6d-debug`: | |
49 | Starts ospf6d daemon in foreground | |
50 | - `frr.isisd-debug`: | |
51 | Starts isisd daemon in foreground | |
52 | - `frr.bgpd-debug`: | |
53 | Starts bgpd daemon in foreground | |
54 | - `frr.pimd-debug`: | |
55 | Starts pimd daemon in foreground | |
feeaf30f MW |
56 | - `frr.pim6d-debug`: |
57 | Starts pim6d daemon in foreground | |
3ab11ecc | 58 | - `frr.ldpd-debug`: |
64a6fb03 MW |
59 | Starts ldpd daemon in foreground |
60 | - `frr.nhrpd-debug`: | |
61 | Starts nhrpd daemon in foreground | |
62 | - `frr.babeld-debug`: | |
63 | Starts babeld daemon in foreground | |
64 | - `frr.eigrpd-debug`: | |
65 | Starts eigrpd daemon in foreground | |
66 | - `frr.pbrd-debug`: | |
67 | Starts pbrd daemon in foreground | |
68 | - `frr.staticd-debug`: | |
69 | Starts staticd daemon in foreground | |
70 | - `frr.bfdd-debug`: | |
71 | Starts bfdd daemon in foreground | |
b60c4b2c MW |
72 | - `frr.fabricd-debug`: |
73 | Starts fabricd daemon in foreground | |
3ab11ecc | 74 | |
f4c14c3a MW |
75 | MPLS (LDP) |
76 | ---------- | |
77 | The MPLS forwarding requires a Linux Kernel version 4.5 or newer and | |
78 | specific MPLS kernel modules loaded. It will be auto-detected by | |
79 | FRR. You can check the detected setup with the `show mpls status` | |
80 | command from within `frr.vtysh` | |
81 | ||
82 | The following kernel modules `mpls-router` and `mpls-iptunnel` | |
83 | need to be loaded. On Ubuntu 16.04, this can be done by editing | |
84 | '/etc/modules-load.d/modules.conf' and add the following lines: | |
85 | ||
86 | # Load MPLS Kernel Modules | |
87 | mpls-router | |
88 | mpls-iptunnel | |
89 | ||
90 | For other distributions, please check the documentation on loading | |
91 | modules. You need to either reboot or use `modprobe` to manually load | |
92 | the modules as well before MPLS will be available. | |
93 | ||
94 | In addition to this, the MPLS Label-Processing needs to be enabled | |
95 | with `sysctl` on the required interfaces. Assuming the interfaces | |
96 | are named `eth0`, `eth1` and `eth2`, then the additional lines in | |
97 | `/etc/sysctl.conf` will enable it on a Ubuntu 16.04 system: | |
98 | ||
99 | # Enable MPLS Label processing on all interfaces | |
100 | net.mpls.conf.eth0.input=1 | |
101 | net.mpls.conf.eth1.input=1 | |
102 | net.mpls.conf.eth2.input=1 | |
103 | net.mpls.platform_labels=100000 | |
104 | ||
105 | These settings require either a reboot or a manual configuration with | |
106 | `sysctl` as well. | |
107 | ||
4ed8f3f6 | 108 | Modules |
d851b2fc | 109 | ---------- |
4ed8f3f6 | 110 | The `frr.set` allows to turn FPM module ond the RPKI module on or off. |
d851b2fc MW |
111 | |
112 | frr.set fpm {disable|protobuf|netlink} | |
113 | ||
4ed8f3f6 | 114 | Disables FPM or enables FPM with selected mode (default: disabled) |
d851b2fc MW |
115 | |
116 | By default, the FPM module is disabled, but installed with netlink and | |
117 | protobuf support. To enable the FPM module, use the `frr.set fpm protobuf` | |
118 | or `frr.set fpm netlink` command. The command will only enable the mode | |
119 | for the next restart of zebra. Please reboot or restart zebra after | |
120 | changing the mode to become effective. | |
121 | ||
4ed8f3f6 MW |
122 | frr.set rpki {enable|disable} |
123 | ||
124 | Disables or enables BGP RPKI (default: enabled) | |
125 | ||
126 | By default, the RPKI module is enabled. To disable the RPKI module | |
127 | use the `frr.set rpki disable` command. The command will only enable | |
128 | the module after the next restart of the bgp daemon. Please reboot or | |
129 | restart bgpd after changing the mode to become effective. | |
130 | (Normally, there is no need to disable the module as it has no effect | |
131 | if there are no RPKI configurations in BGP) | |
132 | ||
3ab11ecc MW |
133 | FAQ |
134 | --- | |
135 | - frr.vtysh displays `--MORE--` on long output. How to suppress this? | |
136 | - Define `VTYSH_PAGER` to `cat` (default is `more`). (Ie add | |
137 | `export VTYSH_PAGER=cat` to the end of your `.profile`) | |
138 | ||
64a6fb03 | 139 | - bfdd / ospfd / ospf6d / nhrpd are not running after installation |
7ce9737d | 140 | - Installing a new snap starts the daemons, but at this time they |
f8c7b8a4 | 141 | may not have the required privileged access. Make sure you |
7ce9737d JAG |
142 | issue the `snap connect` command as given above (can be verified |
143 | with `snap interfaces`) and **THEN** restart the daemons (or | |
144 | reboot the system). | |
145 | This is a limitation of any snap package at this time which | |
f8c7b8a4 | 146 | requires privileged interfaces (ie to manipulate routing tables) |
7ce9737d JAG |
147 | |
148 | - Can I run vtysh directly without the "frr." prefix? | |
149 | - Yes, enable the vtysh alias in the frr snap package by: | |
150 | sudo snap alias frr vtysh | |
f4c14c3a | 151 | |
3ab11ecc MW |
152 | Sourcecode available |
153 | ==================== | |
154 | ||
447a8fe9 | 155 | The source for this SNAP is available as part of the FRRouting |
f4c14c3a MW |
156 | Source Code Distribution under `GPLv2 or later` |
157 | ||
158 | <https://github.com/frrouting/frr.git> | |
159 | ||
160 | Instructions for rebuilding the snap are in `snapcraft/README.snap_build.md` | |
3ab11ecc | 161 | |
f4c14c3a MW |
162 | *Please checkout the desired branch before following the instructions |
163 | as they may have changed between versions of FRR* | |
3ab11ecc | 164 | |
f4c14c3a MW |
165 | Official Webpage for FRR |
166 | ======================== | |
167 | ||
168 | Official webpage for FRR is at <https://www.frrouting.org/> | |
3ab11ecc MW |
169 | |
170 | Feedback welcome | |
171 | ================ | |
172 | ||
173 | Please send Feedback about this snap to Martin Winter at | |
174 | `mwinter@opensourcerouting.org` |