+2004-09-23 Hasso Tepper <hasso at quagga.net>
+
+ * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
+
2004-07-09 Paul Jakma <paul@dishone.st>
* Merge of GNU Zebra cvs2svn changesets r799, r800 and r807.
{
struct prefix_ipv4 *p;
struct connected *connected;
- listnode node;
+ struct listnode *node;
for (node = listhead (ifp->connected); node; nextnode (node))
{
int
bgp_nexthop_self (afi_t afi, struct attr *attr)
{
- listnode node;
- listnode node2;
+ struct listnode *node;
+ struct listnode *node2;
struct interface *ifp;
struct connected *ifc;
struct prefix *p;
bgp_if_update (struct interface *ifp)
{
struct bgp *bgp;
- listnode cn;
+ struct listnode *cn;
struct listnode *nn;
struct listnode *nm;
struct peer *peer;
int
bgp_if_update_all ()
{
- listnode node;
+ struct listnode *node;
struct interface *ifp;
for (node = listhead (iflist); node; node = nextnode (node))
struct stream *s;
struct interface *ifp;
struct connected *c;
- listnode node;
+ struct listnode *node;
s = zclient->ibuf;
ifp = zebra_interface_state_read (s);
struct stream *s;
struct interface *ifp;
struct connected *c;
- listnode node;
+ struct listnode *node;
s = zclient->ibuf;
ifp = zebra_interface_state_read (s);
struct interface *
if_lookup_by_ipv4 (struct in_addr *addr)
{
- listnode ifnode;
- listnode cnode;
+ struct listnode *ifnode;
+ struct listnode *cnode;
struct interface *ifp;
struct connected *connected;
struct prefix_ipv4 p;
struct interface *
if_lookup_by_ipv4_exact (struct in_addr *addr)
{
- listnode ifnode;
- listnode cnode;
+ struct listnode *ifnode;
+ struct listnode *cnode;
struct interface *ifp;
struct connected *connected;
struct prefix *cp;
struct interface *
if_lookup_by_ipv6 (struct in6_addr *addr)
{
- listnode ifnode;
- listnode cnode;
+ struct listnode *ifnode;
+ struct listnode *cnode;
struct interface *ifp;
struct connected *connected;
struct prefix_ipv6 p;
struct interface *
if_lookup_by_ipv6_exact (struct in6_addr *addr)
{
- listnode ifnode;
- listnode cnode;
+ struct listnode *ifnode;
+ struct listnode *cnode;
struct interface *ifp;
struct connected *connected;
struct prefix *cp;
int
if_get_ipv6_global (struct interface *ifp, struct in6_addr *addr)
{
- listnode cnode;
+ struct listnode *cnode;
struct connected *connected;
struct prefix *cp;
int
if_get_ipv6_local (struct interface *ifp, struct in6_addr *addr)
{
- listnode cnode;
+ struct listnode *cnode;
struct connected *connected;
struct prefix *cp;
unsigned int
bgp_ifindex_by_nexthop (struct in6_addr *addr)
{
- listnode ifnode;
- listnode cnode;
+ struct listnode *ifnode;
+ struct listnode *cnode;
struct interface *ifp;
struct connected *connected;
struct prefix_ipv6 p;
+2004-09-23 Hasso Tepper <hasso at quagga.net>
+
+ * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
+
2004-09-21 LIU Xin <lx at ns.6test.edu.cn>
* isis_dr.c: Update dis_record of adjacencies when isisd becomes DIS.
{
int write = 0;
- listnode node;
- listnode node2;
- listnode node3;
+ struct listnode *node;
+ struct listnode *node2;
+ struct listnode *node3;
struct interface *ifp;
struct isis_area *area;
struct isis_circuit *c;
+2004-09-23 Hasso Tepper <hasso at quagga.net>
+
+ * linklist.h: Remove list and listnode typedefs.
+ * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
+
2004-09-17 Paul Jakma <paul@dishone.st>
* sockopt.c: Add missing bracket
struct interface *
if_lookup_by_index (unsigned int index)
{
- listnode node;
+ struct listnode *node;
struct interface *ifp;
for (node = listhead (iflist); node; nextnode (node))
char *
ifindex2ifname (unsigned int index)
{
- listnode node;
+ struct listnode *node;
struct interface *ifp;
for (node = listhead (iflist); node; nextnode (node))
struct interface *
if_lookup_by_name (char *name)
{
- listnode node;
+ struct listnode *node;
struct interface *ifp;
for (node = listhead (iflist); node; nextnode (node))
struct interface *
if_lookup_exact_address (struct in_addr src)
{
- listnode node;
- listnode cnode;
+ struct listnode *node;
+ struct listnode *cnode;
struct interface *ifp;
struct prefix *p;
struct connected *c;
struct interface *
if_lookup_address (struct in_addr src)
{
- listnode node;
+ struct listnode *node;
struct prefix addr;
struct prefix best;
- listnode cnode;
+ struct listnode *cnode;
struct interface *ifp;
struct prefix *p;
struct connected *c;
void
if_dump (struct interface *ifp)
{
- listnode node;
+ struct listnode *node;
zlog_info ("Interface %s index %d metric %d mtu %d "
#ifdef HAVE_IPV6
void
if_dump_all ()
{
- listnode node;
+ struct listnode *node;
for (node = listhead (iflist); node; nextnode (node))
if_dump (getdata (node));
SHOW_STR
"address\n")
{
- listnode node;
- listnode node2;
+ struct listnode *node;
+ struct listnode *node2;
struct interface *ifp;
struct connected *ifc;
struct prefix *p;
{
struct prefix addr;
struct prefix best;
- listnode cnode;
+ struct listnode *cnode;
struct prefix *p;
struct connected *c;
struct connected *match;
unsigned int
if_nametoindex (const char *name)
{
- listnode node;
+ struct listnode *node;
struct interface *ifp;
for (node = listhead (iflist); node; nextnode (node))
char *
if_indextoname (unsigned int ifindex, char *name)
{
- listnode node;
+ struct listnode *node;
struct interface *ifp;
for (node = listhead (iflist); node; nextnode (node))
struct prefix_ipv4 p;
struct route_node *rn;
struct interface *ifp;
- listnode node;
+ struct listnode *node;
if (addr)
{
void *distribute_out;
/* Connected address list. */
- list connected;
+ struct list *connected;
/* Daemon specific interface data pointer. */
void *info;
#endif
/* Exported variables. */
-extern list iflist;
+extern struct list *iflist;
extern struct cmd_element interface_desc_cmd;
extern struct cmd_element no_interface_desc_cmd;
extern struct cmd_element interface_cmd;
struct listnode *
listnode_lookup (struct list *list, void *data)
{
- listnode node;
+ struct listnode *node;
assert(list);
for (node = list->head; node; nextnode (node))
\f
/* Delete the node from list. For ospfd and ospf6d. */
void
-list_delete_node (list list, listnode node)
+list_delete_node (struct list *list, struct listnode *node)
{
if (node->prev)
node->prev->next = node->next;
\f
/* ospf_spf.c */
void
-list_add_node_prev (list list, listnode current, void *val)
+list_add_node_prev (struct list *list, struct listnode *current, void *val)
{
struct listnode *node;
/* ospf_spf.c */
void
-list_add_node_next (list list, listnode current, void *val)
+list_add_node_next (struct list *list, struct listnode *current, void *val)
{
struct listnode *node;
#ifndef _ZEBRA_LINKLIST_H
#define _ZEBRA_LINKLIST_H
-typedef struct list *list;
-typedef struct listnode *listnode;
-
struct listnode
{
struct listnode *next;
void list_delete_all_node (struct list *);
/* For ospfd and ospf6d. */
-void list_delete_node (list, listnode);
+void list_delete_node (struct list *, struct listnode *);
/* For ospf_spf.c */
-void list_add_node_prev (list, listnode, void *);
-void list_add_node_next (list, listnode, void *);
-void list_add_list (list, list);
+void list_add_node_prev (struct list *, struct listnode *, void *);
+void list_add_node_next (struct list *, struct listnode *, void *);
+void list_add_list (struct list *, struct list *);
/* List iteration macro. */
#define LIST_LOOP(L,V,N) \
+2004-09-23 Hasso Tepper <hasso at quagga.net>
+
+ * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
+
2004-09-13 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
* ospf6_intra.c, ospf6_route.[ch]: try to fix assertion failure
int
ospf6_is_router_abr (struct ospf6 *o)
{
- listnode node;
+ struct listnode *node;
struct ospf6_area *oa;
int area_count = 0;
{
struct ospf6_area *oa;
struct ospf6_route *ro;
- listnode node;
+ struct listnode *node;
for (node = listhead (area->ospf6->area_list); node; nextnode (node))
{
struct ospf6_area *oa;
struct ospf6_route *ro;
struct ospf6_lsa *old;
- listnode node;
+ struct listnode *node;
/* Withdraw all summary prefixes previously originated */
for (ro = ospf6_route_head (area->summary_prefix); ro;
void
ospf6_abr_originate_summary (struct ospf6_route *route)
{
- listnode node;
+ struct listnode *node;
struct ospf6_area *oa;
struct ospf6_route *range = NULL;
{
struct ospf6_lsa *lsa;
struct ospf6_area *oa;
- listnode node;
+ struct listnode *node;
u_int16_t type;
type = htons (OSPF6_LSTYPE_INTER_ROUTER);
void
ospf6_area_delete (struct ospf6_area *oa)
{
- listnode n;
+ struct listnode *n;
struct ospf6_interface *oi;
ospf6_route_table_delete (oa->range_table);
ospf6_area_lookup (u_int32_t area_id, struct ospf6 *ospf6)
{
struct ospf6_area *oa;
- listnode n;
+ struct listnode *n;
for (n = listhead (ospf6->area_list); n; nextnode (n))
{
void
ospf6_area_enable (struct ospf6_area *oa)
{
- listnode i;
+ struct listnode *i;
struct ospf6_interface *oi;
SET_FLAG (oa->flag, OSPF6_AREA_ENABLE);
void
ospf6_area_disable (struct ospf6_area *oa)
{
- listnode i;
+ struct listnode *i;
struct ospf6_interface *oi;
UNSET_FLAG (oa->flag, OSPF6_AREA_ENABLE);
void
ospf6_area_show (struct vty *vty, struct ospf6_area *oa)
{
- listnode i;
+ struct listnode *i;
struct ospf6_interface *oi;
vty_out (vty, " Area %s%s", oa->name, VNL);
void
ospf6_area_config_write (struct vty *vty)
{
- listnode node;
+ struct listnode *node;
struct ospf6_area *oa;
struct ospf6_route *range;
char buf[128];
"Shortest Path First caculation\n"
"Show SPF tree\n")
{
- listnode node;
+ struct listnode *node;
struct ospf6_area *oa;
struct ospf6_vertex *root;
struct ospf6_route *route;
struct ospf6_route_table *summary_router;
/* OSPF interface list */
- list if_list;
+ struct list *if_list;
struct ospf6_lsdb *lsdb;
struct ospf6_lsdb *lsdb_self;
struct prefix prefix_id;
struct route_node *node;
char pbuf[64], ibuf[16];
- listnode lnode;
+ struct listnode *lnode;
struct ospf6_area *oa;
if (! ospf6_zebra_is_redistribute (type))
struct ospf6_lsa *lsa;
struct prefix prefix_id;
char pbuf[64], ibuf[16];
- listnode lnode;
+ struct listnode *lnode;
struct ospf6_area *oa;
match = ospf6_route_lookup (prefix, ospf6->external_table);
ospf6_flood_interface (struct ospf6_neighbor *from,
struct ospf6_lsa *lsa, struct ospf6_interface *oi)
{
- listnode node;
+ struct listnode *node;
struct ospf6_neighbor *on;
struct ospf6_lsa *req;
int retrans_added = 0;
ospf6_flood_area (struct ospf6_neighbor *from,
struct ospf6_lsa *lsa, struct ospf6_area *oa)
{
- listnode node;
+ struct listnode *node;
struct ospf6_interface *oi;
for (node = listhead (oa->if_list); node; nextnode (node))
ospf6_flood_process (struct ospf6_neighbor *from,
struct ospf6_lsa *lsa, struct ospf6 *process)
{
- listnode node;
+ struct listnode *node;
struct ospf6_area *oa;
for (node = listhead (process->area_list); node; nextnode (node))
void
ospf6_flood_clear_interface (struct ospf6_lsa *lsa, struct ospf6_interface *oi)
{
- listnode node;
+ struct listnode *node;
struct ospf6_neighbor *on;
struct ospf6_lsa *rem;
void
ospf6_flood_clear_area (struct ospf6_lsa *lsa, struct ospf6_area *oa)
{
- listnode node;
+ struct listnode *node;
struct ospf6_interface *oi;
for (node = listhead (oa->if_list); node; nextnode (node))
void
ospf6_flood_clear_process (struct ospf6_lsa *lsa, struct ospf6 *process)
{
- listnode node;
+ struct listnode *node;
struct ospf6_area *oa;
for (node = listhead (process->area_list); node; nextnode (node))
struct ospf6_interface *oi;
struct ospf6_area *oa;
struct ospf6 *process = NULL;
- listnode i, j, k;
+ struct listnode *i, *j, *k;
int count = 0;
if (! OSPF6_LSA_IS_MAXAGE (lsa))
void
ospf6_interface_delete (struct ospf6_interface *oi)
{
- listnode n;
+ struct listnode *n;
struct ospf6_neighbor *on;
for (n = listhead (oi->neighbor_list); n; nextnode (n))
void
ospf6_interface_disable (struct ospf6_interface *oi)
{
- listnode i;
+ struct listnode *i;
struct ospf6_neighbor *on;
SET_FLAG (oi->flag, OSPF6_INTERFACE_DISABLE);
static struct in6_addr *
ospf6_interface_get_linklocal_address (struct interface *ifp)
{
- listnode n;
+ struct listnode *n;
struct connected *c;
struct in6_addr *l = (struct in6_addr *) NULL;
struct ospf6_interface *oi;
struct ospf6_route *route;
struct connected *c;
- listnode i;
+ struct listnode *i;
oi = (struct ospf6_interface *) ifp->info;
if (oi == NULL)
static u_char
dr_election (struct ospf6_interface *oi)
{
- listnode i;
+ struct listnode *i;
struct ospf6_neighbor *on, *drouter, *bdrouter, myself;
struct ospf6_neighbor *best_drouter, *best_bdrouter;
u_char next_state = 0;
interface_down (struct thread *thread)
{
struct ospf6_interface *oi;
- listnode n;
+ struct listnode *n;
struct ospf6_neighbor *on;
oi = (struct ospf6_interface *) THREAD_ARG (thread);
struct ospf6_interface *oi;
struct connected *c;
struct prefix *p;
- listnode i;
+ struct listnode *i;
char strbuf[64], drouter[32], bdrouter[32];
char *updown[3] = {"down", "up", NULL};
char *type;
)
{
struct interface *ifp;
- listnode i;
+ struct listnode *i;
if (argc)
{
"Display connected prefixes to advertise\n"
)
{
- listnode i;
+ struct listnode *i;
struct ospf6_interface *oi;
struct interface *ifp;
struct ospf6_interface *oi;
struct interface *ifp;
int ifmtu, iobuflen;
- listnode node;
+ struct listnode *node;
struct ospf6_neighbor *on;
ifp = (struct interface *) vty->index;
struct ospf6_interface *oi;
struct interface *ifp;
int iobuflen;
- listnode node;
+ struct listnode *node;
struct ospf6_neighbor *on;
ifp = (struct interface *) vty->index;
{
struct ospf6_interface *oi;
struct interface *ifp;
- listnode node;
+ struct listnode *node;
struct ospf6_neighbor *on;
ifp = (struct interface *) vty->index;
int
config_write_ospf6_interface (struct vty *vty)
{
- listnode i;
+ struct listnode *i;
struct ospf6_interface *oi;
struct interface *ifp;
struct ospf6_area *area;
/* list of ospf6 neighbor */
- list neighbor_list;
+ struct list *neighbor_list;
/* linklocal address of this I/F */
struct in6_addr *linklocal_addr;
struct ospf6_lsa *lsa;
u_int32_t link_state_id = 0;
- listnode i, j;
+ struct listnode *i, *j;
struct ospf6_interface *oi;
struct ospf6_neighbor *on, *drouter = NULL;
struct ospf6_router_lsa *router_lsa;
struct ospf6_network_lsdesc *lsdesc;
struct ospf6_neighbor *on;
struct ospf6_link_lsa *link_lsa;
- listnode i;
+ struct listnode *i;
u_int16_t type;
oi = (struct ospf6_interface *) THREAD_ARG (thread);
struct ospf6_neighbor *on;
struct ospf6_route *route;
struct ospf6_prefix *op;
- listnode i, j;
+ struct listnode *i, *j;
int full_count = 0;
unsigned short prefix_num = 0;
char buf[BUFSIZ];
struct ospf6_neighbor *on;
struct ospf6_route *route;
struct ospf6_prefix *op;
- listnode i;
+ struct listnode *i;
int full_count = 0;
unsigned short prefix_num = 0;
struct ospf6_route_table *route_advertise;
struct ospf6_header *oh;
struct ospf6_hello *hello;
char *p;
- listnode node;
+ struct listnode *node;
struct ospf6_neighbor *on;
oi = (struct ospf6_interface *) THREAD_ARG (thread);
ospf6_neighbor_lookup (u_int32_t router_id,
struct ospf6_interface *oi)
{
- listnode n;
+ struct listnode *n;
struct ospf6_neighbor *on;
for (n = listhead (oi->neighbor_list); n; nextnode (n))
struct ospf6_neighbor *on;
struct ospf6_interface *oi;
struct ospf6_area *oa;
- listnode i, j, k;
+ struct listnode *i, *j, *k;
void (*showfunc) (struct vty *, struct ospf6_neighbor *);
OSPF6_CMD_CHECK_RUNNING ();
struct ospf6_neighbor *on;
struct ospf6_interface *oi;
struct ospf6_area *oa;
- listnode i, j, k;
+ struct listnode *i, *j, *k;
void (*showfunc) (struct vty *, struct ospf6_neighbor *);
u_int32_t router_id;
struct ospf6_route *route;
int i, j;
struct ospf6_vertex *prev, *w;
- listnode node;
+ struct listnode *node;
if (IS_OSPF6_DEBUG_SPF (PROCESS))
zlog_info ("SPF install %s hops %d cost %d",
ospf6_spf_display_subtree (struct vty *vty, char *prefix, int rest,
struct ospf6_vertex *v)
{
- listnode node;
+ struct listnode *node;
struct ospf6_vertex *c;
char *next_prefix;
int len;
/* For tree display */
struct ospf6_vertex *parent;
- list child_list;
+ struct list *child_list;
};
#define OSPF6_VERTEX_TYPE_ROUTER 0x01
void
ospf6_delete (struct ospf6 *o)
{
- listnode i;
+ struct listnode *i;
struct ospf6_area *oa;
for (i = listhead (o->area_list); i; nextnode (i))
void
ospf6_enable (struct ospf6 *o)
{
- listnode i;
+ struct listnode *i;
struct ospf6_area *oa;
if (CHECK_FLAG (o->flag, OSPF6_DISABLED))
void
ospf6_disable (struct ospf6 *o)
{
- listnode i;
+ struct listnode *i;
struct ospf6_area *oa;
if (! CHECK_FLAG (o->flag, OSPF6_DISABLED))
struct ospf6_area *oa;
struct ospf6_interface *oi;
struct ospf6_neighbor *on;
- listnode i, j, k;
+ struct listnode *i, *j, *k;
o->maxage_remover = (struct thread *) NULL;
void
ospf6_show (struct vty *vty, struct ospf6 *o)
{
- listnode n;
+ struct listnode *n;
struct ospf6_area *oa;
char router_id[16], duration[32];
struct timeval now, running;
config_write_ospf6 (struct vty *vty)
{
char router_id[16];
- listnode j, k;
+ struct listnode *j, *k;
struct ospf6_area *oa;
struct ospf6_interface *oi;
struct timeval starttime;
/* list of areas */
- list area_list;
+ struct list *area_list;
/* AS scope link state database */
struct ospf6_lsdb *lsdb;
)
{
int level;
- listnode i, j;
+ struct listnode *i, *j;
struct ospf6 *o = ospf6;
struct ospf6_area *oa;
struct ospf6_interface *oi;
)
{
int level;
- listnode i, j;
+ struct listnode *i, *j;
struct ospf6 *o = ospf6;
struct ospf6_area *oa;
struct ospf6_interface *oi;
)
{
int level;
- listnode i, j;
+ struct listnode *i, *j;
struct ospf6 *o = ospf6;
struct ospf6_area *oa;
struct ospf6_interface *oi;
)
{
int level;
- listnode i, j;
+ struct listnode *i, *j;
struct ospf6 *o = ospf6;
struct ospf6_area *oa;
struct ospf6_interface *oi;
)
{
int level;
- listnode i, j;
+ struct listnode *i, *j;
struct ospf6 *o = ospf6;
struct ospf6_area *oa;
struct ospf6_interface *oi;
)
{
int level;
- listnode i, j;
+ struct listnode *i, *j;
struct ospf6 *o = ospf6;
struct ospf6_area *oa;
struct ospf6_interface *oi;
)
{
int level;
- listnode i, j;
+ struct listnode *i, *j;
struct ospf6 *o = ospf6;
struct ospf6_area *oa;
struct ospf6_interface *oi;
)
{
int level;
- listnode i, j;
+ struct listnode *i, *j;
struct ospf6 *o = ospf6;
struct ospf6_area *oa;
struct ospf6_interface *oi;
)
{
int level;
- listnode i, j;
+ struct listnode *i, *j;
struct ospf6 *o = ospf6;
struct ospf6_area *oa;
struct ospf6_interface *oi;
)
{
int level;
- listnode i, j;
+ struct listnode *i, *j;
struct ospf6 *o = ospf6;
struct ospf6_area *oa;
struct ospf6_interface *oi;
)
{
int level;
- listnode i, j;
+ struct listnode *i, *j;
struct ospf6 *o = ospf6;
struct ospf6_area *oa;
struct ospf6_interface *oi;
)
{
int level;
- listnode i, j;
+ struct listnode *i, *j;
struct ospf6 *o = ospf6;
struct ospf6_area *oa;
struct ospf6_interface *oi;
)
{
int level;
- listnode i, j;
+ struct listnode *i, *j;
struct ospf6 *o = ospf6;
struct ospf6_area *oa;
struct ospf6_interface *oi;
)
{
int level;
- listnode i, j;
+ struct listnode *i, *j;
struct ospf6 *o = ospf6;
struct ospf6_area *oa;
struct ospf6_interface *oi;
"Display linkstate routing table\n"
)
{
- listnode node;
+ struct listnode *node;
struct ospf6_area *oa;
for (node = listhead (ospf6->area_list); node; nextnode (node))
{
char *sargv[CMD_ARGC_MAX];
int i, sargc;
- listnode node;
+ struct listnode *node;
struct ospf6_area *oa;
/* copy argv to sargv and then append "detail" */
+2004-09-23 Hasso Tepper <hasso at quagga.net>
+
+ * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
+
2004-09-12 Paul Jakma <paul@dishone.st>
* ospf_packet.c: Fix bugzilla #107
ospf_area_range_match_any (struct ospf *ospf, struct prefix_ipv4 *p)
{
struct ospf_area_range *range;
- listnode node;
+ struct listnode *node;
for (node = listhead (ospf->areas); node; nextnode (node))
if ((range = ospf_area_range_match (node->data, p)))
ospf_abr_nssa_check_status (struct ospf *ospf)
{
struct ospf_area *area;
- listnode lnode;
+ struct listnode *lnode;
LIST_LOOP (ospf->areas, area, lnode)
{
ospf_check_abr_status (struct ospf *ospf)
{
struct ospf_area *area;
- listnode node;
+ struct listnode *node;
int bb_configured = 0;
int bb_act_attached = 0;
int areas_configured = 0;
ospf_abr_nexthops_belong_to_area (struct ospf_route *or,
struct ospf_area *area)
{
- listnode node;
+ struct listnode *node;
struct ospf_path *path;
LIST_LOOP (or->paths, path, node)
{
struct ospf_area_range *range;
struct ospf_area *area, *or_area;
- listnode node;
+ struct listnode *node;
if (IS_DEBUG_OSPF_EVENT)
zlog_info ("ospf_abr_announce_network(): Start");
flood install as approved in Type-5 LSDB with XLATE Flag on
later, do same for all aggregates... At end, DISCARD all
remaining UNAPPROVED Type-5's (Aggregate is for future ) */
- listnode node;
+ struct listnode *node;
struct ospf_area *area;
struct route_node *rn;
struct ospf_lsa *lsa;
ospf_abr_announce_rtr (struct ospf *ospf,
struct prefix_ipv4 *p, struct ospf_route *or)
{
- listnode node;
+ struct listnode *node;
struct ospf_area *area;
if (IS_DEBUG_OSPF_EVENT)
for (rn = route_top (rt); rn; rn = route_next (rn))
{
- listnode node;
+ struct listnode *node;
char flag = 0;
struct ospf_route *best = NULL;
void
ospf_abr_unapprove_summaries (struct ospf *ospf)
{
- listnode node;
+ struct listnode *node;
struct ospf_area *area;
struct route_node *rn;
struct ospf_lsa *lsa;
void
ospf_abr_prepare_aggregates (struct ospf *ospf)
{
- listnode node;
+ struct listnode *node;
struct route_node *rn;
struct ospf_area_range *range;
struct ospf_area_range *range;
struct route_node *rn;
struct prefix p;
- listnode node, n;
+ struct listnode *node, *n;
if (IS_DEBUG_OSPF_EVENT)
zlog_info ("ospf_abr_announce_aggregates(): Start");
void
ospf_abr_send_nssa_aggregates (struct ospf *ospf) /* temporarily turned off */
{
- listnode node; /*, n; */
+ struct listnode *node; /*, n; */
struct ospf_area *area; /*, *ar; */
struct route_node *rn;
struct ospf_area_range *range;
void
ospf_abr_announce_nssa_defaults (struct ospf *ospf) /* By ABR-Translator */
{
- listnode node;
+ struct listnode *node;
struct ospf_area *area;
if (! IS_OSPF_ABR (ospf))
void
ospf_abr_announce_stub_defaults (struct ospf *ospf)
{
- listnode node;
+ struct listnode *node;
struct ospf_area *area;
struct prefix_ipv4 p;
void
ospf_abr_remove_unapproved_summaries (struct ospf *ospf)
{
- listnode node;
+ struct listnode *node;
struct ospf_area *area;
struct route_node *rn;
struct ospf_lsa *lsa;
void
ospf_abr_manage_discard_routes (struct ospf *ospf)
{
- listnode node;
+ struct listnode *node;
struct route_node *rn;
struct ospf_area *area;
struct ospf_area_range *range;
{
struct route_node *rn;
struct ospf_route *or, *best = NULL;
- listnode node;
- list chosen;
+ struct listnode *node;
+ struct list *chosen;
/* Sanity check. */
if (rtrs == NULL)
/* First try to find intra-area non-bb paths. */
if (!CHECK_FLAG (ospf->config, OSPF_RFC1583_COMPATIBLE))
- for (node = listhead ((list) rn->info); node; nextnode (node))
+ for (node = listhead ((struct list *) rn->info); node; nextnode (node))
if ((or = getdata (node)) != NULL)
if (or->cost < OSPF_LS_INFINITY)
if (!OSPF_IS_AREA_ID_BACKBONE (or->u.std.area_id) &&
if (rn)
{
- listnode node;
+ struct listnode *node;
struct ospf_route *or;
route_unlock_node (rn);
- for (node = listhead ((list) rn->info); node; nextnode (node))
+ for (node = listhead ((struct list *) rn->info); node; nextnode (node))
if ((or = getdata (node)) != NULL)
if (IPV4_ADDR_SAME (&or->u.std.area_id, &area->area_id))
return or;
void
ospf_ase_complete_direct_routes (struct ospf_route *ro, struct in_addr nexthop)
{
- listnode node;
+ struct listnode *node;
struct ospf_path *op;
for (node = listhead (ro->paths); node; nextnode (node))
int
ospf_ase_forward_address_check (struct ospf *ospf, struct in_addr fwd_addr)
{
- listnode ifn;
+ struct listnode *ifn;
struct ospf_interface *oi;
for (ifn = listhead (ospf->oiflist); ifn; nextnode (ifn))
struct ospf_route *or;
struct ospf_path *op;
struct ospf_path *newop;
- listnode n1;
- listnode n2;
+ struct listnode *n1;
+ struct listnode *n2;
if (! rt || ! prefix)
return 0;
struct ospf *ospf;
struct ospf_lsa *lsa;
struct route_node *rn;
- listnode node;
+ struct listnode *node;
struct ospf_area *area;
ospf = THREAD_ARG (t);
{
struct route_node *rn;
struct prefix_ipv4 p;
- list lst;
+ struct list *lst;
struct as_external_lsa *al;
al = (struct as_external_lsa *) lsa->data;
{
struct route_node *rn;
struct prefix_ipv4 p;
- list lst;
+ struct list *lst;
struct as_external_lsa *al;
al = (struct as_external_lsa *) lsa->data;
{
struct route_node *rn;
struct ospf_lsa *lsa;
- list lst;
- listnode node;
+ struct list *lst;
+ struct listnode *node;
for (rn = route_top (rt); rn; rn = route_next (rn))
if ((lst = rn->info) != NULL)
void
ospf_ase_incremental_update (struct ospf *ospf, struct ospf_lsa *lsa)
{
- list lsas;
- listnode node;
+ struct list *lsas;
+ struct listnode *node;
struct route_node *rn, *rn2;
struct prefix_ipv4 p;
struct route_table *tmp_old;
{
struct ospf_interface *oi;
struct external_info *ei;
- listnode node;
+ struct listnode *node;
if (IS_DEBUG_OSPF_EVENT)
zlog_info ("LSA[Type%d:%s]: Process self-originated LSA seq 0x%x",
ospf_flood_through_area (struct ospf_area *area,
struct ospf_neighbor *inbr, struct ospf_lsa *lsa)
{
- listnode node;
+ struct listnode *node;
int lsa_ack_flag = 0;
/* All other types are specific to a single area (Area A). The
ospf_flood_through_as (struct ospf *ospf, struct ospf_neighbor *inbr,
struct ospf_lsa *lsa)
{
- listnode node;
+ struct listnode *node;
int lsa_ack_flag;
lsa_ack_flag = 0;
{
int continue_flag = 0;
struct ospf_area *area = getdata (node);
- listnode if_node;
+ struct listnode *if_node;
switch (area->external_routing)
{
ospf_ls_retransmit_delete_nbr_area (struct ospf_area *area,
struct ospf_lsa *lsa)
{
- listnode node;
+ struct listnode *node;
for (node = listhead (area->oiflist); node; nextnode (node))
ospf_ls_retransmit_delete_nbr_if (getdata (node), lsa);
void
ospf_ls_retransmit_delete_nbr_as (struct ospf *ospf, struct ospf_lsa *lsa)
{
- listnode node;
+ struct listnode *node;
for (node = listhead (ospf->oiflist); node; nextnode (node))
ospf_ls_retransmit_delete_nbr_if (getdata (node), lsa);
{
struct route_node *rn;
struct ospf_route *or;
- listnode node;
+ struct listnode *node;
if ((rn = route_node_lookup (rtrs, (struct prefix *) abr)) == NULL)
return NULL;
route_unlock_node (rn);
- for (node = listhead ((list) rn->info); node; nextnode (node))
+ for (node = listhead ((struct list *) rn->info); node; nextnode (node))
if ((or = getdata (node)) != NULL)
if (IPV4_ADDR_SAME (&or->u.std.area_id, &area->area_id) && (or->u.std.flags & ROUTER_LSA_BORDER))
return or;
if (IS_OSPF_ABR (ospf))
{
- listnode node;
+ struct listnode *node;
struct ospf_area *area;
switch (ospf->abr_type)
if ((area = ospf->backbone))
{
- listnode node;
+ struct listnode *node;
if (IS_DEBUG_OSPF_EVENT)
{
}
else
{
- listnode node;
+ struct listnode *node;
if (IS_DEBUG_OSPF_EVENT)
zlog_info ("ospf_ia_routing():not ABR, considering all areas");
ospf_if_cleanup (struct ospf_interface *oi)
{
struct route_node *rn;
- listnode node;
+ struct listnode *node;
struct ospf_neighbor *nbr;
/* oi->nbrs and oi->nbr_nbma should be deletete on InterafceDown event */
struct ospf_interface *
ospf_if_is_configured (struct ospf *ospf, struct in_addr *address)
{
- listnode node;
+ struct listnode *node;
struct ospf_interface *oi;
struct prefix *addr;
struct ospf_interface *
ospf_if_exists (struct ospf_interface *oic)
{
- listnode node;
+ struct listnode *node;
struct ospf *ospf;
struct ospf_interface *oi;
ospf_if_lookup_by_local_addr (struct ospf *ospf,
struct interface *ifp, struct in_addr address)
{
- listnode node;
+ struct listnode *node;
struct ospf_interface *oi;
for (node = listhead (ospf->oiflist); node; nextnode (node))
struct ospf_interface *
ospf_if_lookup_by_prefix (struct ospf *ospf, struct prefix_ipv4 *p)
{
- listnode node;
+ struct listnode *node;
struct ospf_interface *oi;
struct prefix ptmp;
struct ospf_interface *
ospf_if_lookup_recv_if (struct ospf *ospf, struct in_addr src)
{
- listnode node;
+ struct listnode *node;
struct prefix_ipv4 addr;
struct ospf_interface *oi, *match;
ospf_vl_lookup (struct ospf_area *area, struct in_addr vl_peer)
{
struct ospf_vl_data *vl_data;
- listnode node;
+ struct listnode *node;
for (node = listhead (area->ospf->vlinks); node; nextnode (node))
if ((vl_data = getdata (node)) != NULL)
{
int changed = 0;
struct ospf_interface *voi;
- listnode node;
+ struct listnode *node;
struct vertex_nexthop *nh;
int i;
struct router_lsa *rl;
struct vertex *v)
{
struct ospf *ospf = area->ospf;
- listnode node;
+ struct listnode *node;
struct ospf_vl_data *vl_data;
struct ospf_interface *oi;
void
ospf_vl_unapprove (struct ospf *ospf)
{
- listnode node;
+ struct listnode *node;
struct ospf_vl_data *vl_data;
for (node = listhead (ospf->vlinks); node; nextnode (node))
void
ospf_vl_shut_unapproved (struct ospf *ospf)
{
- listnode node;
+ struct listnode *node;
struct ospf_vl_data *vl_data;
for (node = listhead (ospf->vlinks); node; nextnode (node))
int
ospf_vls_in_area (struct ospf_area *area)
{
- listnode node;
+ struct listnode *node;
struct ospf_vl_data *vl_data;
int c = 0;
}
void
-ospf_crypt_key_add (list crypt, struct crypt_key *ck)
+ospf_crypt_key_add (struct list *crypt, struct crypt_key *ck)
{
listnode_add (crypt, ck);
}
struct crypt_key *
-ospf_crypt_key_lookup (list auth_crypt, u_char key_id)
+ospf_crypt_key_lookup (struct list *auth_crypt, u_char key_id)
{
- listnode node;
+ struct listnode *node;
struct crypt_key *ck;
for (node = listhead (auth_crypt); node; nextnode (node))
}
int
-ospf_crypt_key_delete (list auth_crypt, u_char key_id)
+ospf_crypt_key_delete (struct list *auth_crypt, u_char key_id)
{
- listnode node;
+ struct listnode *node;
struct crypt_key *ck;
for (node = listhead (auth_crypt); node; nextnode (node))
u_char auth_simple[OSPF_AUTH_SIMPLE_SIZE + 1]; /* Simple password. */
u_char auth_simple__config:1;
- DECLARE_IF_PARAM (list, auth_crypt); /* List of Auth cryptographic data. */
+ DECLARE_IF_PARAM (struct list *, auth_crypt); /* List of Auth cryptographic data. */
DECLARE_IF_PARAM (int, auth_type); /* OSPF authentication type */
};
#define PRIORITY(I) ((I)->nbr_self->priority)
/* List of configured NBMA neighbor. */
- list nbr_nbma;
+ struct list *nbr_nbma;
/* self-originated LSAs. */
struct ospf_lsa *network_lsa_self; /* network-LSA. */
struct route_table *ls_upd_queue;
- list ls_ack; /* Link State Acknowledgment list. */
+ struct list *ls_ack; /* Link State Acknowledgment list. */
struct
{
- list ls_ack;
+ struct list *ls_ack;
struct in_addr dst;
} ls_ack_direct;
int ospf_full_virtual_nbrs (struct ospf_area *);
int ospf_vls_in_area (struct ospf_area *);
-struct crypt_key *ospf_crypt_key_lookup (list, u_char);
+struct crypt_key *ospf_crypt_key_lookup (struct list *, u_char);
struct crypt_key *ospf_crypt_key_new ();
-void ospf_crypt_key_add (list, struct crypt_key *);
-int ospf_crypt_key_delete (list, u_char);
+void ospf_crypt_key_add (struct list *, struct crypt_key *);
+int ospf_crypt_key_delete (struct list *, u_char);
#endif /* _ZEBRA_OSPF_INTERFACE_H */
\f
/* elect DR and BDR. Refer to RFC2319 section 9.4 */
struct ospf_neighbor *
-ospf_dr_election_sub (list routers)
+ospf_dr_election_sub (struct list *routers)
{
- listnode node;
+ struct listnode *node;
struct ospf_neighbor *nbr, *max = NULL;
/* Choose highest router priority.
}
struct ospf_neighbor *
-ospf_elect_dr (struct ospf_interface *oi, list el_list)
+ospf_elect_dr (struct ospf_interface *oi, struct list *el_list)
{
- list dr_list;
- listnode node;
+ struct list *dr_list;
+ struct listnode *node;
struct ospf_neighbor *nbr, *dr = NULL, *bdr = NULL;
dr_list = list_new ();
}
struct ospf_neighbor *
-ospf_elect_bdr (struct ospf_interface *oi, list el_list)
+ospf_elect_bdr (struct ospf_interface *oi, struct list *el_list)
{
- list bdr_list, no_dr_list;
- listnode node;
+ struct list *bdr_list, *no_dr_list;
+ struct listnode *node;
struct ospf_neighbor *nbr, *bdr = NULL;
bdr_list = list_new ();
}
void
-ospf_dr_eligible_routers (struct route_table *nbrs, list el_list)
+ospf_dr_eligible_routers (struct route_table *nbrs, struct list *el_list)
{
struct route_node *rn;
struct ospf_neighbor *nbr;
{
struct in_addr old_dr, old_bdr;
int old_state, new_state;
- list el_list;
+ struct list *el_list;
struct ospf_neighbor *dr, *bdr;
/* backup current values. */
dump_lsa_key (struct ospf_lsa *lsa)
{
static char buf[] = {
- "Type255,id(255.255.255.255),ar(255.255.255.255)",
+ "Type255,id(255.255.255.255),ar(255.255.255.255)"
};
struct lsa_header *lsah;
int
router_lsa_link_set (struct stream *s, struct ospf_area *area)
{
- listnode node;
+ struct listnode *node;
int links = 0;
for (node = listhead (area->oiflist); node; node = nextnode (node))
ospf_router_lsa_update_timer (struct thread *thread)
{
struct ospf *ospf = THREAD_ARG (thread);
- listnode node;
+ struct listnode *node;
if (IS_DEBUG_OSPF (lsa, LSA_GENERATE))
zlog_info ("Timer[router-LSA Update]: (timer expire)");
{
struct in_addr fwd;
struct prefix nh;
- listnode n1;
+ struct listnode *n1;
fwd.s_addr = 0;
{
struct in_addr fwd;
struct in_addr best_default;
- listnode n1;
+ struct listnode *n1;
fwd.s_addr = 0;
best_default.s_addr = 0;
{
struct ospf_lsa *new;
struct as_external_lsa *extlsa;
- listnode node;
+ struct listnode *node;
/* LSA may be a Type-5 originated via translation of a Type-7 LSA
* which originated from an NSSA area. In which case it should not be
/* find the type-7 from which supplied type-5 was translated,
* ie find first type-7 with same LSA Id.
*/
- listnode ln;
+ struct listnode *ln;
struct route_node *rn;
struct ospf_lsa *lsa;
struct ospf_area *area;
int
ospf_check_nbr_status (struct ospf *ospf)
{
- listnode node;
+ struct listnode *node;
for (node = listhead (ospf->oiflist); node; node = nextnode (node))
{
ospf_maxage_lsa_remover (struct thread *thread)
{
struct ospf *ospf = THREAD_ARG (thread);
- listnode node;
- listnode next;
+ struct listnode *node;
+ struct listnode *next;
int reschedule = 0;
ospf->t_maxage = NULL;
int
ospf_lsa_maxage_exist (struct ospf *ospf, struct ospf_lsa *new)
{
- listnode node;
+ struct listnode *node;
for (node = listhead (ospf->maxage_lsa); node; nextnode (node))
if (((struct ospf_lsa *) node->data) == new)
void
ospf_lsa_maxage_delete (struct ospf *ospf, struct ospf_lsa *lsa)
{
- listnode n;
+ struct listnode *n;
if ((n = listnode_lookup (ospf->maxage_lsa, lsa)))
{
struct ospf *ospf = THREAD_ARG (thread);
struct route_node *rn;
struct ospf_lsa *lsa;
- listnode node;
+ struct listnode *node;
ospf->t_maxage_walker = NULL;
void
ospf_flush_self_originated_lsas_now (struct ospf *ospf)
{
- listnode n1, n2;
+ struct listnode *n1, *n2;
struct ospf_area *area;
struct ospf_interface *oi;
struct ospf_lsa *lsa;
int
ospf_lsa_is_self_originated (struct ospf *ospf, struct ospf_lsa *lsa)
{
- listnode node;
+ struct listnode *node;
/* This LSA is already checked. */
if (CHECK_FLAG (lsa->flags, OSPF_LSA_SELF_CHECKED))
assert (CHECK_FLAG (lsa->flags, OSPF_LSA_SELF));
if (lsa->refresh_list >= 0)
{
- list refresh_list = ospf->lsa_refresh_queue.qs[lsa->refresh_list];
+ struct list *refresh_list = ospf->lsa_refresh_queue.qs[lsa->refresh_list];
listnode_delete (refresh_list, lsa);
if (!listcount (refresh_list))
{
int
ospf_lsa_refresh_walker (struct thread *t)
{
- list refresh_list;
- listnode node;
+ struct list *refresh_list;
+ struct listnode *node;
struct ospf *ospf = THREAD_ARG (t);
int i;
- list lsa_to_refresh = list_new ();
+ struct list *lsa_to_refresh = list_new ();
if (IS_DEBUG_OSPF (lsa, LSA_REFRESH))
zlog_info ("LSA[Refresh]:ospf_lsa_refresh_walker(): start");
{
for (node = listhead (refresh_list); node;)
{
- listnode next;
+ struct listnode *next;
struct ospf_lsa *lsa = getdata (node);
next = node->next;
void
ospf_renegotiate_optional_capabilities (struct ospf *top)
{
- listnode node;
+ struct listnode *node;
struct ospf_interface *oi;
struct route_table *nbrs;
struct route_node *rn;
if (oi->type == OSPF_IFTYPE_NBMA)
{
struct ospf_nbr_nbma *nbr_nbma;
- listnode node;
+ struct listnode *node;
for (node = listhead (oi->nbr_nbma); node; nextnode (node))
{
#include "ospfd/ospf_flood.h"
#include "ospfd/ospf_dump.h"
-static void ospf_ls_ack_send_list (struct ospf_interface *, list,
+static void ospf_ls_ack_send_list (struct ospf_interface *, struct list *,
struct in_addr);
/* Packet Type String. */
/* Send Link State Update. */
if (ospf_ls_retransmit_count (nbr) > 0)
{
- list update;
+ struct list *update;
struct ospf_lsdb *lsdb;
int i;
struct timeval now;
u_char type;
int ret;
int flags = 0;
- listnode node;
+ struct listnode *node;
static u_int16_t ipid = 0;
u_int16_t maxdatasize, offset;
#define OSPF_WRITE_IPHL_SHIFT 2
struct in_addr ls_id;
struct in_addr adv_router;
struct ospf_lsa *find;
- list ls_upd;
+ struct list *ls_upd;
int length;
/* Increment statistics. */
/* Get the list of LSAs from Link State Update packet.
And process some validation -- RFC2328 Section 13. (1)-(2). */
-static list
+static struct list *
ospf_ls_upd_list_lsa (struct ospf_neighbor *nbr, struct stream *s,
struct ospf_interface *oi, size_t size)
{
u_int32_t length;
struct lsa_header *lsah;
struct ospf_lsa *lsa;
- list lsas;
+ struct list *lsas;
lsas = list_new ();
/* Cleanup Update list. */
void
-ospf_upd_list_clean (list lsas)
+ospf_upd_list_clean (struct list *lsas)
{
- listnode node;
+ struct listnode *node;
struct ospf_lsa *lsa;
for (node = listhead (lsas); node; nextnode (node))
struct stream *s, struct ospf_interface *oi, u_int16_t size)
{
struct ospf_neighbor *nbr;
- list lsas;
+ struct list *lsas;
#ifdef HAVE_OPAQUE_LSA
- list mylsa_acks, mylsa_upds;
+ struct list *mylsa_acks, *mylsa_upds;
#endif /* HAVE_OPAQUE_LSA */
- listnode node, next;
+ struct listnode *node, *next;
struct ospf_lsa *lsa = NULL;
/* unsigned long ls_req_found = 0; */
if(lsa->data->type == OSPF_NETWORK_LSA)
{
- listnode oi_node;
+ struct listnode *oi_node;
int Flag = 0;
for(oi_node = listhead(oi->ospf->oiflist); oi_node; oi_node = nextnode(oi_node))
struct ospf_interface *rcv_oi;
struct ospf_vl_data *vl_data;
struct ospf_area *vl_area;
- listnode node;
+ struct listnode *node;
if (IN_MULTICAST (ntohl (iph->ip_dst.s_addr)) ||
!OSPF_IS_AREA_BACKBONE (ospfh))
}
int
-ospf_make_ls_upd (struct ospf_interface *oi, list update, struct stream *s)
+ospf_make_ls_upd (struct ospf_interface *oi, struct list *update, struct stream *s)
{
struct ospf_lsa *lsa;
- listnode node;
+ struct listnode *node;
u_int16_t length = OSPF_LS_UPD_MIN_SIZE;
unsigned long delta = stream_get_putp (s);
unsigned long pp;
}
int
-ospf_make_ls_ack (struct ospf_interface *oi, list ack, struct stream *s)
+ospf_make_ls_ack (struct ospf_interface *oi, struct list *ack, struct stream *s)
{
- list rm_list;
- listnode node;
+ struct list *rm_list;
+ struct listnode *node;
u_int16_t length = OSPF_LS_ACK_MIN_SIZE;
unsigned long delta = stream_get_putp(s) + 24;
struct ospf_lsa *lsa;
ospf_ls_upd_send_lsa (struct ospf_neighbor *nbr, struct ospf_lsa *lsa,
int flag)
{
- list update;
+ struct list *update;
update = list_new ();
}
static void
-ospf_ls_upd_queue_send (struct ospf_interface *oi, list update,
+ospf_ls_upd_queue_send (struct ospf_interface *oi, struct list *update,
struct in_addr addr)
{
struct ospf_packet *op;
}
void
-ospf_ls_upd_send (struct ospf_neighbor *nbr, list update, int flag)
+ospf_ls_upd_send (struct ospf_neighbor *nbr, struct list *update, int flag)
{
struct ospf_interface *oi;
struct prefix_ipv4 p;
struct route_node *rn;
- listnode n;
+ struct listnode *n;
oi = nbr->oi;
}
static void
-ospf_ls_ack_send_list (struct ospf_interface *oi, list ack, struct in_addr dst)
+ospf_ls_ack_send_list (struct ospf_interface *oi, struct list *ack,
+ struct in_addr dst)
{
struct ospf_packet *op;
u_int16_t length = OSPF_HEADER_SIZE;
void ospf_db_desc_resend (struct ospf_neighbor *);
void ospf_ls_req_send (struct ospf_neighbor *);
void ospf_ls_upd_send_lsa (struct ospf_neighbor *, struct ospf_lsa *, int);
-void ospf_ls_upd_send (struct ospf_neighbor *, list, int);
+void ospf_ls_upd_send (struct ospf_neighbor *, struct list *, int);
void ospf_ls_ack_send (struct ospf_neighbor *, struct ospf_lsa *);
void ospf_ls_ack_send_delayed (struct ospf_interface *);
void ospf_ls_retransmit (struct ospf_interface *, struct ospf_lsa *);
struct ospf_route *or;
struct ospf_path *op;
struct ospf_path *newop;
- listnode n1;
- listnode n2;
+ struct listnode *n1;
+ struct listnode *n2;
if (! rt || ! prefix)
return 0;
struct prefix_ipv4 p;
struct ospf_path *path;
struct vertex_nexthop *nexthop;
- listnode nnode;
+ struct listnode *nnode;
p.family = AF_INET;
p.prefix = v->id;
struct ospf_route *or;
char buf1[BUFSIZ];
char buf2[BUFSIZ];
- listnode pnode;
+ struct listnode *pnode;
struct ospf_path *path;
#if 0
ospf_terminate ()
{
struct ospf *ospf;
- listnode node;
+ struct listnode *node;
LIST_LOOP (om->ospf, ospf, node)
{
ospf_path_exist (struct list *plist, struct in_addr nexthop,
struct ospf_interface *oi)
{
- listnode node;
+ struct listnode *node;
struct ospf_path *path;
for (node = listhead (plist); node; nextnode (node))
ospf_route_copy_nexthops_from_vertex (struct ospf_route *to,
struct vertex *v)
{
- listnode nnode;
+ struct listnode *nnode;
struct ospf_path *path;
struct vertex_nexthop *nexthop;
}
struct ospf_path *
-ospf_path_lookup (list plist, struct ospf_path *path)
+ospf_path_lookup (struct list *plist, struct ospf_path *path)
{
- listnode node;
+ struct listnode *node;
for (node = listhead (plist); node; nextnode (node))
{
}
void
-ospf_route_copy_nexthops (struct ospf_route *to, list from)
+ospf_route_copy_nexthops (struct ospf_route *to, struct list *from)
{
- listnode node;
+ struct listnode *node;
assert (to->paths);
}
void
-ospf_route_subst_nexthops (struct ospf_route *to, list from)
+ospf_route_subst_nexthops (struct ospf_route *to, struct list *from)
{
list_delete_all_node (to->paths);
{
struct route_node *rn, *next;
struct ospf_route *or;
- listnode node, nnext;
- list paths;
+ struct listnode *node, *nnext;
+ struct list *paths;
if (IS_DEBUG_OSPF_EVENT)
zlog_info ("Pruning unreachable routers");
u_char path_type;
/* List of Paths. */
- list paths;
+ struct list *paths;
/* Link State Cost. */
u_int32_t cost; /* i.e. metric. */
struct ospf_path *ospf_path_new ();
void ospf_path_free (struct ospf_path *);
-struct ospf_path *ospf_path_lookup (list, struct ospf_path *);
+struct ospf_path *ospf_path_lookup (struct list *, struct ospf_path *);
struct ospf_route *ospf_route_new ();
void ospf_route_free (struct ospf_route *);
void ospf_route_delete (struct route_table *);
struct vertex *, struct ospf_area *);
int ospf_route_cmp (struct ospf *, struct ospf_route *, struct ospf_route *);
-void ospf_route_copy_nexthops (struct ospf_route *, list);
+void ospf_route_copy_nexthops (struct ospf_route *, struct list *);
void ospf_route_copy_nexthops_from_vertex (struct ospf_route *,
struct vertex * );
void ospf_route_add (struct route_table *, struct prefix_ipv4 *,
struct ospf_route *, struct ospf_route *);
-void ospf_route_subst_nexthops (struct ospf_route *, list);
+void ospf_route_subst_nexthops (struct ospf_route *, struct list *);
void ospf_prune_unreachable_networks (struct route_table *);
void ospf_prune_unreachable_routers (struct route_table *);
int ospf_add_discard_route (struct route_table *, struct ospf_area *,
void
ospf_vertex_free (struct vertex *v)
{
- listnode node;
+ struct listnode *node;
list_delete (v->child);
if (print_nexthops)
{
- listnode nnode;
+ struct listnode *nnode;
for (nnode = listhead (v->nexthop); nnode; nextnode (nnode))
{
char buf1[BUFSIZ];
if (print_children)
{
- listnode cnode;
+ struct listnode *cnode;
for (cnode = listhead (v->child); cnode; nextnode (cnode))
{
struct vertex *cv = getdata (cnode);
ospf_vertex_add_parent (struct vertex *v)
{
struct vertex_nexthop *nh;
- listnode node;
+ struct listnode *node;
for (node = listhead (v->nexthop); node; nextnode (node))
{
/* Find the vertex specified by the given id and LSA type
* in vlist (the candidate list).
*/
-listnode
-ospf_vertex_lookup (list vlist, struct in_addr id, int type)
+struct listnode *
+ospf_vertex_lookup (struct list *vlist, struct in_addr id, int type)
{
- listnode node;
+ struct listnode *node;
struct vertex *v;
for (node = listhead (vlist); node; nextnode (node))
* If it's not unique, free the nexthop entry.
*/
void
-ospf_nexthop_add_unique (struct vertex_nexthop *new, list nexthop)
+ospf_nexthop_add_unique (struct vertex_nexthop *new, struct list *nexthop)
{
struct vertex_nexthop *nh;
- listnode node;
+ struct listnode *node;
int match;
match = 0;
/* Merge entries in list b into list a. */
void
-ospf_nexthop_merge (list a, list b)
+ospf_nexthop_merge (struct list *a, struct list *b)
{
struct listnode *n;
ospf_nexthop_calculation (struct ospf_area *area,
struct vertex *v, struct vertex *w)
{
- listnode node;
+ struct listnode *node;
struct vertex_nexthop *nh, *x;
struct ospf_interface *oi = NULL;
struct router_lsa_link *l = NULL;
/* Add a vertex to the SPF candidate list. */
void
-ospf_install_candidate (list candidate, struct vertex *w)
+ospf_install_candidate (struct list *candidate, struct vertex *w)
{
- listnode node;
+ struct listnode *node;
struct vertex *cw;
ospf_vertex_dump("ospf_install_candidate(): add to candidate list", w, 1, 1);
*/
void
ospf_spf_next (struct vertex *v, struct ospf_area *area,
- list candidate, struct route_table *rv, struct route_table *nv)
+ struct list *candidate, struct route_table *rv,
+ struct route_table *nv)
{
struct ospf_lsa *w_lsa = NULL;
struct vertex *w, *cw;
u_char *lim;
struct router_lsa_link *l = NULL;
struct in_addr *r;
- listnode node;
+ struct listnode *node;
int type = 0;
/* If this is a router-LSA, and bit V of the router-LSA (see Section
void
ospf_spf_dump (struct vertex *v, int i)
{
- listnode cnode;
- listnode nnode;
+ struct listnode *cnode;
+ struct listnode *nnode;
struct vertex_nexthop *nexthop;
if (v->type == OSPF_VERTEX_ROUTER)
ospf_spf_process_stubs (struct ospf_area *area, struct vertex *v,
struct route_table *rt)
{
- listnode cnode;
+ struct listnode *cnode;
struct vertex *child;
if (IS_DEBUG_OSPF_EVENT)
ospf_rtrs_free (struct route_table *rtrs)
{
struct route_node *rn;
- list or_list;
- listnode node;
+ struct list *or_list;
+ struct listnode *node;
if (IS_DEBUG_OSPF_EVENT)
zlog_info ("Route: Router Routing Table free");
ospf_rtrs_print (struct route_table *rtrs)
{
struct route_node *rn;
- list or_list;
- listnode ln;
- listnode pnode;
+ struct list *or_list;
+ struct listnode *ln;
+ struct listnode *pnode;
struct ospf_route *or;
struct ospf_path *path;
char buf1[BUFSIZ];
ospf_spf_calculate (struct ospf_area *area, struct route_table *new_table,
struct route_table *new_rtrs)
{
- list candidate;
- listnode node;
+ struct list *candidate;
+ struct listnode *node;
struct vertex *v;
struct route_table *rv;
struct route_table *nv;
{
struct ospf *ospf = THREAD_ARG (thread);
struct route_table *new_table, *new_rtrs;
- listnode node;
+ struct listnode *node;
if (IS_DEBUG_OSPF_EVENT)
zlog_info ("SPF: Timer (SPF calculation expire)");
struct lsa_header *lsa; /* Router or Network LSA */
u_int32_t distance; /* from root to this vertex */
int backlink; /* link index of back-link */
- list child; /* list of vertex: children in SPF tree*/
- list nexthop; /* list of vertex_nexthop from root to this vertex */
+ struct list *child; /* list of vertex: children in SPF tree*/
+ struct list *nexthop; /* list of vertex_nexthop from root to this vertex */
};
/* A nexthop taken on the root node to get to this (parent) vertex */
{
struct ospf *ospf = vty->index;
u_int32_t refbw;
- listnode node;
+ struct listnode *node;
refbw = strtol (argv[0], NULL, 10);
if (refbw < 1 || refbw > 4294967)
"Use reference bandwidth method to assign OSPF cost\n")
{
struct ospf *ospf = vty->index;
- listnode node;
+ struct listnode *node;
if (ospf->ref_bandwidth == OSPF_DEFAULT_REF_BANDWIDTH)
return CMD_SUCCESS;
IP_STR
"OSPF information\n")
{
- listnode node;
+ struct listnode *node;
struct ospf_area * area;
struct ospf *ospf;
{
struct interface *ifp;
struct ospf *ospf;
- listnode node;
+ struct listnode *node;
ospf = ospf_lookup ();
"Neighbor list\n")
{
struct ospf *ospf;
- listnode node;
+ struct listnode *node;
ospf = ospf_lookup ();
if (ospf == NULL)
"include down status neighbor\n")
{
struct ospf *ospf = vty->index;
- listnode node;
+ struct listnode *node;
if (ospf == NULL)
{
for (node = listhead (ospf->oiflist); node; nextnode (node))
{
struct ospf_interface *oi = getdata (node);
- listnode nbr_node;
+ struct listnode *nbr_node;
show_ip_ospf_neighbor_sub (vty, oi);
"Neighbor ID\n")
{
struct ospf *ospf;
- listnode node;
+ struct listnode *node;
struct ospf_neighbor *nbr;
struct in_addr router_id;
int ret;
"detail of all neighbors\n")
{
struct ospf *ospf;
- listnode node;
+ struct listnode *node;
ospf = ospf_lookup ();
if (ospf == NULL)
"include down status neighbor\n")
{
struct ospf *ospf;
- listnode node;
+ struct listnode *node;
ospf = ospf_lookup ();
if (ospf == NULL)
if (oi->type == OSPF_IFTYPE_NBMA)
{
- listnode nd;
+ struct listnode *nd;
for (nd = listhead (oi->nbr_nbma); nd; nextnode (nd))
{
show_lsa_detail (struct vty *vty, struct ospf *ospf, int type,
struct in_addr *id, struct in_addr *adv_router)
{
- listnode node;
+ struct listnode *node;
switch (type)
{
show_lsa_detail_adv_router (struct vty *vty, struct ospf *ospf, int type,
struct in_addr *adv_router)
{
- listnode node;
+ struct listnode *node;
switch (type)
{
{
struct ospf_lsa *lsa;
struct route_node *rn;
- listnode node;
+ struct listnode *node;
int type;
for (node = listhead (ospf->areas); node; nextnode (node))
void
show_ip_ospf_database_maxage (struct vty *vty, struct ospf *ospf)
{
- listnode node;
+ struct listnode *node;
struct ospf_lsa *lsa;
vty_out (vty, "%s MaxAge Link States:%s%s",
{
struct route_node *rn;
struct ospf_route *or;
- listnode pnode;
+ struct listnode *pnode;
struct ospf_path *path;
vty_out (vty, "============ OSPF network routing table ============%s",
{
struct route_node *rn;
struct ospf_route *or;
- listnode pn, nn;
+ struct listnode *pn, *nn;
struct ospf_path *path;
vty_out (vty, "============ OSPF router routing table =============%s",
vty_out (vty, "R %-15s ", inet_ntoa (rn->p.u.prefix4));
- for (nn = listhead ((list) rn->info); nn; nextnode (nn))
+ for (nn = listhead ((struct list *) rn->info); nn; nextnode (nn))
if ((or = getdata (nn)) != NULL)
{
if (flag++)
{
struct route_node *rn;
struct ospf_route *er;
- listnode pnode;
+ struct listnode *pnode;
struct ospf_path *path;
vty_out (vty, "============ OSPF external routing table ===========%s",
int
config_write_interface (struct vty *vty)
{
- listnode n1, n2;
+ struct listnode *n1, *n2;
struct interface *ifp;
struct crypt_key *ck;
int write = 0;
int
config_write_ospf_area (struct vty *vty, struct ospf *ospf)
{
- listnode node;
+ struct listnode *node;
u_char buf[INET_ADDRSTRLEN];
/* Area configuration print. */
int
config_write_virtual_link (struct vty *vty, struct ospf *ospf)
{
- listnode node;
+ struct listnode *node;
u_char buf[INET_ADDRSTRLEN];
/* Virtual-Link print */
for (node = listhead (ospf->vlinks); node; nextnode (node))
{
- listnode n2;
+ struct listnode *n2;
struct crypt_key *ck;
struct ospf_vl_data *vl_data = getdata (node);
struct ospf_interface *oi;
ospf_config_write (struct vty *vty)
{
struct ospf *ospf;
- listnode node;
+ struct listnode *node;
int write = 0;
ospf = ospf_lookup ();
int psize;
struct stream *s;
struct ospf_path *path;
- listnode node;
+ struct listnode *node;
if (zclient->redist[ZEBRA_ROUTE_OSPF])
{
struct zapi_ipv4 api;
struct ospf_path *path;
struct in_addr *nexthop;
- listnode node;
+ struct listnode *node;
if (zclient->redist[ZEBRA_ROUTE_OSPF])
{
int type;
int abr_inv = 0;
struct ospf_area *area;
- listnode node;
+ struct listnode *node;
/* If OSPF instatnce does not exist, return right now. */
ospf = ospf_lookup ();
int type;
int abr_inv = 0;
struct ospf_area *area;
- listnode node;
+ struct listnode *node;
/* If OSPF instatnce does not exist, return right now. */
ospf = ospf_lookup ();
/* Get Router ID from ospf interface list. */
struct in_addr
-ospf_router_id_get (list if_list)
+ospf_router_id_get (struct list *if_list)
{
- listnode node;
+ struct listnode *node;
struct in_addr router_id;
memset (&router_id, 0, sizeof (struct in_addr));
ospf_router_id_update (struct ospf *ospf)
{
struct in_addr router_id, router_id_old;
- listnode node;
+ struct listnode *node;
if (IS_DEBUG_OSPF_EVENT)
zlog_info ("Router-ID[OLD:%s]: Update", inet_ntoa (ospf->router_id));
struct route_node *rn;
struct ospf_nbr_nbma *nbr_nbma;
struct ospf_lsa *lsa;
- listnode node;
+ struct listnode *node;
int i;
#ifdef HAVE_OPAQUE_LSA
ospf_area_lookup_by_area_id (struct ospf *ospf, struct in_addr area_id)
{
struct ospf_area *area;
- listnode node;
+ struct listnode *node;
for (node = listhead (ospf->areas); node; nextnode (node))
{
ospf_network_run (struct ospf *ospf, struct prefix *p, struct ospf_area *area)
{
struct interface *ifp;
- listnode node;
+ struct listnode *node;
/* Schedule Router ID Update. */
if (ospf->router_id_static.s_addr == 0)
/* Get target interface. */
for (node = listhead (om->iflist); node; nextnode (node))
{
- listnode cn;
+ struct listnode *cn;
if ((ifp = getdata (node)) == NULL)
continue;
ospf_ls_upd_queue_empty (struct ospf_interface *oi)
{
struct route_node *rn;
- listnode node;
- list lst;
+ struct listnode *node;
+ struct list *lst;
struct ospf_lsa *lsa;
/* empty ls update queue */
for (rn = route_top (oi->ls_upd_queue); rn;
rn = route_next (rn))
- if ((lst = (list) rn->info))
+ if ((lst = (struct list *) rn->info))
{
for (node = listhead (lst); node; nextnode (node))
if ((lsa = getdata (node)))
ospf_if_update (struct ospf *ospf)
{
struct route_node *rn;
- listnode node;
- listnode next;
+ struct listnode *node;
+ struct listnode *next;
struct ospf_network *network;
struct ospf_area *area;
void
ospf_remove_vls_through_area (struct ospf *ospf, struct ospf_area *area)
{
- listnode node, next;
+ struct listnode *node, *next;
struct ospf_vl_data *vl_data;
for (node = listhead (ospf->vlinks); node; node = next)
void
ospf_area_type_set (struct ospf_area *area, int type)
{
- listnode node;
+ struct listnode *node;
struct ospf_interface *oi;
if (area->external_routing == type)
ospf_area_vlink_count (struct ospf *ospf, struct ospf_area *area)
{
struct ospf_vl_data *vl;
- listnode node;
+ struct listnode *node;
int count = 0;
for (node = listhead (ospf->vlinks); node; nextnode (node))
{
#if 0
struct ospf_nbr_nbma *nbr_nbma;
- listnode node;
+ struct listnode *node;
#endif
if (ospf == NULL)
struct ospf_interface *oi;
struct prefix_ipv4 p;
struct route_node *rn;
- listnode node;
+ struct listnode *node;
nbr_nbma = ospf_nbr_nbma_lookup (ospf, nbr_addr);
if (nbr_nbma)
#define DEFAULT_ORIGINATE_ALWAYS 2
u_int32_t ref_bandwidth; /* Reference Bandwidth (Kbps). */
struct route_table *networks; /* OSPF config networks. */
- list vlinks; /* Configured Virtual-Links. */
- list areas; /* OSPF areas. */
+ struct list *vlinks; /* Configured Virtual-Links. */
+ struct list *areas; /* OSPF areas. */
struct route_table *nbr_nbma;
struct ospf_area *backbone; /* Pointer to the Backbone Area. */
- list oiflist; /* ospf interfaces */
+ struct list *oiflist; /* ospf interfaces */
/* LSDB of AS-external-LSAs. */
struct ospf_lsdb *lsdb;
int ase_calc; /* ASE calculation flag. */
#ifdef HAVE_OPAQUE_LSA
- list opaque_lsa_self; /* Type-11 Opaque-LSAs */
+ struct list *opaque_lsa_self; /* Type-11 Opaque-LSAs */
#endif /* HAVE_OPAQUE_LSA */
/* Routing tables. */
/* Time stamps. */
time_t ts_spf; /* SPF calculation time stamp. */
- list maxage_lsa; /* List of MaxAge LSA for deletion. */
+ struct list *maxage_lsa; /* List of MaxAge LSA for deletion. */
int redistribute; /* Num of redistributed protocols. */
/* Threads. */
struct thread *t_write;
struct thread *t_read;
int fd;
- list oi_write_q;
+ struct list *oi_write_q;
/* Distribute lists out of other route sources. */
struct
struct
{
u_int16_t index;
- list qs[OSPF_LSA_REFRESHER_SLOTS];
+ struct list *qs[OSPF_LSA_REFRESHER_SLOTS];
} lsa_refresh_queue;
struct thread *t_lsa_refresher;
struct ospf *ospf;
/* Zebra interface list belonging to the area. */
- list oiflist;
+ struct list *oiflist;
/* Area ID. */
struct in_addr area_id;
#define OSPF_AREA_ID_FORMAT_DECIMAL 2
/* Address range. */
- list address_range;
+ struct list *address_range;
/* Configured variables. */
int external_routing; /* ExternalRoutingCapability. */
/* Self-originated LSAs. */
struct ospf_lsa *router_lsa_self;
#ifdef HAVE_OPAQUE_LSA
- list opaque_lsa_self; /* Type-10 Opaque-LSAs */
+ struct list *opaque_lsa_self; /* Type-10 Opaque-LSAs */
#endif /* HAVE_OPAQUE_LSA */
/* Area announce list. */
+2004-09-23 Hasso Tepper <hasso at quagga.net>
+
+ * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
+
2004-09-17 Paul Jakma <paul@dishone.st>
* ripd.c: set receive buffer to a decent size, some systems have low
/* RIPv1 and non multicast interface. */
if (if_is_pointopoint (ifp) || if_is_broadcast (ifp))
{
- listnode cnode;
+ struct listnode *cnode;
if (IS_RIP_DEBUG_EVENT)
zlog_info ("broadcast request to %s", ifp->name);
int
rip_multicast_join (struct interface *ifp, int sock)
{
- listnode cnode;
+ struct listnode *cnode;
if (if_is_operative (ifp) && if_is_multicast (ifp))
{
void
rip_multicast_leave (struct interface *ifp, int sock)
{
- listnode cnode;
+ struct listnode *cnode;
if (if_is_up (ifp) && if_is_multicast (ifp))
{
int
if_check_address (struct in_addr addr)
{
- listnode node;
+ struct listnode *node;
for (node = listhead (iflist); node; nextnode (node))
{
- listnode cnode;
+ struct listnode *cnode;
struct interface *ifp;
ifp = getdata (node);
int
if_valid_neighbor (struct in_addr addr)
{
- listnode node;
+ struct listnode *node;
struct connected *connected = NULL;
struct prefix_ipv4 *p;
for (node = listhead (iflist); node; nextnode (node))
{
- listnode cnode;
+ struct listnode *cnode;
struct interface *ifp;
ifp = getdata (node);
void
rip_interface_clean ()
{
- listnode node;
+ struct listnode *node;
struct interface *ifp;
struct rip_interface *ri;
void
rip_interface_reset ()
{
- listnode node;
+ struct listnode *node;
struct interface *ifp;
struct rip_interface *ri;
rip_if_down_all ()
{
struct interface *ifp;
- listnode node;
+ struct listnode *node;
for (node = listhead (iflist); node; nextnode (node))
{
rip_enable_apply_all ()
{
struct interface *ifp;
- listnode node;
+ struct listnode *node;
/* Check each interface. */
for (node = listhead (iflist); node; nextnode (node))
rip_passive_interface_apply_all ()
{
struct interface *ifp;
- listnode node;
+ struct listnode *node;
for (node = listhead (iflist); node; nextnode (node))
{
int
rip_interface_config_write (struct vty *vty)
{
- listnode node;
+ struct listnode *node;
struct interface *ifp;
for (node = listhead (iflist); node; nextnode (node))
static int
rip_nexthop_check (struct in_addr *addr)
{
- listnode node;
- listnode cnode;
+ struct listnode *node;
+ struct listnode *cnode;
struct interface *ifp;
struct connected *ifc;
struct prefix *p;
{
struct prefix_ipv4 *p;
struct connected *connected;
- listnode node;
+ struct listnode *node;
struct sockaddr_in to;
struct prefix_ipv4 *saddr = (struct prefix_ipv4 *) sconn->address;
void
rip_update_process (int route_type)
{
- listnode node, ifnode;
+ struct listnode *node, *ifnode;
struct connected *connected;
struct interface *ifp;
struct rip_interface *ri;
{
struct rte *rte;
struct rip_packet rip_packet;
- listnode node;
+ struct listnode *node;
memset (&rip_packet, 0, sizeof (rip_packet));
"Show RIP routes\n"
"IP routing protocol process parameters and statistics\n")
{
- listnode node;
+ struct listnode *node;
struct interface *ifp;
struct rip_interface *ri;
extern struct message ri_version_msg[];
rip_distribute_update_all (struct prefix_list *notused)
{
struct interface *ifp;
- listnode node;
+ struct listnode *node;
for (node = listhead (iflist); node; nextnode (node))
{
rip_routemap_update (char *notused)
{
struct interface *ifp;
- listnode node;
+ struct listnode *node;
for (node = listhead (iflist); node; nextnode (node))
{
+2004-09-23 Hasso Tepper <hasso at quagga.net>
+
+ * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
+
2004-09-17 Paul Jakma <paul@dishone.st>
* ripngd.c: move setsockopt_so_recvbuf to lib.
int
ripng_check_max_mtu ()
{
- listnode node;
+ struct listnode *node;
struct interface *ifp;
int mtu;
void
ripng_interface_clean ()
{
- listnode node;
+ struct listnode *node;
struct interface *ifp;
struct ripng_interface *ri;
void
ripng_interface_reset () {
- listnode node;
+ struct listnode *node;
struct interface *ifp;
struct ripng_interface *ri;
int
ripng_enable_network_lookup_if (struct interface *ifp)
{
- listnode listnode;
+ struct listnode *listnode;
struct connected *connected;
struct prefix_ipv6 address;
ripng_enable_apply_all ()
{
struct interface *ifp;
- listnode node;
+ struct listnode *node;
for (node = listhead (iflist); node; nextnode (node))
{
ripng_passive_interface_apply_all (void)
{
struct interface *ifp;
- listnode node;
+ struct listnode *node;
for (node = listhead (iflist); node; nextnode (node))
{
int
interface_config_write (struct vty *vty)
{
- listnode node;
+ struct listnode *node;
struct interface *ifp;
struct ripng_interface *ri;
int write = 0;
int
ripng_lladdr_check (struct interface *ifp, struct in6_addr *addr)
{
- listnode listnode;
+ struct listnode *listnode;
struct connected *connected;
struct prefix *p;
int
ripng_update (struct thread *t)
{
- listnode node;
+ struct listnode *node;
struct interface *ifp;
struct ripng_interface *ri;
int
ripng_triggered_update (struct thread *t)
{
- listnode node;
+ struct listnode *node;
struct interface *ifp;
struct ripng_interface *ri;
int interval;
"Show RIPng routes\n"
"IPv6 routing protocol process parameters and statistics\n")
{
- listnode node;
+ struct listnode *node;
int ripng_network_write (struct vty *, int);
void ripng_redistribute_write (struct vty *, int);
ripng_distribute_update_all ()
{
struct interface *ifp;
- listnode node;
+ struct listnode *node;
for (node = listhead (iflist); node; nextnode (node))
{
ripng_routemap_update ()
{
struct interface *ifp;
- listnode node;
+ struct listnode *node;
for (node = listhead (iflist); node; nextnode (node))
{
+2004-09-23 Hasso Tepper <hasso at quagga.net>
+
+ * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
+
2004-09-22 Paul Jakma <paul.jakma@sun.com>
* zserv.c: (zsend_route_multipath) fix nasty bad memset of struct
connected_check_ipv4 (struct interface *ifp, struct prefix *p)
{
struct connected *ifc;
- listnode node;
+ struct listnode *node;
for (node = listhead (ifp->connected); node; node = nextnode (node))
{
connected_check_ipv6 (struct interface *ifp, struct prefix *p)
{
struct connected *ifc;
- listnode node;
+ struct listnode *node;
for (node = listhead (ifp->connected); node; node = nextnode (node))
{
void
if_up (struct interface *ifp)
{
- listnode node;
- listnode next;
+ struct listnode *node;
+ struct listnode *next;
struct connected *ifc;
struct prefix *p;
void
if_down (struct interface *ifp)
{
- listnode node;
- listnode next;
+ struct listnode *node;
+ struct listnode *next;
struct connected *ifc;
struct prefix *p;
struct sockaddr_dl *sdl;
#endif /* HAVE_SOCKADDR_DL */
struct connected *connected;
- listnode node;
+ struct listnode *node;
vty_out (vty, "Interface %s is ", ifp->name);
if (if_is_up(ifp)) {
"Interface status and configuration\n"
"Inteface name\n")
{
- listnode node;
+ struct listnode *node;
struct interface *ifp;
#ifdef HAVE_PROC_NET_DEV
int
if_config_write (struct vty *vty)
{
- listnode node;
+ struct listnode *node;
struct interface *ifp;
char buf[BUFSIZ];
for (node = listhead (iflist); node; nextnode (node))
{
struct zebra_if *if_data;
- listnode addrnode;
+ struct listnode *addrnode;
struct connected *ifc;
struct prefix *p;
protocols as being on-link for the interface from which the
advertisement is sent. The link-local prefix SHOULD NOT be
included in the list of advertised prefixes. */
- list AdvPrefixList;
+ struct list *AdvPrefixList;
};
#endif /* RTADV */
u_char rtadv_enable;
/* Interface's address. */
- list address;
+ struct list *address;
#ifdef RTADV
struct rtadvconf rtadv;
unsigned long irdp_sent;
u_int16_t Lifetime;
- list AdvPrefList;
+ struct list *AdvPrefList;
};
void
redistribute_add (struct prefix *p, struct rib *rib)
{
- listnode node;
+ struct listnode *node;
struct zserv *client;
for (node = listhead (zebrad.client_list); node; nextnode (node))
void
redistribute_delete (struct prefix *p, struct rib *rib)
{
- listnode node;
+ struct listnode *node;
struct zserv *client;
/* Add DISTANCE_INFINITY check. */
void
zebra_interface_up_update (struct interface *ifp)
{
- listnode node;
+ struct listnode *node;
struct zserv *client;
if (IS_ZEBRA_DEBUG_EVENT)
void
zebra_interface_down_update (struct interface *ifp)
{
- listnode node;
+ struct listnode *node;
struct zserv *client;
if (IS_ZEBRA_DEBUG_EVENT)
void
zebra_interface_add_update (struct interface *ifp)
{
- listnode node;
+ struct listnode *node;
struct zserv *client;
if (IS_ZEBRA_DEBUG_EVENT)
void
zebra_interface_delete_update (struct interface *ifp)
{
- listnode node;
+ struct listnode *node;
struct zserv *client;
if (IS_ZEBRA_DEBUG_EVENT)
zebra_interface_address_add_update (struct interface *ifp,
struct connected *ifc)
{
- listnode node;
+ struct listnode *node;
struct zserv *client;
struct prefix *p;
char buf[BUFSIZ];
zebra_interface_address_delete_update (struct interface *ifp,
struct connected *ifc)
{
- listnode node;
+ struct listnode *node;
struct zserv *client;
struct prefix *p;
char buf[BUFSIZ];
int len = 0;
struct zebra_if *zif;
u_char all_nodes_addr[] = {0xff,0x02,0,0,0,0,0,0,0,0,0,0,0,0,0,1};
- listnode node;
+ struct listnode *node;
/*
* Allocate control message bufffer. This is dynamic because
int
rtadv_timer (struct thread *thread)
{
- listnode node;
+ struct listnode *node;
struct interface *ifp;
struct zebra_if *zif;
}
struct rtadv_prefix *
-rtadv_prefix_lookup (list rplist, struct prefix *p)
+rtadv_prefix_lookup (struct list *rplist, struct prefix *p)
{
- listnode node;
+ struct listnode *node;
struct rtadv_prefix *rprefix;
for (node = listhead (rplist); node; node = nextnode (node))
}
struct rtadv_prefix *
-rtadv_prefix_get (list rplist, struct prefix *p)
+rtadv_prefix_get (struct list *rplist, struct prefix *p)
{
struct rtadv_prefix *rprefix;
rtadv_config_write (struct vty *vty, struct interface *ifp)
{
struct zebra_if *zif;
- listnode node;
+ struct listnode *node;
struct rtadv_prefix *rprefix;
u_char buf[INET6_ADDRSTRLEN];
static void
zread_interface_add (struct zserv *client, u_short length)
{
- listnode ifnode;
- listnode cnode;
+ struct listnode *ifnode;
+ struct listnode *cnode;
struct interface *ifp;
struct connected *c;
"Zebra information"
"Client information")
{
- listnode node;
+ struct listnode *node;
struct zserv *client;
for (node = listhead (zebrad.client_list); node; nextnode (node))
{
/* Thread master */
struct thread_master *master;
- list client_list;
+ struct list *client_list;
/* default table */
int rtm_table_default;