Hello David
Wow, as always, your scenarios are very specific, and itâs always interesting to see how OSPF behaves in these particular setups. Well, here goesâŠ
What the book says is true, but it is stated too broadly, I think. Although it is true, it does not take into account your specific scenario. I believe the book should be reworded like so:
An OSPF distribute-list does not remove or block Type 1 LSAs from the LSDB. However, on a Cisco ABR, an inbound OSPF distribute-list can prevent the route from entering the ABRâs routing table, and because Type 3 LSAs are generated based on the ABRâs usable routing information, the ABR may then stop advertising that prefix as a Type 3 LSA into other areas.
So both the text and your scenario are related, but they are talking about different points in the process.
In your topology, R4 receives 1.1.1.1/32 from Area 0 as intra-area OSPF information. When you apply:
ip prefix-list CISCO2 seq 5 deny 1.1.1.1/32
ip prefix-list CISCO2 seq 10 permit 0.0.0.0/0 le 32
router ospf ...
distribute-list prefix CISCO2 in G1
you are not preventing R4 from having the Type 1 LSA in its Area 0 LSDB. Thatâs what the book is saying. Area 0 still has to maintain a consistent LSDB. But you are preventing R4 from installing that route into its own routing table. Since R4 no longer has 1.1.1.1/32 as a usable OSPF route, it does not generate the corresponding Type 3 summary LSA into Area 1 and Area 2.
That is why R2 and R3 lose 1.1.1.1/32, while 1.1.1.2/32 remains. Your output confirms exactly that.
So the book is correct in the sense that a distribute-list does not directly filter Type 1 LSAs from the LSDB. However, your lab is also correct: on Cisco IOS, an inbound OSPF distribute-list on an ABR can indirectly prevent Type 3 LSA generation because it prevents the ABR from installing the route in the routing table. Thatâs what the book is not addressing. Since the ABR has no usable route for that prefix, it does not advertise it into the other areas as a Type 3 LSA.
As a general rule, for such scenarios, it is preferable to use the filter-list feature rather than distribute-lists. This feature filters Type 3 LSA generation between areas, whereas distribute-lists control what enters the local routing table. Although you can do similar things with both, the filter-lists are cleaner solutions.
I hope this has been helpful!
Laz