mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-07-13 10:54:29 +00:00
Merge pull request #38 from donaldsharp/stable_ospf6_fix
ospf6d: resolve problem with area range lsid creation
This commit is contained in:
commit
ccc4bd3062
@ -424,12 +424,9 @@ ospf6_abr_originate_summary_to_area (struct ospf6_route *route,
|
||||
else
|
||||
{
|
||||
summary->path.origin.type = htons (OSPF6_LSTYPE_INTER_PREFIX);
|
||||
if (route->type == OSPF6_DEST_TYPE_RANGE)
|
||||
summary->path.origin.id = route->linkstate_id;
|
||||
else
|
||||
summary->path.origin.id =
|
||||
ospf6_new_ls_id (summary->path.origin.type,
|
||||
summary->path.origin.adv_router, area->lsdb);
|
||||
summary->path.origin.id =
|
||||
ospf6_new_ls_id (summary->path.origin.type,
|
||||
summary->path.origin.adv_router, area->lsdb);
|
||||
}
|
||||
summary = ospf6_route_add (summary, summary_table);
|
||||
}
|
||||
|
@ -465,8 +465,6 @@ DEFUN (area_range,
|
||||
range->prefix = prefix;
|
||||
range->path.area_id = oa->area_id;
|
||||
range->path.cost = OSPF_AREA_RANGE_COST_UNSPEC;
|
||||
range->linkstate_id =
|
||||
(u_int32_t) htonl(ospf6_new_range_ls_id (oa->range_table));
|
||||
}
|
||||
|
||||
if (argc > 2)
|
||||
@ -577,8 +575,6 @@ DEFUN (no_area_range,
|
||||
/* purge the old aggregated summary LSA */
|
||||
ospf6_abr_originate_summary(range);
|
||||
}
|
||||
ospf6_release_range_ls_id(oa->range_table,
|
||||
(u_int32_t) ntohl(range->linkstate_id));
|
||||
ospf6_route_remove (range, oa->range_table);
|
||||
|
||||
return CMD_SUCCESS;
|
||||
|
@ -547,24 +547,6 @@ ospf6_lsdb_show (struct vty *vty, enum ospf_lsdb_show_level level,
|
||||
}
|
||||
}
|
||||
|
||||
/* Decide new Link State ID to originate for the range. */
|
||||
u_int32_t
|
||||
ospf6_new_range_ls_id (struct ospf6_route_table *range_table)
|
||||
{
|
||||
u_int32_t id;
|
||||
|
||||
bf_assign_index(range_table->idspace, id);
|
||||
return (id);
|
||||
}
|
||||
|
||||
/* Release the LS ID back to the ID pool */
|
||||
void
|
||||
ospf6_release_range_ls_id (struct ospf6_route_table *range_table,
|
||||
u_int32_t id)
|
||||
{
|
||||
bf_release_index(range_table->idspace, id);
|
||||
}
|
||||
|
||||
u_int32_t
|
||||
ospf6_new_ls_id (u_int16_t type, u_int32_t adv_router,
|
||||
struct ospf6_lsdb *lsdb)
|
||||
|
@ -81,9 +81,6 @@ extern void ospf6_lsdb_show (struct vty *vty,
|
||||
|
||||
extern u_int32_t ospf6_new_ls_id (u_int16_t type, u_int32_t adv_router,
|
||||
struct ospf6_lsdb *lsdb);
|
||||
extern u_int32_t ospf6_new_range_ls_id (struct ospf6_route_table *range_table);
|
||||
extern void ospf6_release_range_ls_id (struct ospf6_route_table *range_table,
|
||||
u_int32_t id);
|
||||
extern u_int32_t ospf6_new_ls_seqnum (u_int16_t type, u_int32_t id,
|
||||
u_int32_t adv_router,
|
||||
struct ospf6_lsdb *lsdb);
|
||||
|
Loading…
Reference in New Issue
Block a user