summaryrefslogtreecommitdiff
path: root/ospf6d/ospf6_spf.c
diff options
context:
space:
mode:
Diffstat (limited to 'ospf6d/ospf6_spf.c')
-rw-r--r--ospf6d/ospf6_spf.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/ospf6d/ospf6_spf.c b/ospf6d/ospf6_spf.c
index 285d4bbb..d3c0f816 100644
--- a/ospf6d/ospf6_spf.c
+++ b/ospf6d/ospf6_spf.c
@@ -342,8 +342,11 @@ ospf6_spf_install (struct ospf6_vertex *v,
/* There should be no case where candidate being installed (variable
"v") is closer than the one in the SPF tree (variable "route").
- In the case something's gone wrong with the behavior of
+ In the case something has gone wrong with the behavior of
Priority-Queue. */
+
+ /* the case where the route exists already is handled and returned
+ up to here. */
assert (route == NULL);
route = ospf6_route_create ();
@@ -387,6 +390,8 @@ ospf6_spf_table_finish (struct ospf6_route_table *result_table)
}
}
+/* RFC2328 16.1. Calculating the shortest-path tree for an area */
+/* RFC2740 3.8.1. Calculating the shortest path tree for an area */
void
ospf6_spf_calculation (u_int32_t router_id,
struct ospf6_route_table *result_table,
@@ -415,7 +420,7 @@ ospf6_spf_calculation (u_int32_t router_id,
root->area = oa;
root->cost = 0;
root->hops = 0;
- root->nexthop[0].ifindex = 0; /* should have been loopbak I/F ... */
+ root->nexthop[0].ifindex = 0; /* loopbak I/F is better ... */
inet_pton (AF_INET6, "::1", &root->nexthop[0].address);
/* Actually insert root to the candidate-list as the only candidate */
@@ -427,7 +432,7 @@ ospf6_spf_calculation (u_int32_t router_id,
/* get closest candidate from priority queue */
v = pqueue_dequeue (candidate_list);
- /* install may result in merging and rejecting of the vertex */
+ /* installing may result in merging or rejecting of the vertex */
if (ospf6_spf_install (v, result_table) < 0)
continue;
@@ -507,7 +512,7 @@ ospf6_spf_calculation_thread (struct thread *t)
}
ospf6_intra_route_calculation (oa);
- ospf6_intra_asbr_calculation (oa);
+ ospf6_intra_brouter_calculation (oa);
return 0;
}