Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@anlancs
Copy link
Contributor

@anlancs anlancs commented Oct 13, 2025

Consider ospf's summary address case: A.B.C.0/26 is summaried to A.B.C.0/24. Two lsas are originated: A.B.C.0/24, and maxaged A.B.C.63/26 with changed lsid. The neighbor received the A.B.C.0/24 lsa, then only removed the A.B.C.0/26 from lsdb. The neighbor didn't know the subsequent A.B.C.63/26 with changed lsid, then A.B.C.0/26 will wrongly remain in route table.

That is to say, the neighbor did not perceive that lsid of A.B.C.0/26 had been changed. So update route table for this case.

ospfv3 uses lsid in completely different way, so doesn't have this problem.

The issue can be reproduced with ospf neighbors, A and B:

On A:

ip route 8.8.8.0/26 2.2.2.2
router ospf
 ospf router-id 6.6.6.6
 redistribute static
 summary-address 8.8.8.0/24
exit

On B:

B# show ip os database
                     AS External Link States

Link ID         ADV Router      Age  Seq#       CkSum  Route
8.8.8.0        44.44.44.44        2 0x80000002 0xd3a8 E2 8.8.8.0/24 [0x0]

B# show ip os route
============ OSPF external routing table ===========
N E2 8.8.8.0/24            [100/20] tag: 0
                           via 88.1.1.88, enp1s0
N E2 8.8.8.0/26            [100/20] tag: 0
                           via 88.1.1.88, enp1s0

@ton31337
Copy link
Member

How did you test it?

@anlancs
Copy link
Contributor Author

anlancs commented Oct 13, 2025

How did you test it?

Ok, i have updated the description section above.

@ton31337
Copy link
Member

So, if this is easily reproducible, let's have a topotest.

@anlancs anlancs force-pushed the fix/ospfd-rcv-changed-lsid branch from 7b9d7d1 to eb21332 Compare October 14, 2025 14:19
@github-actions github-actions bot added size/S and removed size/XS labels Oct 14, 2025
Copy link
Member

@riw777 riw777 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good

@anlancs anlancs force-pushed the fix/ospfd-rcv-changed-lsid branch from eb21332 to c98c2db Compare October 15, 2025 06:49
@github-actions github-actions bot added size/XS and removed size/S labels Oct 15, 2025
Consider ospf's summary address case: A.B.C.0/26 is summaried to A.B.C.0/24.
Two lsas are originated: A.B.C.0/24, and maxaged A.B.C.63/26 with changed lsid.
The neighbor received the A.B.C.0/24 lsa, then only removed the A.B.C.0/26 from
lsdb.  The neighbor didn't know the subsequent A.B.C.63/26 with changed lsid,
then A.B.C.0/26 will wrongly remain in route table.

That is to say, the neighbor did not perceive that lsid of A.B.C.0/26 had been
changed.  So update route table for this case.

ospfv3 uses lsid in completely different way, so doesn't have this problem.

Signed-off-by: anlan_cs <[email protected]>
Add one summary case to check the inconsistency between lsdb and route table.

Signed-off-by: anlan_cs <[email protected]>
@anlancs anlancs force-pushed the fix/ospfd-rcv-changed-lsid branch from c98c2db to 6399f7e Compare October 19, 2025 08:53
@frrbot frrbot bot added the tests Topotests, make check, etc label Oct 19, 2025
@github-actions github-actions bot added size/M and removed size/XS labels Oct 19, 2025
@anlancs
Copy link
Contributor Author

anlancs commented Oct 20, 2025

So, if this is easily reproducible, let's have a topotest.

Done. Thanks for your suggestion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants