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