version 1.1, 2012/02/21 17:26:12
|
version 1.1.1.2, 2012/10/09 09:22:29
|
Line 384 ospf_abr_nssa_am_elected (struct ospf_area *area)
|
Line 384 ospf_abr_nssa_am_elected (struct ospf_area *area)
|
if (best == NULL) |
if (best == NULL) |
best = &lsa->data->id; |
best = &lsa->data->id; |
else |
else |
if ( IPV4_ADDR_CMP (&best, &lsa->data->id) < 0) | if (IPV4_ADDR_CMP (&best->s_addr, &lsa->data->id.s_addr) < 0) |
best = &lsa->data->id; |
best = &lsa->data->id; |
} |
} |
|
|
Line 395 ospf_abr_nssa_am_elected (struct ospf_area *area)
|
Line 395 ospf_abr_nssa_am_elected (struct ospf_area *area)
|
if (best == NULL) |
if (best == NULL) |
return 1; |
return 1; |
|
|
if ( IPV4_ADDR_CMP (&best, &area->ospf->router_id) < 0) | if (IPV4_ADDR_CMP (&best->s_addr, &area->ospf->router_id.s_addr) < 0) |
return 1; |
return 1; |
else |
else |
return 0; |
return 0; |
Line 613 set_metric (struct ospf_lsa *lsa, u_int32_t metric)
|
Line 613 set_metric (struct ospf_lsa *lsa, u_int32_t metric)
|
memcpy(header->metric, mp, 3); |
memcpy(header->metric, mp, 3); |
} |
} |
|
|
static int |
|
ospf_abr_check_nssa_range (struct prefix_ipv4 *p, u_int32_t cost, |
|
struct ospf_area *area) |
|
{ |
|
/* The Type-7 is tested against the aggregated prefix and forwarded |
|
for lsa installation and flooding */ |
|
return 0; |
|
} |
|
|
|
/* ospf_abr_translate_nssa */ |
/* ospf_abr_translate_nssa */ |
static int |
static int |
ospf_abr_translate_nssa (struct ospf_area *area, struct ospf_lsa *lsa) |
ospf_abr_translate_nssa (struct ospf_area *area, struct ospf_lsa *lsa) |
Line 1574 ospf_abr_send_nssa_aggregates (struct ospf *ospf) /* t
|
Line 1565 ospf_abr_send_nssa_aggregates (struct ospf *ospf) /* t
|
|
|
if (IS_DEBUG_OSPF_NSSA) |
if (IS_DEBUG_OSPF_NSSA) |
zlog_debug ("ospf_abr_send_nssa_aggregates(): Stop"); |
zlog_debug ("ospf_abr_send_nssa_aggregates(): Stop"); |
} |
|
|
|
static void |
|
ospf_abr_announce_nssa_defaults (struct ospf *ospf) /* By ABR-Translator */ |
|
{ |
|
struct listnode *node; |
|
struct ospf_area *area; |
|
|
|
if (! IS_OSPF_ABR (ospf)) |
|
return; |
|
|
|
if (IS_DEBUG_OSPF_NSSA) |
|
zlog_debug ("ospf_abr_announce_stub_defaults(): Start"); |
|
|
|
for (ALL_LIST_ELEMENTS_RO (ospf->areas, node, area)) |
|
{ |
|
if (IS_DEBUG_OSPF_NSSA) |
|
zlog_debug ("ospf_abr_announce_nssa_defaults(): looking at area %s", |
|
inet_ntoa (area->area_id)); |
|
|
|
if (area->external_routing != OSPF_AREA_NSSA) |
|
continue; |
|
|
|
if (OSPF_IS_AREA_BACKBONE (area)) |
|
continue; /* Sanity Check */ |
|
|
|
/* if (!TranslatorRole continue V 1.0 look for "always" conf */ |
|
if (area->NSSATranslatorState) |
|
{ |
|
if (IS_DEBUG_OSPF_NSSA) |
|
zlog_debug ("ospf_abr_announce_nssa_defaults(): " |
|
"announcing 0.0.0.0/0 to this nssa"); |
|
/* ospf_abr_announce_nssa_asbr_to_as (&p, area->default_cost, area); */ |
|
/*ospf_abr_announce_network_to_area (&p, area->default_cost, area);*/ |
|
} |
|
} |
|
} |
} |
|
|
static void |
static void |