Add some comments.
This commit is contained in:
parent
f0160f0e06
commit
39847cda73
1 changed files with 8 additions and 0 deletions
|
@ -517,6 +517,13 @@ link_back(struct ospf_area *oa, struct top_hash_entry *en, struct top_hash_entry
|
||||||
|
|
||||||
if (!en || !par) return 0;
|
if (!en || !par) return 0;
|
||||||
|
|
||||||
|
/* We should check whether there is a link back from en to par,
|
||||||
|
this is used in SPF calc (RFC 2328 16.1. (2b)). According to RFC 2328
|
||||||
|
note 23, we don't have to find the same link that is used for par
|
||||||
|
to en, any link is enough. This we do for ptp links. For net-rt
|
||||||
|
links, we have to find the same link to compute proper lb/lb_id,
|
||||||
|
which may be later used as the next hop. */
|
||||||
|
|
||||||
/* In OSPFv2, en->lb is set here. In OSPFv3, en->lb is just cleared here,
|
/* In OSPFv2, en->lb is set here. In OSPFv3, en->lb is just cleared here,
|
||||||
it is set in process_prefixes() to any global addres in the area */
|
it is set in process_prefixes() to any global addres in the area */
|
||||||
|
|
||||||
|
@ -556,6 +563,7 @@ link_back(struct ospf_area *oa, struct top_hash_entry *en, struct top_hash_entry
|
||||||
break;
|
break;
|
||||||
case LSART_VLNK:
|
case LSART_VLNK:
|
||||||
case LSART_PTP:
|
case LSART_PTP:
|
||||||
|
/* Not necessary the same link, see RFC 2328 [23] */
|
||||||
tmp = ospf_hash_find_rt(po->gr, oa->areaid, rtl->id);
|
tmp = ospf_hash_find_rt(po->gr, oa->areaid, rtl->id);
|
||||||
if (tmp == par)
|
if (tmp == par)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
Loading…
Reference in a new issue