Back to Blog
โ˜…โ˜…โ˜†Intermediate๐Ÿ”€ Routing & Switching
OSPFEIGRPRedistributionRoutingCiscoBGPCCNPEnterprise

OSPF vs EIGRP: Real-World Redistribution Scenarios

April 11, 2026ยท8 min read

The Protocol Decision

In a greenfield design you pick one IGP and stick with it. In real enterprise networks โ€” especially in environments that have grown through acquisitions, migrations, or vendor changes โ€” you often inherit a hybrid: OSPF in one part of the network, EIGRP in another. Redistribution is the glue.

Before getting to redistribution, it helps to understand why you might end up with both protocols in the first place:

  • Acquisition: A company with an EIGRP network acquired a company running OSPF
  • Migration in progress: Moving from EIGRP to OSPF but mid-flight; both running simultaneously
  • Vendor boundary: Cisco campus running EIGRP, a third-party router (non-Cisco, EIGRP not supported) in the WAN running OSPF
  • Legacy design: Parts of the network were never migrated after an earlier protocol change

Protocol Comparison

AttributeOSPFEIGRP
StandardOpen (RFC 2328/5340)Cisco proprietary (RFC 7868 after opening)
AlgorithmDijkstra SPF (link-state)DUAL (diffusing computation)
MetricCost (based on bandwidth)Composite: bandwidth + delay (+ load, reliability optional)
ConvergenceModerate โ€” SPF recalculationFast โ€” DUAL precomputes successors
Route typesIntra-area, inter-area, external (E1/E2)Internal, external, summary
Administrative distance110 (internal), 110 (external)90 (internal), 170 (external)
ScalabilityRequires area design for large networksScales well; bounded by EIGRP AS boundary
Multi-vendorYes โ€” works with any vendorCisco-only (practically)

// Redistribution Topology โ€” EIGRP AS 1 โ†” OSPF Area 0 EIGRP AS 1 R1 10.1.1.0/24 R2 10.1.2.0/24 REDIST-R EIGRP + OSPF Dual protocol OSPF Area 0 R3 172.16.1.0/24 R4 172.16.2.0/24 EIGRPโ†’OSPF OSPFโ†’EIGRP โš  Routing loops possible with two redistribution points โ€” use route-tags

Mutual Redistribution โ€” The Basics

Redistribute EIGRP into OSPF

# On REDIST-R โ€” inject EIGRP routes into OSPF
REDIST-R(config)# router ospf 1
REDIST-R(config-router)#  redistribute eigrp 1 subnets
# "subnets" is required โ€” without it, only classful networks are redistributed
# Default: redistributed routes become OSPF External Type 2 (E2)
# E2 = metric does NOT accumulate as the route traverses OSPF
# E1 = metric accumulates โ€” use E1 when you want cost to reflect distance

# Set a default metric for redistributed routes (OSPF cost)
REDIST-R(config-router)#  redistribute eigrp 1 subnets metric 20
# All EIGRP routes appear in OSPF with cost 20

Redistribute OSPF into EIGRP

# On REDIST-R โ€” inject OSPF routes into EIGRP
REDIST-R(config)# router eigrp 1
REDIST-R(config-router)#  redistribute ospf 1 metric 10000 100 255 1 1500
# EIGRP requires explicit metric when redistributing: bandwidth delay reliability load mtu
# 10000 kbps = 10 Mbps reference bandwidth
# 100 = delay in 10-microsecond units (1 ms)
# 255 = reliability (255/255 = 100%)
# 1 = load (1/255 = minimal)
# 1500 = MTU
# Without this explicit metric: redistribute is silently ignored

The Routing Loop Problem

With two redistribution points (REDIST-R1 and REDIST-R2 both running EIGRP + OSPF), routing loops become a serious risk.

Scenario: 10.1.1.0/24 originates in EIGRP. REDIST-R1 redistributes it into OSPF (E2, metric 20). REDIST-R2 sees it in OSPF and redistributes it back into EIGRP as an external route (AD 170). Now EIGRP has two routes to 10.1.1.0: the original internal (AD 90, better) and the re-injected external (AD 170, worse). IOS picks AD 90, so no immediate loop โ€” but if the original EIGRP route disappears, REDIST-R2's re-injected version becomes the preferred path, creating a loop back toward OSPF.

Fix: Route Tagging

# On REDIST-R1 โ€” tag routes when redistributing EIGRP into OSPF
REDIST-R1(config)# route-map EIGRP-TO-OSPF permit 10
REDIST-R1(config-route-map)#  set tag 100
REDIST-R1(config)# router ospf 1
REDIST-R1(config-router)#  redistribute eigrp 1 subnets route-map EIGRP-TO-OSPF

# On REDIST-R2 โ€” when redistributing OSPF into EIGRP, deny routes tagged 100
# (these came from EIGRP originally โ€” don't send them back)
REDIST-R2(config)# route-map OSPF-TO-EIGRP deny 5
REDIST-R2(config-route-map)#  match tag 100
REDIST-R2(config)# route-map OSPF-TO-EIGRP permit 10
REDIST-R2(config-route-map)#  set tag 200
REDIST-R2(config)# router eigrp 1
REDIST-R2(config-router)#  redistribute ospf 1 metric 10000 100 255 1 1500 route-map OSPF-TO-EIGRP

# Mirror the same logic on REDIST-R1 for the OSPFโ†’EIGRP direction
# Tag 200 on REDIST-R2's redistributed routes, deny tag 200 on REDIST-R1

Administrative Distance Manipulation

AD determines which protocol wins when the same prefix is learned from multiple sources. Default ADs:

  • EIGRP internal: 90
  • OSPF internal: 110
  • EIGRP external: 170
  • OSPF external (E2): 110

When OSPF redistributes from EIGRP, the re-injected external routes in EIGRP get AD 170. If the original EIGRP internal route (AD 90) exists, it wins โ€” correct. But if you need OSPF to win for specific prefixes, adjust AD.

# Increase OSPF AD for external routes so EIGRP internal always wins
REDIST-R(config)# router ospf 1
REDIST-R(config-router)#  distance ospf external 200
# Now OSPF external routes have AD 200 โ€” never beat EIGRP internal (90)

# Or use the "distance" command to set per-source AD
REDIST-R(config)# router eigrp 1
REDIST-R(config-router)#  distance eigrp 90 200
# eigrp internal=90, eigrp external=200
# Ensures OSPF internal (110) beats EIGRP external (200) for OSPF-native routes

Verification

# Verify redistributed routes appear in each protocol's table
R3# show ip route ospf
# O E2 10.1.1.0/24 [110/20] via REDIST-R โ€” EIGRP routes now visible in OSPF domain

R1# show ip route eigrp
# D EX 172.16.1.0/24 [170/...] via REDIST-R โ€” OSPF routes visible in EIGRP domain

# Check route tags are applied correctly
R3# show ip route 10.1.1.0 255.255.255.0
# Tag 100 should appear in the route detail โ€” confirms tag applied at REDIST-R1

# Verify no feedback loop โ€” this route should NOT appear in both protocols' tables
REDIST-R2# show ip route 10.1.1.0 255.255.255.0
# Should only show EIGRP internal route, NOT an OSPF external with lower AD

# Check EIGRP topology for successor/feasible successor
R1# show ip eigrp topology 10.1.1.0/24
# Confirm successor path and that re-injected external isn't competing

Production Recommendation

Redistribution is inherently fragile. Every time you touch it, something can break. Minimize it:

  1. Prefer a single IGP. If you can migrate entirely to one protocol, do it. Redistribution is a migration tool, not a long-term architecture.
  2. Use prefix-lists to control what crosses the boundary. Don't redistribute "everything" โ€” be explicit about which prefixes move from one domain to the other.
  3. Document every redistribution point โ€” what prefixes, which direction, what tags, what metric. When something breaks at 2am, you need this in front of you immediately.
  4. Test failover. Shut down the primary redistribution router and verify traffic continues through the secondary. Do this in a maintenance window, not during an incident.