summaryrefslogtreecommitdiffstats
path: root/tools/git-reindent-branch.py
diff options
context:
space:
mode:
authorckishimo <carles.kishimoto@gmail.com>2020-09-28 23:26:18 +0200
committerckishimo <carles.kishimoto@gmail.com>2020-09-29 22:58:49 +0200
commitab1464ddb076c874a34c16339a966742e5ea6bad (patch)
tree9f22ce365cad23e06972e43fa96048ed15272d52 /tools/git-reindent-branch.py
parentMerge pull request #7169 from donaldsharp/some_code_cleanup (diff)
downloadfrr-ab1464ddb076c874a34c16339a966742e5ea6bad.tar.xz
frr-ab1464ddb076c874a34c16339a966742e5ea6bad.zip
ospfd: flush type 5 when type 7 is removed
When the ASBR stops announcing a prefix into the NSSA area, the LSA type 7 is removed from the area. However the ABR is refreshing the type 5 in its LSDB while removing the Type 7 LSA. Routers outside the area do not get an update. With the following topology: r1---r2---r3, with r3 being the ASBR announcing type 7 LSA: r3 configuration router ospf redistribute static network 10.0.23.0/24 area 1 area 1 nssa ! We stop announcing prefix 3.3.3.3 in the ASBR r3# conf r3(config)# router ospf r3(config-router)# no redistribute static r3(config-router)# r2 (ABR) r2# sh ip os database NSSA-external Link States (Area 0.0.0.1 [NSSA]) Link ID ADV Router Age Seq# CkSum Route 3.3.3.3 33.33.33.33 3600 0x8000002f 0x13be E2 3.3.3.3/32 [0x0] <-- flushed AS External Link States Link ID ADV Router Age Seq# CkSum Route 3.3.3.3 10.0.25.2 7 0x8000002f 0x73c7 E2 3.3.3.3/32 [0x0] <-- refreshed(?) With PR#7086 the LSA type 5 is flushed from the LSDB in r2 and the change is announced to routers outside the area (r1) r2# sh ip os da NSSA-external Link States (Area 0.0.0.1 [NSSA]) Link ID ADV Router Age Seq# CkSum Route 3.3.3.3 33.33.33.33 3600 0x80000002 0x6d91 E2 3.3.3.3/32 [0x0] <-- flushed AS External Link States Link ID ADV Router Age Seq# CkSum Route 3.3.3.3 10.0.25.2 3600 0x80000002 0xcd9a E2 3.3.3.3/32 [0x0] <-- flushed r1# sh ip os da AS External Link States Link ID ADV Router Age Seq# CkSum Route 3.3.3.3 10.0.25.2 3600 0x80000002 0xcd9a E2 3.3.3.3/32 [0x0] <-- flushed Unfortunately I just realized that with PR#7086 I'm introducing a new bug, as Type-5 LSA are not being refreshed when reaching MaxAge r2# sh ip os da NSSA-external Link States (Area 0.0.0.1 [NSSA]) Link ID ADV Router Age Seq# CkSum Route 3.3.3.3 33.33.33.33 35 0x80000002 0x6d91 E2 3.3.3.3/32 [0x0] <--- refreshed AS External Link States Link ID ADV Router Age Seq# CkSum Route 3.3.3.3 10.0.25.2 3600 0x80000002 0xcd9a E2 3.3.3.3/32 [0x0] <--- not refreshed! So this PR should fix the original issue and the bug introduced later, so when stopping redistribution in the ASBR, both type 5 and type 7 are flushed: r2# sh ip os da NSSA-external Link States (Area 0.0.0.1 [NSSA]) Link ID ADV Router Age Seq# CkSum Route 3.3.3.3 33.33.33.33 3600 0x80000002 0x6d91 E2 3.3.3.3/32 [0x0] AS External Link States Link ID ADV Router Age Seq# CkSum Route 3.3.3.3 10.0.25.2 3600 0x80000002 0xcd9a E2 3.3.3.3/32 [0x0] Routers outside the area are also notified r1# sh ip os da Link ID ADV Router Age Seq# CkSum Route 3.3.3.3 10.0.25.2 3600 0x80000002 0xcd9a E2 3.3.3.3/32 [0x0] Re-enabling redistribution, both LSA will be advertised again r3# conf r3(config)# router ospf r3(config-router)# no redistribute static r3(config-router)# redistribute static r3(config-router)# r2# sh ip os da NSSA-external Link States (Area 0.0.0.1 [NSSA]) Link ID ADV Router Age Seq# CkSum Route 3.3.3.3 33.33.33.33 19 0x80000001 0x6f90 E2 3.3.3.3/32 [0x0] AS External Link States Link ID ADV Router Age Seq# CkSum Route 3.3.3.3 10.0.25.2 11 0x80000001 0xcf99 E2 3.3.3.3/32 [0x0] and they are refreshed when reaching MaxAge NSSA-external Link States (Area 0.0.0.1 [NSSA]) Link ID ADV Router Age Seq# CkSum Route 3.3.3.3 33.33.33.33 10 0x80000002 0x6d91 E2 3.3.3.3/32 [0x0] <-- Seq 2 AS External Link States Link ID ADV Router Age Seq# CkSum Route 3.3.3.3 10.0.25.2 2 0x80000002 0xcd9a E2 3.3.3.3/32 [0x0] <-- Seq 2 Signed-off-by: ckishimo <carles.kishimoto@gmail.com>
Diffstat (limited to 'tools/git-reindent-branch.py')
0 files changed, 0 insertions, 0 deletions