X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=eigrpd%2Feigrp_topology.h;h=16bf2261ccb9484e576b6ff5ae51de56f80f1086;hb=91d227b7e3cb53ad8fdbcd9d4cff7f0a666918e3;hp=4ddc71f6fe28fabb7b19d57a1140436fece90149;hpb=c3fb7c1064a2d1c6b36032e90557ff5d89e29924;p=mirror_frr.git diff --git a/eigrpd/eigrp_topology.h b/eigrpd/eigrp_topology.h index 4ddc71f6f..16bf2261c 100644 --- a/eigrpd/eigrp_topology.h +++ b/eigrpd/eigrp_topology.h @@ -32,30 +32,39 @@ #ifndef _ZEBRA_EIGRP_TOPOLOGY_H #define _ZEBRA_EIGRP_TOPOLOGY_H - /* EIGRP Topology table related functions. */ -extern struct list *eigrp_topology_new (void); -extern void eigrp_topology_init (struct list*); -extern struct eigrp_prefix_entry *eigrp_prefix_entry_new (void); -extern struct eigrp_neighbor_entry *eigrp_neighbor_entry_new (void); -extern void eigrp_topology_free (struct list *); -extern void eigrp_topology_cleanup (struct list *); -extern void eigrp_prefix_entry_add (struct list *, struct eigrp_prefix_entry *); -extern void eigrp_neighbor_entry_add (struct eigrp_prefix_entry *, struct eigrp_neighbor_entry *); -extern void eigrp_prefix_entry_delete (struct list *, struct eigrp_prefix_entry *); -extern void eigrp_neighbor_entry_delete (struct eigrp_prefix_entry *, struct eigrp_neighbor_entry *); -extern void eigrp_topology_delete_all (struct list *); -extern unsigned int eigrp_topology_table_isempty (struct list *); -extern struct eigrp_prefix_entry *eigrp_topology_table_lookup_ipv4 (struct list *, struct prefix_ipv4 *); -extern struct list *eigrp_topology_get_successor (struct eigrp_prefix_entry *); -extern struct list *eigrp_topology_get_successor_max (struct eigrp_prefix_entry *pe, unsigned int maxpaths); -extern struct eigrp_neighbor_entry *eigrp_prefix_entry_lookup (struct list *, struct eigrp_neighbor *); -extern struct list *eigrp_neighbor_prefixes_lookup(struct eigrp *, struct eigrp_neighbor *); -extern void eigrp_topology_update_all_node_flags (struct eigrp *); -extern void eigrp_topology_update_node_flags (struct eigrp_prefix_entry *); -extern int eigrp_topology_update_distance ( struct eigrp_fsm_action_message *); +extern struct route_table *eigrp_topology_new(void); +extern void eigrp_topology_init(struct route_table *table); +extern struct eigrp_prefix_entry *eigrp_prefix_entry_new(void); +extern struct eigrp_nexthop_entry *eigrp_nexthop_entry_new(void); +extern void eigrp_topology_free(struct route_table *table); +extern void eigrp_prefix_entry_add(struct route_table *table, + struct eigrp_prefix_entry *pe); +extern void eigrp_nexthop_entry_add(struct eigrp_prefix_entry *, + struct eigrp_nexthop_entry *); +extern void eigrp_prefix_entry_delete(struct route_table *table, + struct eigrp_prefix_entry *pe); +extern void eigrp_nexthop_entry_delete(struct eigrp_prefix_entry *, + struct eigrp_nexthop_entry *); +extern void eigrp_topology_delete_all(struct route_table *table); +extern struct eigrp_prefix_entry * +eigrp_topology_table_lookup_ipv4(struct route_table *table, struct prefix *p); +extern struct list *eigrp_topology_get_successor(struct eigrp_prefix_entry *); +extern struct list * +eigrp_topology_get_successor_max(struct eigrp_prefix_entry *pe, + unsigned int maxpaths); +extern struct eigrp_nexthop_entry * +eigrp_prefix_entry_lookup(struct list *, struct eigrp_neighbor *); +extern struct list *eigrp_neighbor_prefixes_lookup(struct eigrp *, + struct eigrp_neighbor *); +extern void eigrp_topology_update_all_node_flags(struct eigrp *); +extern void eigrp_topology_update_node_flags(struct eigrp_prefix_entry *); +extern enum metric_change +eigrp_topology_update_distance(struct eigrp_fsm_action_message *); extern void eigrp_update_routing_table(struct eigrp_prefix_entry *); -extern void eigrp_topology_neighbor_down(struct eigrp *, struct eigrp_neighbor *); -extern void eigrp_update_topology_table_prefix(struct list *, struct eigrp_prefix_entry * ); +extern void eigrp_topology_neighbor_down(struct eigrp *, + struct eigrp_neighbor *); +extern void eigrp_update_topology_table_prefix(struct route_table *table, + struct eigrp_prefix_entry *pe); #endif