Introduction
Route redistribution is the process of sharing routes from one routing protocol into another routing protocol. It is used when different routing domains need to exchange reachability information.
Different routing protocols may be used in various parts of a network. The routers may discover and use all possible pathways to their destinations by redistributing routes amongst different protocols. Route Redistribution has always been an integral part of networking basics which you can learn from a CCNA Course by PyNet Labs.
In this blog, we will go deep into the topic of routing redistribution from EIGRP to OSPF and vice versa. Also, the process of redistributing routes from IGP to BGP and vice versa. As the title indicates, this is a tutorial for learning the fundamentals of route redistribution.
What is Routing?
Routing is the process of determining the best and most effective path for network traffic to travel from its source to its destination across a network. It involves the selection and forwarding of data packets based on routing tables and algorithms implemented in network devices called Routers.
The main objective of Routing is to transport data packets precisely and effectively while taking into account variables like network structure, available pathways, congestion, and routing metrics. For routers to communicate routing information and be able to decide how to forward packets, they employ routing protocols like OSPF, EIGRP, or BGP.
Let’s understand the basic definition of Route redistribution now.
What is Route Redistribution?
Route Redistribution is the phenomena of two or more routing protocols sharing routing information. It is often used when connecting different networks that use different routing protocols, such as OSPF, EIGRP, or BGP.
For example, suppose we have a network comprising two subnets: Subnet A and Subnet B. Subnet A uses OSPF as its routing protocol, while Subnet B uses EIGRP. If we want to allow Subnet A hosts to communicate with Subnet B hosts, we need to share the routing information between OSPF and EIGRP. This is where route redistribution comes in.
- When a network has multiple routing protocols running simultaneously, redistribution may be necessary to ensure that all routers in the network can communicate with each other.
- By redistributing routes learned from one routing protocol into another, we can ensure all routers have complete and accurate routing information.
Why route redistribution is used?
In real networks, one protocol is not always enough. A network may have:
- Different routing domains
- Different vendors
- Separate design zones
- Migration projects using old and new protocols together
That is where redistribution becomes useful. It helps maintain connectivity when more than one routing protocol exists.
Route Redistribution of IGP Protocols
The most usual situation for large business networks with several routers is to run a single IGP routing protocol (IGP = inner gateway protocol) between the routers to share the network’s routing information. OSPF, EIGRP (cisco proprietary), and, in certain situations, IS-IS are the most widely accepted IGP routing protocols used by today’s networks. RIP is also an IGP, although it is no longer utilized. It can only be found on old legacy networks (or in lab settings for research purposes).
The scenario, as mentioned above, wherein a singular routing protocol is utilized, is a common case. In certain cases, multiple IGPs may be utilized within a network due to various factors, including but not limited to the combination of two organizations with distinct routing protocols, transitioning from one protocol to another, or the installation of router devices from a different vendor.
In a network where two IGP routing protocols, such as enhanced interior gateway routing protocol (EIGRP) or open shortest path first (OSPF), coexist, routing redistribution is necessary to ease the exchange of routing information between the two protocols.
Let’s further understand with the topology how the route redistribution process works.
Route Redistribution of EIGRP to OSPF

R-1
Router(config)#Hostname R-1
R-1(config)#int gig0/0
R-1(config-if)#ip add 1.1.1.1 255.0.0.0
R-1(config-if)#no shut
R-1(config-if)#exit
R-1(config)#int gig0/1
R-1(config-if)#ip add 10.1.1.1 255.0.0.0
R-1(config-if)#no shut R-1(config-if)#exit
R-2
Router(config)#Hostname R-2
R-2(config)#int gig0/0
R-2(config-if)#ip add 1.1.1.2 255.0.0.0
R-2(config-if)#no shut
R-2(config-if)#exit
R-2(config)#int gig0/1
R-2(config-if)#ip add 2.2.2.1 255.0.0.0
R-2(config-if)#no shut R-2(config-if)#exit
R-3
Router(config)#Hostname R-3
R-3(config)#int gig0/0
R-3(config-if)#ip add 2.2.2.2 255.0.0.0
R-3(config-if)#no shut
R-3(config-if)#exit
R-3(config)#int gig0/1
R-3(config-if)#ip add 30.1.1.1 255.0.0.0
R-3(config-if)#no shut R-3(config-if)#exit
Routing for R-1
R-1(config)#router eigrp 100
R-1(config-router)#network 10.0.0.0
R-1(config-router)#network 1.0.0.0
R-1(config-router)#exit
Routing for R-2
R-2(config)#router eigrp 100
R-2(config-router)#network 1.0.0.0
R-2(config-router)#exit
*Feb 22 10:20:43.951: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbour 1.1.1.1 (GigabitEthernet0/0) is up: new adjacency
R-2(config)#router ospf 1
R-2(config-router)#network 2.0.0.0 0.255.255.255 area 0
R-2(config-router)#ex
Routing for R-3
R-3(config)#router ospf 1
R-3(config-router)#network 30.0.0.0 0.255.255.255 area 0
R-3(config-router)#network 2.0.0.0 0.255.255.255 area 0
R-3(config-router)#ex
*Feb 22 10:22:56.159: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.1 on GigabitEthernet0/0 from LOADING to FULL, Loading Done
Redistribution for R-2
R-2(config-router)#router eigrp 100
R-2(config-router)#redistribute ospf 1 metric ?
<1-4294967295> Bandwidth metric in Kbits per second
R-2(config-router)#redistribute ospf 1 metric 10000 ?
<0-4294967295> EIGRP delay metric, in 10 microsecond units
R-2(config-router)#redistribute ospf 1 metric 10000 100 ?
<0-255> EIGRP reliability metric where 255 is 100% reliable
R-2(config-router)#redistribute ospf 1 metric 10000 100 255 ?
<1-255> EIGRPEffective bandwidth metric (Loading) where 255 is 100% loaded
R-2(config-router)#redistribute ospf 1 metric 10000 100 255 1 ?
<1-65535> EIGRP MTU of the path
R-2(config-router)#redistribute ospf 1 metric 10000 100 255 1 1500
R-2(config-router)#exit
R-2(config)#router ospf 1
R-2(config-router)#redistribute eigrp 100 subnets
R-2(config-router)#exit
Routing Table for R-1 As OSPF Routes are injected here mentioned as external EIGRP with AD of 170

Routing info. For R-1

As you can now see the redistributed routes coming from EIGRP are mentioned here in the OSPF domain by O E2 routes.
So, that‘s the one scenario for IGP redistribution but now we’ll try to redistribute IGPs & BGP together in a single lab.
Route Redistribution IGPs & BGP

Initially, we’ll start with the basic IP configuration & then we’ll perform routing as mentioned according to the topology!
BGP Process on – (R1, R2, R3)
OSPF Process on – (R3, R4, R5)
EIGRP Process on – (R5, R6)
R-1
R-1(config)#int gig0/0
R-1(config-if)#ip add 10.100.200.1 255.255.255.252
R-1(config-if)#no shut
R-1(config-if)#exit
R-2
Router(config)#hostname R-2
R-2(config)#inter gig0/0
R-2(config-if)#ip add 10.100.200.2 255.255.255.252
R-2(config-if)#no shu
R-2(config-if)#ex
R-2(config)#int gig0/1
R-2(config-if)#ip add 10.200.250.1 255.255.255.252
R-2(config-if)#no shut
R-2(config-if)#exit
R-3
Router(config)#hostname R-3
R-3(config)#int gig0/0
R-3(config-if)#ip add 10.200.250.2 255.255.255.252
R-3(config-if)#no shut
*Feb 22 10:45:06.551: %LINK-3-UPDOWN: Interface GigabitEthernet0/0, changed state to up
*Feb 22 10:45:07.551: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to up
R-3(config-if)#int gig0/1
R-3(config-if)#ip add 172.16.0.1 255.255.255.0
R-3(config-if)#no shut
R-3(config-if)#exit
R-4
R-4(config)#int gig0/0
R-4(config-if)#ip add 172.16.0.2 255.255.255.0
R-4(config-if)#no shut
R-4(config-if)#exit
*Feb 22 10:46:25.289: %LINK-3-UPDOWN: Interface GigabitEthernet0/0, changed state to up
*Feb 22 10:46:26.293: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to up
R-4(config)#int gig0/1
R-4(config-if)#ip add 172.16.100.1 255.255.255.0
R-4(config-if)#no shut
R-5
R-5(config)#int gig0/0
R-5(config-if)#ip add 172.16.100.2 255.255.255.0
R-5(config-if)#no shut
R-5(config-if)#exit
R-5(config)#inter gig0/1
R-5(config-if)#ip add 10.20.30.1 255.255.255.0
R-5(config-if)#no shut
R-5(config-if)#exit
R-6
R-6(config)#hostname R-6
R-6(config)#int gig0/0
R-6(config-if)#ip add 10.20.30.2 255.255.255.0
R-6(config-if)#no shut
Now, we’ll implement routing according to routers!
R-1
R-1(config)#router bgp 100
R-1(config-router)#neighbor 10.100.200.2 remote-as 200
R-1(config-router)#exit
*Feb 22 10:50:34.361: %BGP-5-ADJCHANGE: neighbor 10.100.200.2 Up
R-2
R-2(config)#router bgp 200
R-2(config-router)#neighbor 10.100.200.1 remote-as 100
*Feb 22 10:50:31.767: %BGP-5-ADJCHANGE: neighbor 10.100.200.1 Up
R-2(config-router)#
R-2(config-router)#neighbor 10.200.250.2 remote-as 250
R-2(config-router)#network 10.100.200.0 mask 255.255.255.252
R-2(config-router)#exit
*Feb 22 10:52:30.176: %BGP-5-ADJCHANGE: neighbor 10.200.250.2 Up
R-3
R-3(config)#router ospf 1
R-3(config-router)#network 172.16.0.0 0.0.0.255 area 0
R-3(config-router)#exit
R-3(config)#router bgp 250
R-3(config-router)#neighbor 10.200.250.1 remote-as 200
R-3(config-router)#network 10.200.250.0 mask 255.255.255.252
R-3(config-router)#exit
*Feb 22 10:52:34.314: %BGP-5-ADJCHANGE: neighbor 10.200.250.1 Up
R-4
R-4(config)#router ospf 1
R-4(config-router)#network 172.16.100.0 0.0.0.255 area 0
R-4(config-router)#network 172.16.0.0 0.0.0.255 area 0
R-4(config-router)#ex
*Feb 22 10:58:23.768: %OSPF-5-ADJCHG: Process 1, Nbr 172.16.0.1 on GigabitEthernet0/0 from LOADING to FULL, Loading Done
R-5
R-5(config)#router ospf 1
R-5(config-router)#network 172.16.100.0 0.0.0.255 area 0
R-5(config-router)#exit
*Feb 22 10:59:08.409: %OSPF-5-ADJCHG: Process 1, Nbr 172.16.100.1 on GigabitEthernet0/0 from LOADING to FULL, Loading Done
R-5(config)#router eigrp 100
R-5(config-router)#network 10.20.30.0
R-5(config-router)#exit
*Feb 22 10:59:34.244: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 10.20.30.2 (GigabitEthernet0/1) is up: new adjacency
Now, we’ll redistribute –
OSPF to BGP & BGP to OSPF on –
R-3
R-3(config)#router ospf 1
R-3(config-router)#redistribute bgp 250
R-3(config-router)#exit
R-3(config)#router bgp 250
R-3(config-router)#redistribute ospf 1
R-3(config-router)#exit
EIGRP to OSPF & OSPF to EIGRP
R-5
R-5(config)#router eigrp 100
R-5(config-router)#redistribute ospf 1 metric 10000 1 255 1 1500
R-5(config-router)#exit
R-5(config)#router ospf 1
R-5(config-router)#redistribute eigrp 100
R-5(config-router)#exit
Hence, the protocol redistribution for routers is complete.
Redistribution Risks and Best Practices
Route redistribution is powerful because it connects routing domains that otherwise can’t “see” each other. But the same power makes it risky. If redistribution is misconfigured, it can cause suboptimal routing, route oscillations, and even persistent routing loops.
That’s why redistribution should be treated as a controlled policy, not a “turn it on and forget it” feature.
Seed metrics
Seed metrics is the first reason redistribution breaks. When routes move from one protocol into another, the receiving protocol needs a “starting” metric value it can understand. Different protocols use different metric models, so the metric must be set deliberately when redistributing.
Why it matters: bad seed metrics create bad path choices (traffic takes unusual paths) and can contribute to unstable routing behavior.
Route maps and policy control
Redistribution should rarely include every route. The safest approach is to filter what gets redistributed and set consistent attributes. You can do this via using a route map (often paired with ACLs/prefix matching) to control what is redistributed.
This gives you two benefits:
- You prevent unnecessary routes from entering another domain (less noise, less risk).
- You can shape behavior (metrics/tags) consistently.
Route tagging and loop prevention
Another practical safeguard is route tagging. Tagging helps you identify routes that were redistributed, so they don’t get re-injected back into their original routing domain during mutual redistribution designs. Tagging + filtering can prevent routes from being readvertised back and forming redistribution loops.
Quick checklist before you redistribute
Before enabling redistribution, confirm:
- What exact routes should be redistributed (and which should not)
- What seed metric(s) will be used in the receiving protocol?
- Whether tagging is required to prevent feedback loops
- Whether redistribution will happen at a single point (preferred) or multiple points (higher risk)
Benefits of Route Redistribution
Some of the benefits of route redistribution are:
- Connects networks running different routing protocols (common during mergers, upgrades, or multi-vendor environments).
- Let’s you migrate from one protocol to another gradually without breaking reachability.
- It enable controlled route sharing between separate routing domains (core vs branch, WAN vs campus).
- Improves resiliency by providing alternate paths when one routing domain fails.
- Reduces static routes by dynamically exchanging learned routes when filtered and tuned with route maps and seed metrics.
Frequently Asked Questions
Q1. What is route redistribution?
Route redistribution is a process in computer networking where routing information is exchanged between different routing protocols. It allows the redistribution of routes learned from one routing protocol into another, enabling communication between networks that use different routing protocols.
Q2. What is an example of a route redistribution?
An example of route redistribution is when a network administrator wants to connect two networks that use different routing protocols, such as OSPF and EIGRP. To achieve connectivity, the administrator can configure route redistribution, allowing routes learned from OSPF to be shared with the EIGRP network and vice versa.
Q3. What is route leaking vs route redistribution?
Route leaking refers to the intentional or unintentional sharing of routes between different routing domains or virtual routing instances within the same routing domain. On the other hand, route redistribution is a deliberate process of exchanging routing information between different routing protocols, allowing routes learned from one protocol to be shared with another.
Q4. What is the difference between route advertisement and route redistribution?
Route advertisement is the process of informing neighbouring routers about a specific route’s existence. On the other hand, Redistribution facilitates the integration of multiple routing domains and enables routers to exchange routing information across different networks.
Conclusion
Route redistribution is a useful but complex process that allows communication between different networks that use different routing protocols. It requires careful planning and configuration to avoid potential problems and ensure optimal performance. By following some basic principles and best practices, we can implement route redistribution successfully and efficiently.
Route Redistribution related Courses are ENCOR 350-401 and ENARSI 300-410.










