summaryrefslogtreecommitdiff
path: root/ospfd
diff options
context:
space:
mode:
authorpaul <paul>2004-11-12 10:52:19 +0000
committerpaul <paul>2004-11-12 10:52:19 +0000
commit05e85fa947f3775ac7417f5aa7111d056971bb18 (patch)
tree2c2cef5c91516c4d38233a5a4d8ad8d7cb163436 /ospfd
parent9104f569a64db99cb7547b55488f3e4c8395ee58 (diff)
2004-11-12 Paul Jakma <paul@dishone.st>
* ospf_ia.c: (process_summary_lsa) Only an ABR has any reason to ignore stub area summary default. Even so it seems a strange check, add a comment to that effect.
Diffstat (limited to 'ospfd')
-rw-r--r--ospfd/ChangeLog6
-rw-r--r--ospfd/ospf_ia.c7
2 files changed, 12 insertions, 1 deletions
diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog
index 3adaeaf7..85d99508 100644
--- a/ospfd/ChangeLog
+++ b/ospfd/ChangeLog
@@ -1,3 +1,9 @@
+2004-11-12 Paul Jakma <paul@dishone.st>
+
+ * ospf_ia.c: (process_summary_lsa) Only an ABR has any reason to
+ ignore stub area summary default. Even so it seems a strange
+ check, add a comment to that effect.
+
2004-11-04 Paul Jakma <paul@dishone.st>
* ospfd.c: (ospf_network_match_iface) revert to previous network
diff --git a/ospfd/ospf_ia.c b/ospfd/ospf_ia.c
index ff47f4fe..8e82582d 100644
--- a/ospfd/ospf_ia.c
+++ b/ospfd/ospf_ia.c
@@ -241,7 +241,12 @@ process_summary_lsa (struct ospf_area *area, struct route_table *rt,
ospf_area_range_active (range))
return 0;
- if (ospf->abr_type != OSPF_ABR_STAND &&
+ /* XXX: This check seems dubious to me. If an ABR has already decided
+ * to consider summaries received in this area, then why would one wish
+ * to exclude default?
+ */
+ if (IS_OSPF_ABR(ospf) &&
+ ospf->abr_type != OSPF_ABR_STAND &&
area->external_routing != OSPF_AREA_DEFAULT &&
p.prefix.s_addr == OSPF_DEFAULT_DESTINATION &&
p.prefixlen == 0)