FRR¶
Free Range Routing (FRR) is an open-source routing solution that offers a diverse array of routing protocols for seamless integration into computer networks. With this, they can offer diverse routing protocols or data centers, service providers, and enterprises. FRR is known for its comprehensive features, flexibility, and scalability, providing robust routing capabilities customizable to specific network requirements.
Here is a link for basic commands of configuration that might be helpful for the labs:
Some useful example commands:
| Command | Short Form | Explanation |
|---|---|---|
| configure | conf | Enter configuration mode |
| show running-config | show run | Show the current configuration |
| show startup-config | show start | Show the startup configuration |
| write | write | Write/save the configuration (copy running → startup) |
| no shutdown | no shut | Enable the interface |
| exit | ex | Exit the current mode/layer |
| end | — | Exit all layers |
| ip address / | ip add | Add an IPv4 address to the current interface |
| ipv6 address / | ipv6 add | Add an IPv6 address to the current interface |
| show ip route | sh ip route | View the IPv4 routing table |
| show ipv6 route | sh ipv6 route | View the IPv6 routing table |
| show interface | sh int | List interface configurations (can use brief) |
| show bgp summary | sh bgp summ | Show information about BGP neighbor connections |
| clear bgp * | — | restarts all BGP sessions on |
| show ip ospf | sh ip ospf | Show information about OSPF routes and calculations |
| show ip ospf neighbor | sh ip ospf nei | Show OSPF neighbor information |
| clear ip route * | — | Clear the IP routing table and force route relearning |
| bandwidth | band | Bandwidth in megabits per second |
Undoing configuration¶
If you end up making mistakes, undoing the configuration is as simple as writing no in front of the command you want to undo.
IPv6¶
*These settings are required to run IPv6 functionality in GNS3 with FRR.
By default, the OSPFv3 process is not being enabled in the current FRR image. There is also an issue that "ipv6 forwarding configuration is not maintained between system resets. Both of these settings must be remediated by altering startup commands in the FRR router while it is turned off. This can be done on each router that is already placed, or by altering the template and placing new instances of the router.
Right click on a router, click configure and edit the "Start commands":
/bin/bash -c "/usr/lib/frr/watchfrr -d zebra ospfd ospf6d bgpd && sysctl -w net.ipv6.conf.all.forwarding=1 && vtysh"
To check if you have the correct startup-commands, look for "ospf6d" and the "net.ipv6.conf.all.forwarding=1" commands:

OSPF in FRR¶
| FRR Command | Explanation |
|---|---|
| router ospf | Enable or disable the OSPF process |
| network A.B.C.D/M area (0-4294967295) | Configure an OSPF network and area |
| redistribute NAME | Redistributes routes learned from other protocols over OSPF |
| default-information originate always | Distribute default routes (0.0.0.0) internally over OSPF, often used when redistributing BGP or other routes in AS |
OSPF3 (IPV6) in FRR¶
| FRR Command | Explanation |
|---|---|
| router ospf3 | Enable the OSPFv3 process |
| ospf3 router-id X.X.X.X | Set router ID for OSPFv3 route-source identification |
BGP in FRR¶
| FRR Command | Explanation |
|---|---|
| router bgp ASN | Enable a BGP protocol process with the specified ASN. |
| bgp router-id X.X.X.X | Sets the router's ID, which is used as a source for identifying route source. |
| neighbor PEER remote-as ASN | Creates a new neighbor with the specified remote-AS. PEER can be an IPv4/IPv6 address or an interface. |
| neighbor PEER update-source lo | Used for iBGP, makes BGP peering sourced from the loopback interface, allowing IGP to control internal routing. |
| redistribute NAME | Redistribute routes from other protocols into BGP. Must be defined inside an address-family. |
| network X.X.X.X/X | Network for BGP to share. |
| neighbor X.X.X.X/X route-reflector-client | When route reflectors are configured, these will reflect the routes announced by the peers configured as clients |