<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/frrouting-rib-and-fib-ipspace-net-blog-bovm0og0t" -->

---
title: FRRouting RIB and FIB « ipSpace.net blog | daily.dev
description: FRRouting (FRR) handles the RIB (Routing Information Base) and FIB (Forwarding Information Base) differently from traditional network OS implementations like...
canonical: https://daily.dev/posts/frrouting-rib-and-fib-ipspace-net-blog-bovm0og0t
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: FRRouting RIB and FIB « ipSpace.net blog | daily.dev
og:description: FRRouting (FRR) handles the RIB (Routing Information Base) and FIB (Forwarding Information Base) differently from traditional network OS implementations like...
og:url: https://daily.dev/posts/frrouting-rib-and-fib-ipspace-net-blog-bovm0og0t
og:image: https://api.daily.dev/og/posts/BoVm0OG0t.png
og:image:alt: FRRouting RIB and FIB « ipSpace.net blog
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# FRRouting RIB and FIB « ipSpace.net blog

**[ipSpace.net Blog](https://daily.dev/sources/ipspace)** · 5 min read · 0 upvotes · 0 comments

## Summary

FRRouting (FRR) handles the RIB (Routing Information Base) and FIB (Forwarding Information Base) differently from traditional network OS implementations like Arista EOS. In FRR, the zebra IP routing manager stores ALL routes from all protocols in the routing table, including both OSPF and BGP entries for the same prefix. The administrative distance selection only happens when routes are copied from zebra's routing table into the kernel forwarding table (FIB). This contrasts with Arista EOS, where only the winning route (lowest admin distance) appears in the routing table. The post also covers Linux-specific quirks: the `ip route` command omits /32 local interface prefixes (use `ip route list table local` to see them), and notes that FRR 10.0 will add local routes support. A netlab topology is provided to reproduce the described behavior.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blog.ipspace.net/2024/03/frr-rib-fib>

## Questions this post answers

### Why does FRRouting show both OSPF and BGP routes for the same prefix in the routing table?

FRRouting's zebra IP routing manager stores all routes from all protocols in its routing table, regardless of administrative distance. The admin distance selection — where the lowest-distance route wins — only happens when routes are copied from zebra's table into the kernel forwarding table (FIB). This differs from Arista EOS and Cisco IOS, where only the winning route appears in the routing table.

_Engineers debugging FRR route selection find the latest FRR behavior breakdowns on daily.dev._

### How do I see local interface /32 routes that are missing from `ip route` output on Linux?

The `ip route` command does not print /32 prefixes configured on local interfaces. To see those entries, run `ip route list table local`, which shows local and broadcast routes stored in the kernel's local routing table (table 255), including loopback and interface addresses.

_Linux networking quirks like this come up regularly for teams running FRR — daily.dev surfaces those discussions as they happen._

## Similar posts on daily.dev

- [The Never-Ending IPv6 Loopback Prefix Saga « ipSpace.net blog](https://daily.dev/posts/the-never-ending-ipv6-loopback-prefix-saga-ipspace-net-blog-4nlhgh10l) · ipSpace.net Blog · 0 upvotes · 0 comments
- [Running Your Own AS: BGP on FreeBSD with FRR, GRE Tunnels, and Policy Routing](https://daily.dev/posts/running-your-own-as-bgp-on-freebsd-with-frr-gre-tunnels-and-policy-routing-2autkoulu) · Lobsters · 1 upvotes · 0 comments
- [Multivendor SR-MPLS « ipSpace.net blog](https://daily.dev/posts/multivendor-sr-mpls-ipspace-net-blog-qekokwduk) · ipSpace.net Blog · 0 upvotes · 0 comments

---

Tags: [#bgp](https://daily.dev/tags/bgp)

[View this post on daily.dev](https://daily.dev/posts/frrouting-rib-and-fib-ipspace-net-blog-bovm0og0t)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"FRRouting RIB and FIB « ipSpace.net blog","url":"https://daily.dev/posts/frrouting-rib-and-fib-ipspace-net-blog-bovm0og0t","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/frrouting-rib-and-fib-ipspace-net-blog-bovm0og0t"},"datePublished":"2026-08-11T08:52:38.143Z","dateModified":"2026-08-11T09:12:55.803Z","description":"FRRouting (FRR) handles the RIB (Routing Information Base) and FIB (Forwarding Information Base) differently from traditional network OS implementations like...","image":"https://media.daily.dev/image/upload/s--HRgLpUt6--/f_auto/v1722860399/public/Placeholder%2003","thumbnailUrl":"https://media.daily.dev/image/upload/s--HRgLpUt6--/f_auto/v1722860399/public/Placeholder%2003","isAccessibleForFree":true,"articleSection":"ipSpace.net Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"ipSpace.net Blog","logo":"https://media.daily.dev/image/upload/s--xS7E82MT--/f_auto,q_auto/v1786438303/logos/ipspace?_a=BAMAMicg0","url":"https://daily.dev/sources/ipspace"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/frrouting-rib-and-fib-ipspace-net-blog-bovm0og0t","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"bgp","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"ipSpace.net Blog","item":"https://daily.dev/sources/ipspace"},{"@type":"ListItem","position":3,"name":"FRRouting RIB and FIB « ipSpace.net blog"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/frrouting-rib-and-fib-ipspace-net-blog-bovm0og0t#faq","mainEntity":[{"@type":"Question","name":"Why does FRRouting show both OSPF and BGP routes for the same prefix in the routing table?","acceptedAnswer":{"@type":"Answer","text":"FRRouting's zebra IP routing manager stores all routes from all protocols in its routing table, regardless of administrative distance. The admin distance selection — where the lowest-distance route wins — only happens when routes are copied from zebra's table into the kernel forwarding table (FIB). This differs from Arista EOS and Cisco IOS, where only the winning route appears in the routing table. Engineers debugging FRR route selection find the latest FRR behavior breakdowns on daily.dev."}},{"@type":"Question","name":"How do I see local interface /32 routes that are missing from `ip route` output on Linux?","acceptedAnswer":{"@type":"Answer","text":"The `ip route` command does not print /32 prefixes configured on local interfaces. To see those entries, run `ip route list table local`, which shows local and broadcast routes stored in the kernel's local routing table (table 255), including loopback and interface addresses. Linux networking quirks like this come up regularly for teams running FRR — daily.dev surfaces those discussions as they happen."}}]}
```

