eigrp_prefix_entry_delete(struct list *topology,
struct eigrp_prefix_entry *node)
{
+ struct eigrp *eigrp = eigrp_lookup ();
+
+ /*
+ * Emergency removal of the node from this list.
+ * Whatever it is.
+ */
+ listnode_delete(eigrp->topology_changes_internalIPV4, node);
+
if (listnode_lookup(topology, node) != NULL)
{
list_delete_all_node(node->entries);
void
eigrp_update_topology_table_prefix(struct list * table, struct eigrp_prefix_entry * prefix)
{
- struct listnode *node1, *node2;
-
- struct eigrp_neighbor_entry *entry;
- for (ALL_LIST_ELEMENTS(prefix->entries, node1, node2, entry))
- {
- if(entry->distance == EIGRP_MAX_METRIC)
- {
- eigrp_neighbor_entry_delete(prefix,entry);
- }
- }
- if(prefix->distance == EIGRP_MAX_METRIC && prefix->nt != EIGRP_TOPOLOGY_TYPE_CONNECTED)
- {
- eigrp_prefix_entry_delete(table,prefix);
- }
+ struct listnode *node1, *node2;
+
+ struct eigrp_neighbor_entry *entry;
+ for (ALL_LIST_ELEMENTS(prefix->entries, node1, node2, entry))
+ {
+ if(entry->distance == EIGRP_MAX_METRIC)
+ {
+ eigrp_neighbor_entry_delete(prefix,entry);
+ }
+ }
+ if(prefix->distance == EIGRP_MAX_METRIC && prefix->nt != EIGRP_TOPOLOGY_TYPE_CONNECTED)
+ {
+ eigrp_prefix_entry_delete(table,prefix);
+ }
}
/*int
eigrp_topology_get_successor_count (struct eigrp_prefix_entry *prefix)
show_ip_eigrp_interface_header (vty, eigrp);
}
- // if ((strncmp (argv[1], "f", 1) == 0 && strncmp (eigrp_if_name_string (ei), "F",1) == 0) ||
- // (strncmp (argv[1], "l", 1) == 0 && strncmp (eigrp_if_name_string (ei), "L",1) == 0) ||
- // (strncmp (argv[1], "s", 1) == 0 && strncmp (eigrp_if_name_string (ei), "S",1) == 0))
- // {
show_ip_eigrp_interface_sub (vty, eigrp, ei);
- //}
idx = 0;
if (argv_find (argv, argc, "detail", &idx))
{