diff options
author | paul <paul> | 2005-05-06 21:37:42 +0000 |
---|---|---|
committer | paul <paul> | 2005-05-06 21:37:42 +0000 |
commit | 4dadc291e56195886fd047690ded9686f4e013fa (patch) | |
tree | ea7c0690912d2b7d0c487f6855960e768fff1b6e | |
parent | 69e10adaf28d4e116c38db2648786557fe131828 (diff) |
2005-05-06 Paul Jakma <paul.jakma@sun.com>
* (general) extern and static qualifiers added.
unspecified arguments in definitions fixed, typically they should
be 'void'.
function casts added for callbacks.
Guards added to headers which lacked them.
Proper headers included rather than relying on incomplete
definitions.
gcc noreturn function attribute where appropriate.
* ospf_opaque.c: remove the private definition of ospf_lsa's
ospf_lsa_refresh_delay.
* ospf_lsa.h: export ospf_lsa_refresh_delay
* ospf_packet.c: (ospf_make_md5_digest) make *auth_key const,
correct thing to do - removes need for the casts later.
* ospf_vty.c: Use vty.h's VTY_GET_INTEGER rather than ospf_vty's
home-brewed versions, shuts up several warnings.
* ospf_vty.h: remove VTY_GET_UINT32. VTY_GET_IPV4_ADDRESS and
VTY_GET_IPV4_PREFIX moved to lib/vty.h.
* ospf_zebra.c: (ospf_distribute_list_update_timer) hacky
overloading of the THREAD_ARG pointer should at least use
uintptr_t.
47 files changed, 995 insertions, 953 deletions
diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog index 3916e57d..d8ec676f 100644 --- a/ospfd/ChangeLog +++ b/ospfd/ChangeLog @@ -1,3 +1,26 @@ +2005-05-06 Paul Jakma <paul.jakma@sun.com> + + * (general) extern and static qualifiers added. + unspecified arguments in definitions fixed, typically they should + be 'void'. + function casts added for callbacks. + Guards added to headers which lacked them. + Proper headers included rather than relying on incomplete + definitions. + gcc noreturn function attribute where appropriate. + * ospf_opaque.c: remove the private definition of ospf_lsa's + ospf_lsa_refresh_delay. + * ospf_lsa.h: export ospf_lsa_refresh_delay + * ospf_packet.c: (ospf_make_md5_digest) make *auth_key const, + correct thing to do - removes need for the casts later. + * ospf_vty.c: Use vty.h's VTY_GET_INTEGER rather than ospf_vty's + home-brewed versions, shuts up several warnings. + * ospf_vty.h: remove VTY_GET_UINT32. VTY_GET_IPV4_ADDRESS and + VTY_GET_IPV4_PREFIX moved to lib/vty.h. + * ospf_zebra.c: (ospf_distribute_list_update_timer) hacky + overloading of the THREAD_ARG pointer should at least use + uintptr_t. + 2005-04-15 Zhipeng Gong <zpgong@cdc.3upsystems.com> * ospf_abr.c: (ospf_abr_announce_network_to_area) dont forget diff --git a/ospfd/ospf_abr.c b/ospfd/ospf_abr.c index b63a803b..f12dd348 100644 --- a/ospfd/ospf_abr.c +++ b/ospfd/ospf_abr.c @@ -51,7 +51,7 @@ #include "ospfd/ospf_zebra.h" #include "ospfd/ospf_dump.h" -struct ospf_area_range * +static struct ospf_area_range * ospf_area_range_new (struct prefix_ipv4 *p) { struct ospf_area_range *range; @@ -64,13 +64,13 @@ ospf_area_range_new (struct prefix_ipv4 *p) return range; } -void +static void ospf_area_range_free (struct ospf_area_range *range) { XFREE (MTYPE_OSPF_AREA_RANGE, range); } -void +static void ospf_area_range_add (struct ospf_area *area, struct ospf_area_range *range) { struct route_node *rn; @@ -87,7 +87,7 @@ ospf_area_range_add (struct ospf_area *area, struct ospf_area_range *range) rn->info = range; } -void +static void ospf_area_range_delete (struct ospf_area *area, struct ospf_area_range *range) { struct route_node *rn; @@ -156,7 +156,7 @@ ospf_area_range_lookup_next (struct ospf_area *area, return NULL; } -struct ospf_area_range * +static struct ospf_area_range * ospf_area_range_match (struct ospf_area *area, struct prefix_ipv4 *p) { struct route_node *node; @@ -190,7 +190,7 @@ ospf_area_range_active (struct ospf_area_range *range) return range->specifics; } -int +static int ospf_area_actively_attached (struct ospf_area *area) { return area->act_ints; @@ -349,7 +349,7 @@ ospf_act_bb_connection (struct ospf *ospf) } /* Determine whether this router is elected translator or not for area */ -int +static int ospf_abr_nssa_am_elected (struct ospf_area *area) { struct route_node *rn; @@ -404,7 +404,7 @@ ospf_abr_nssa_am_elected (struct ospf_area *area) /* Check NSSA ABR status * assumes there are nssa areas */ -void +static void ospf_abr_nssa_check_status (struct ospf *ospf) { struct ospf_area *area; @@ -557,7 +557,7 @@ ospf_check_abr_status (struct ospf *ospf) } } -void +static void ospf_abr_update_aggregate (struct ospf_area_range *range, struct ospf_route *or) { @@ -601,7 +601,7 @@ set_metric (struct ospf_lsa *lsa, u_int32_t metric) memcpy(header->metric, mp, 3); } -int +static int ospf_abr_check_nssa_range (struct prefix_ipv4 *p, u_int32_t cost, struct ospf_area *area) { @@ -611,7 +611,7 @@ ospf_abr_check_nssa_range (struct prefix_ipv4 *p, u_int32_t cost, } /* ospf_abr_translate_nssa */ -int +static int ospf_abr_translate_nssa (struct ospf_area *area, struct ospf_lsa *lsa) { /* Incoming Type-7 or later aggregated Type-7 @@ -700,14 +700,14 @@ ospf_abr_translate_nssa (struct ospf_area *area, struct ospf_lsa *lsa) return 0; } -void +static void ospf_abr_translate_nssa_range (struct prefix_ipv4 *p, u_int32_t cost) { /* The Type-7 is created from the aggregated prefix and forwarded for lsa installation and flooding... to be added... */ } -void +static void ospf_abr_announce_network_to_area (struct prefix_ipv4 *p, u_int32_t cost, struct ospf_area *area) { @@ -770,7 +770,7 @@ ospf_abr_announce_network_to_area (struct prefix_ipv4 *p, u_int32_t cost, zlog_debug ("ospf_abr_announce_network_to_area(): Stop"); } -int +static int ospf_abr_nexthops_belong_to_area (struct ospf_route *or, struct ospf_area *area) { @@ -789,7 +789,7 @@ ospf_abr_nexthops_belong_to_area (struct ospf_route *or, return 0; } -int +static int ospf_abr_should_accept (struct prefix_ipv4 *p, struct ospf_area *area) { if (IMPORT_NAME (area)) @@ -805,7 +805,7 @@ ospf_abr_should_accept (struct prefix_ipv4 *p, struct ospf_area *area) return 1; } -int +static int ospf_abr_plist_in_check (struct ospf_area *area, struct ospf_route *or, struct prefix_ipv4 *p) { @@ -821,7 +821,7 @@ ospf_abr_plist_in_check (struct ospf_area *area, struct ospf_route *or, return 1; } -int +static int ospf_abr_plist_out_check (struct ospf_area *area, struct ospf_route *or, struct prefix_ipv4 *p) { @@ -837,7 +837,7 @@ ospf_abr_plist_out_check (struct ospf_area *area, struct ospf_route *or, return 1; } -void +static void ospf_abr_announce_network (struct ospf *ospf, struct prefix_ipv4 *p, struct ospf_route *or) { @@ -916,7 +916,7 @@ ospf_abr_announce_network (struct ospf *ospf, } } -int +static int ospf_abr_should_announce (struct ospf *ospf, struct prefix_ipv4 *p, struct ospf_route *or) { @@ -939,7 +939,7 @@ ospf_abr_should_announce (struct ospf *ospf, return 1; } -void +static void ospf_abr_process_nssa_translates (struct ospf *ospf) { /* Scan through all NSSA_LSDB records for all areas; @@ -977,7 +977,7 @@ ospf_abr_process_nssa_translates (struct ospf *ospf) } -void +static void ospf_abr_process_network_rt (struct ospf *ospf, struct route_table *rt) { @@ -1075,7 +1075,7 @@ ospf_abr_process_network_rt (struct ospf *ospf, zlog_debug ("ospf_abr_process_network_rt(): Stop"); } -void +static void ospf_abr_announce_rtr_to_area (struct prefix_ipv4 *p, u_int32_t cost, struct ospf_area *area) { @@ -1134,7 +1134,7 @@ ospf_abr_announce_rtr_to_area (struct prefix_ipv4 *p, u_int32_t cost, } -void +static void ospf_abr_announce_rtr (struct ospf *ospf, struct prefix_ipv4 *p, struct ospf_route *or) { @@ -1187,7 +1187,7 @@ ospf_abr_announce_rtr (struct ospf *ospf, zlog_debug ("ospf_abr_announce_rtr(): Stop"); } -void +static void ospf_abr_process_router_rt (struct ospf *ospf, struct route_table *rt) { struct ospf_route *or; @@ -1287,7 +1287,7 @@ ospf_abr_process_router_rt (struct ospf *ospf, struct route_table *rt) zlog_debug ("ospf_abr_process_router_rt(): Stop"); } -void +static void ospf_abr_unapprove_translates (struct ospf *ospf) /* For NSSA Translations */ { struct ospf_lsa *lsa; @@ -1313,7 +1313,7 @@ ospf_abr_unapprove_translates (struct ospf *ospf) /* For NSSA Translations */ zlog_debug ("ospf_abr_unapprove_translates(): Stop"); } -void +static void ospf_abr_unapprove_summaries (struct ospf *ospf) { struct listnode *node; @@ -1355,7 +1355,7 @@ ospf_abr_unapprove_summaries (struct ospf *ospf) zlog_debug ("ospf_abr_unapprove_summaries(): Stop"); } -void +static void ospf_abr_prepare_aggregates (struct ospf *ospf) { struct listnode *node; @@ -1380,7 +1380,7 @@ ospf_abr_prepare_aggregates (struct ospf *ospf) zlog_debug ("ospf_abr_prepare_aggregates(): Stop"); } -void +static void ospf_abr_announce_aggregates (struct ospf *ospf) { struct ospf_area *area, *ar; @@ -1461,7 +1461,7 @@ ospf_abr_announce_aggregates (struct ospf *ospf) zlog_debug ("ospf_abr_announce_aggregates(): Stop"); } -void +static void ospf_abr_send_nssa_aggregates (struct ospf *ospf) /* temporarily turned off */ { struct listnode *node; /*, n; */ @@ -1530,7 +1530,7 @@ ospf_abr_send_nssa_aggregates (struct ospf *ospf) /* temporarily turned off */ zlog_debug ("ospf_abr_send_nssa_aggregates(): Stop"); } -void +static void ospf_abr_announce_nssa_defaults (struct ospf *ospf) /* By ABR-Translator */ { struct listnode *node; @@ -1566,7 +1566,7 @@ ospf_abr_announce_nssa_defaults (struct ospf *ospf) /* By ABR-Translator */ } } -void +static void ospf_abr_announce_stub_defaults (struct ospf *ospf) { struct listnode *node; @@ -1608,7 +1608,7 @@ ospf_abr_announce_stub_defaults (struct ospf *ospf) zlog_debug ("ospf_abr_announce_stub_defaults(): Stop"); } -int +static int ospf_abr_remove_unapproved_translates_apply (struct ospf *ospf, struct ospf_lsa *lsa) { @@ -1627,7 +1627,7 @@ ospf_abr_remove_unapproved_translates_apply (struct ospf *ospf, return 0; } -void +static void ospf_abr_remove_unapproved_translates (struct ospf *ospf) { struct route_node *rn; @@ -1645,7 +1645,7 @@ ospf_abr_remove_unapproved_translates (struct ospf *ospf) zlog_debug ("ospf_abr_remove_unapproved_translates(): Stop"); } -void +static void ospf_abr_remove_unapproved_summaries (struct ospf *ospf) { struct listnode *node; @@ -1677,7 +1677,7 @@ ospf_abr_remove_unapproved_summaries (struct ospf *ospf) zlog_debug ("ospf_abr_remove_unapproved_summaries(): Stop"); } -void +static void ospf_abr_manage_discard_routes (struct ospf *ospf) { struct listnode *node, *nnode; @@ -1723,7 +1723,7 @@ ospf_abr_manage_discard_routes (struct ospf *ospf) For External Calculations, any NSSA areas use the Type-7 AREA-LSDB, any ABR-non-NSSA areas use the Type-5 GLOBAL-LSDB. */ -void +static void ospf_abr_nssa_task (struct ospf *ospf) /* called only if any_nssa */ { if (IS_DEBUG_OSPF_NSSA) @@ -1837,8 +1837,7 @@ ospf_abr_task (struct ospf *ospf) zlog_debug ("ospf_abr_task(): Stop"); } - -int +static int ospf_abr_task_timer (struct thread *thread) { struct ospf *ospf = THREAD_ARG (thread); diff --git a/ospfd/ospf_abr.h b/ospfd/ospf_abr.h index 11c0d9b1..a85ec846 100644 --- a/ospfd/ospf_abr.h +++ b/ospfd/ospf_abr.h @@ -56,29 +56,36 @@ struct ospf_area_range }; /* Prototypes. */ -struct ospf_area_range *ospf_area_range_lookup (struct ospf_area *, - struct prefix_ipv4 *); -struct ospf_area_range *ospf_some_area_range_match (struct prefix_ipv4 *); -struct ospf_area_range *ospf_area_range_lookup_next (struct ospf_area *, - struct in_addr *, int); -int ospf_area_range_set (struct ospf *, struct in_addr, struct prefix_ipv4 *, - int); -int ospf_area_range_cost_set (struct ospf *, struct in_addr, - struct prefix_ipv4 *, u_int32_t); -int ospf_area_range_unset (struct ospf *, struct in_addr, - struct prefix_ipv4 *); -int ospf_area_range_substitute_set (struct ospf *, struct in_addr, - struct prefix_ipv4 *, - struct prefix_ipv4 *); -int ospf_area_range_substitute_unset (struct ospf *, struct in_addr, - struct prefix_ipv4 *); -struct ospf_area_range *ospf_area_range_match_any (struct ospf *, - struct prefix_ipv4 *); -int ospf_area_range_active (struct ospf_area_range *); -int ospf_act_bb_connection (struct ospf *); - -void ospf_check_abr_status (struct ospf *); -void ospf_abr_task (struct ospf *); -void ospf_schedule_abr_task (struct ospf *); +extern struct ospf_area_range *ospf_area_range_lookup (struct ospf_area *, + struct prefix_ipv4 *); + +extern struct ospf_area_range *ospf_some_area_range_match (struct prefix_ipv4 + *); + +extern struct ospf_area_range *ospf_area_range_lookup_next (struct ospf_area + *, + struct in_addr *, + int); + +extern int ospf_area_range_set (struct ospf *, struct in_addr, + struct prefix_ipv4 *, int); +extern int ospf_area_range_cost_set (struct ospf *, struct in_addr, + struct prefix_ipv4 *, u_int32_t); +extern int ospf_area_range_unset (struct ospf *, struct in_addr, + struct prefix_ipv4 *); +extern int ospf_area_range_substitute_set (struct ospf *, struct in_addr, + struct prefix_ipv4 *, + struct prefix_ipv4 *); +extern int ospf_area_range_substitute_unset (struct ospf *, struct in_addr, + struct prefix_ipv4 *); +extern struct ospf_area_range *ospf_area_range_match_any (struct ospf *, + struct prefix_ipv4 + *); +extern int ospf_area_range_active (struct ospf_area_range *); +extern int ospf_act_bb_connection (struct ospf *); + +extern void ospf_check_abr_status (struct ospf *); +extern void ospf_abr_task (struct ospf *); +extern void ospf_schedule_abr_task (struct ospf *); #endif /* _ZEBRA_OSPF_ABR_H */ diff --git a/ospfd/ospf_api.h b/ospfd/ospf_api.h index 77e1b23f..eb5ad0aa 100644 --- a/ospfd/ospf_api.h +++ b/ospfd/ospf_api.h @@ -65,13 +65,13 @@ struct msg }; /* Prototypes for generic messages. */ -struct msg *msg_new (u_char msgtype, void *msgbody, +extern struct msg *msg_new (u_char msgtype, void *msgbody, u_int32_t seqnum, u_int16_t msglen); -struct msg *msg_dup (struct msg *msg); -void msg_print (struct msg *msg); /* XXX debug only */ -void msg_free (struct msg *msg); +extern struct msg *msg_dup (struct msg *msg); +extern void msg_print (struct msg *msg); /* XXX debug only */ +extern void msg_free (struct msg *msg); struct msg *msg_read (int fd); -int msg_write (int fd, struct msg *msg); +extern int msg_write (int fd, struct msg *msg); /* For requests, the message sequence number is between MIN_SEQ and MAX_SEQ. For notifications, the sequence number is 0. */ @@ -79,8 +79,8 @@ int msg_write (int fd, struct msg *msg); #define MIN_SEQ 1 #define MAX_SEQ 2147483647 -void msg_set_seq (struct msg *msg, u_int32_t seqnr); -u_int32_t msg_get_seq (struct msg *msg); +extern void msg_set_seq (struct msg *msg, u_int32_t seqnr); +extern u_int32_t msg_get_seq (struct msg *msg); /* ----------------------------------------------------------- * Message fifo queues @@ -97,12 +97,12 @@ struct msg_fifo }; /* Prototype for message fifo queues. */ -struct msg_fifo *msg_fifo_new (); -void msg_fifo_push (struct msg_fifo *, struct msg *msg); -struct msg *msg_fifo_pop (struct msg_fifo *fifo); -struct msg *msg_fifo_head (struct msg_fifo *fifo); -void msg_fifo_flush (struct msg_fifo *fifo); -void msg_fifo_free (struct msg_fifo *fifo); +extern struct msg_fifo *msg_fifo_new (void); +extern void msg_fifo_push (struct msg_fifo *, struct msg *msg); +extern struct msg *msg_fifo_pop (struct msg_fifo *fifo); +extern struct msg *msg_fifo_head (struct msg_fifo *fifo); +extern void msg_fifo_flush (struct msg_fifo *fifo); +extern void msg_fifo_free (struct msg_fifo *fifo); /* ----------------------------------------------------------- * Specific message type and format definitions @@ -306,52 +306,56 @@ struct apimsg */ /* For debugging only. */ -void api_opaque_lsa_print (struct lsa_header *data); +extern void api_opaque_lsa_print (struct lsa_header *data); /* Messages sent by client */ -struct msg *new_msg_register_opaque_type (u_int32_t seqnum, u_char ltype, - u_char otype); -struct msg *new_msg_register_event (u_int32_t seqnum, - struct lsa_filter_type *filter); -struct msg *new_msg_sync_lsdb (u_int32_t seqnum, - struct lsa_filter_type *filter); -struct msg *new_msg_originate_request (u_int32_t seqnum, - struct in_addr ifaddr, - struct in_addr area_id, - struct lsa_header *data); -struct msg *new_msg_delete_request (u_int32_t seqnum, - struct in_addr area_id, - u_char lsa_type, - u_char opaque_type, u_int32_t opaque_id); +extern struct msg *new_msg_register_opaque_type (u_int32_t seqnum, + u_char ltype, u_char otype); +extern struct msg *new_msg_register_event (u_int32_t seqnum, + struct lsa_filter_type *filter); +extern struct msg *new_msg_sync_lsdb (u_int32_t seqnum, + struct lsa_filter_type *filter); +extern struct msg *new_msg_originate_request (u_int32_t seqnum, + struct in_addr ifaddr, + struct in_addr area_id, + struct lsa_header *data); +extern struct msg *new_msg_delete_request (u_int32_t seqnum, + struct in_addr area_id, + u_char lsa_type, + u_char opaque_type, + u_int32_t opaque_id); /* Messages sent by OSPF daemon */ -struct msg *new_msg_reply (u_int32_t seqnum, u_char rc); +extern struct msg *new_msg_reply (u_int32_t seqnum, u_char rc); -struct msg *new_msg_ready_notify (u_int32_t seqnr, u_char lsa_type, - u_char opaque_type, struct in_addr addr); +extern struct msg *new_msg_ready_notify (u_int32_t seqnr, u_char lsa_type, + u_char opaque_type, + struct in_addr addr); -struct msg *new_msg_new_if (u_int32_t seqnr, - struct in_addr ifaddr, struct in_addr area); +extern struct msg *new_msg_new_if (u_int32_t seqnr, + struct in_addr ifaddr, + struct in_addr area); -struct msg *new_msg_del_if (u_int32_t seqnr, struct in_addr ifaddr); +extern struct msg *new_msg_del_if (u_int32_t seqnr, struct in_addr ifaddr); -struct msg *new_msg_ism_change (u_int32_t seqnr, struct in_addr ifaddr, - struct in_addr area, u_char status); +extern struct msg *new_msg_ism_change (u_int32_t seqnr, struct in_addr ifaddr, + struct in_addr area, u_char status); -struct msg *new_msg_nsm_change (u_int32_t seqnr, struct in_addr ifaddr, - struct in_addr nbraddr, - struct in_addr router_id, u_char status); +extern struct msg *new_msg_nsm_change (u_int32_t seqnr, struct in_addr ifaddr, + struct in_addr nbraddr, + struct in_addr router_id, + u_char status); /* msgtype is MSG_LSA_UPDATE_NOTIFY or MSG_LSA_DELETE_NOTIFY */ -struct msg *new_msg_lsa_change_notify (u_char msgtype, - u_int32_t seqnum, - struct in_addr ifaddr, - struct in_addr area_id, - u_char is_self_originated, - struct lsa_header *data); +extern struct msg *new_msg_lsa_change_notify (u_char msgtype, + u_int32_t seqnum, + struct in_addr ifaddr, + struct in_addr area_id, + u_char is_self_originated, + struct lsa_header *data); /* string printing functions */ -const char *ospf_api_errname (int errcode); -const char *ospf_api_typename (int msgtype); +extern const char *ospf_api_errname (int errcode); +extern const char *ospf_api_typename (int msgtype); #endif /* _OSPF_API_H */ diff --git a/ospfd/ospf_apiserver.c b/ospfd/ospf_apiserver.c index 59233c72..f9df812c 100644 --- a/ospfd/ospf_apiserver.c +++ b/ospfd/ospf_apiserver.c @@ -767,7 +767,7 @@ ospf_apiserver_accept (struct thread *thread) * ----------------------------------------------------------- */ -int +static int ospf_apiserver_send_msg (struct ospf_apiserver *apiserv, struct msg *msg) { struct msg_fifo *fifo; @@ -992,7 +992,7 @@ ospf_apiserver_unregister_opaque_type (struct ospf_apiserver *apiserv, } -int +static int apiserver_is_opaque_type_registered (struct ospf_apiserver *apiserv, u_char lsa_type, u_char opaque_type) { @@ -1268,7 +1268,7 @@ ospf_apiserver_handle_register_event (struct ospf_apiserver *apiserv, * ----------------------------------------------------------- */ -int +static int apiserver_sync_callback (struct ospf_lsa *lsa, void *p_arg, int int_arg) { struct ospf_apiserver *apiserv; @@ -1997,7 +1997,7 @@ out: } /* Flush self-originated opaque LSA */ -int +static int apiserver_flush_opaque_type_callback (struct ospf_lsa *lsa, void *p_arg, int int_arg) { @@ -2482,7 +2482,7 @@ ospf_apiserver_clients_notify_nsm_change (struct ospf_neighbor *nbr) msg_free (msg); } -void +static void apiserver_clients_lsa_change_notify (u_char msgtype, struct ospf_lsa *lsa) { struct msg *msg; @@ -2583,7 +2583,7 @@ apiserver_clients_lsa_change_notify (u_char msgtype, struct ospf_lsa *lsa) */ -int +static int apiserver_notify_clients_lsa (u_char msgtype, struct ospf_lsa *lsa) { struct msg *msg; diff --git a/ospfd/ospf_apiserver.h b/ospfd/ospf_apiserver.h index f4dc6474..9a8ae254 100644 --- a/ospfd/ospf_apiserver.h +++ b/ospfd/ospf_apiserver.h @@ -87,19 +87,19 @@ enum event * ----------------------------------------------------------- */ -unsigned short ospf_apiserver_getport (void); -int ospf_apiserver_init (void); -void ospf_apiserver_term (void); -struct ospf_apiserver *ospf_apiserver_new (int fd_sync, int fd_async); -void ospf_apiserver_free (struct ospf_apiserver *apiserv); -void ospf_apiserver_event (enum event event, int fd, +extern unsigned short ospf_apiserver_getport (void); +extern int ospf_apiserver_init (void); +extern void ospf_apiserver_term (void); +extern struct ospf_apiserver *ospf_apiserver_new (int fd_sync, int fd_async); +extern void ospf_apiserver_free (struct ospf_apiserver *apiserv); +extern void ospf_apiserver_event (enum event event, int fd, struct ospf_apiserver *apiserv); -int ospf_apiserver_serv_sock_family (unsigned short port, int family); -int ospf_apiserver_accept (struct thread *thread); -int ospf_apiserver_read (struct thread *thread); -int ospf_apiserver_sync_write (struct thread *thread); -int ospf_apiserver_async_write (struct thread *thread); -int ospf_apiserver_send_reply (struct ospf_apiserver *apiserv, +extern int ospf_apiserver_serv_sock_family (unsigned short port, int family); +extern int ospf_apiserver_accept (struct thread *thread); +extern int ospf_apiserver_read (struct thread *thread); +extern int ospf_apiserver_sync_write (struct thread *thread); +extern int ospf_apiserver_async_write (struct thread *thread); +extern int ospf_apiserver_send_reply (struct ospf_apiserver *apiserv, u_int32_t seqnr, u_char rc); /* ----------------------------------------------------------- @@ -107,42 +107,42 @@ int ospf_apiserver_send_reply (struct ospf_apiserver *apiserv, * ----------------------------------------------------------- */ -int ospf_apiserver_lsa9_originator (void *arg); -int ospf_apiserver_lsa10_originator (void *arg); -int ospf_apiserver_lsa11_originator (void *arg); +extern int ospf_apiserver_lsa9_originator (void *arg); +extern int ospf_apiserver_lsa10_originator (void *arg); +extern int ospf_apiserver_lsa11_originator (void *arg); -void ospf_apiserver_clients_notify_all (struct msg *msg); +extern void ospf_apiserver_clients_notify_all (struct msg *msg); -void ospf_apiserver_clients_notify_ready_type9 (struct ospf_interface *oi); -void ospf_apiserver_clients_notify_ready_type10 (struct ospf_area *area); -void ospf_apiserver_clients_notify_ready_type11 (struct ospf *top); +extern void ospf_apiserver_clients_notify_ready_type9 (struct ospf_interface *oi); +extern void ospf_apiserver_clients_notify_ready_type10 (struct ospf_area *area); +extern void ospf_apiserver_clients_notify_ready_type11 (struct ospf *top); -void ospf_apiserver_clients_notify_new_if (struct ospf_interface *oi); -void ospf_apiserver_clients_notify_del_if (struct ospf_interface *oi); -void ospf_apiserver_clients_notify_ism_change (struct ospf_interface *oi); -void ospf_apiserver_clients_notify_nsm_change (struct ospf_neighbor *nbr); +extern void ospf_apiserver_clients_notify_new_if (struct ospf_interface *oi); +extern void ospf_apiserver_clients_notify_del_if (struct ospf_interface *oi); +extern void ospf_apiserver_clients_notify_ism_change (struct ospf_interface *oi); +extern void ospf_apiserver_clients_notify_nsm_change (struct ospf_neighbor *nbr); -int ospf_apiserver_is_ready_type9 (struct ospf_interface *oi); -int ospf_apiserver_is_ready_type10 (struct ospf_area *area); -int ospf_apiserver_is_ready_type11 (struct ospf *ospf); +extern int ospf_apiserver_is_ready_type9 (struct ospf_interface *oi); +extern int ospf_apiserver_is_ready_type10 (struct ospf_area *area); +extern int ospf_apiserver_is_ready_type11 (struct ospf *ospf); -void ospf_apiserver_notify_ready_type9 (struct ospf_apiserver *apiserv); -void ospf_apiserver_notify_ready_type10 (struct ospf_apiserver *apiserv); -void ospf_apiserver_notify_ready_type11 (struct ospf_apiserver *apiserv); +extern void ospf_apiserver_notify_ready_type9 (struct ospf_apiserver *apiserv); +extern void ospf_apiserver_notify_ready_type10 (struct ospf_apiserver *apiserv); +extern void ospf_apiserver_notify_ready_type11 (struct ospf_apiserver *apiserv); -int ospf_apiserver_handle_msg (struct ospf_apiserver *apiserv, +extern int ospf_apiserver_handle_msg (struct ospf_apiserver *apiserv, struct msg *msg); -int ospf_apiserver_handle_register_opaque_type (struct ospf_apiserver +extern int ospf_apiserver_handle_register_opaque_type (struct ospf_apiserver *apiserv, struct msg *msg); -int ospf_apiserver_handle_unregister_opaque_type (struct ospf_apiserver +extern int ospf_apiserver_handle_unregister_opaque_type (struct ospf_apiserver *apiserv, struct msg *msg); -int ospf_apiserver_handle_register_event (struct ospf_apiserver *apiserv, +extern int ospf_apiserver_handle_register_event (struct ospf_apiserver *apiserv, struct msg *msg); -int ospf_apiserver_handle_originate_request (struct ospf_apiserver *apiserv, +extern int ospf_apiserver_handle_originate_request (struct ospf_apiserver *apiserv, struct msg *msg); -int ospf_apiserver_handle_delete_request (struct ospf_apiserver *apiserv, +extern int ospf_apiserver_handle_delete_request (struct ospf_apiserver *apiserv, struct msg *msg); -int ospf_apiserver_handle_sync_lsdb (struct ospf_apiserver *apiserv, +extern int ospf_apiserver_handle_sync_lsdb (struct ospf_apiserver *apiserv, struct msg *msg); @@ -151,20 +151,20 @@ int ospf_apiserver_handle_sync_lsdb (struct ospf_apiserver *apiserv, * ----------------------------------------------------------- */ -int ospf_apiserver_register_opaque_type (struct ospf_apiserver *apiserver, +extern int ospf_apiserver_register_opaque_type (struct ospf_apiserver *apiserver, u_char lsa_type, u_char opaque_type); -int ospf_apiserver_unregister_opaque_type (struct ospf_apiserver *apiserver, +extern int ospf_apiserver_unregister_opaque_type (struct ospf_apiserver *apiserver, u_char lsa_type, u_char opaque_type); -struct ospf_lsa *ospf_apiserver_opaque_lsa_new (struct ospf_area *area, +extern struct ospf_lsa *ospf_apiserver_opaque_lsa_new (struct ospf_area *area, struct ospf_interface *oi, struct lsa_header *protolsa); -struct ospf_interface *ospf_apiserver_if_lookup_by_addr (struct in_addr +extern struct ospf_interface *ospf_apiserver_if_lookup_by_addr (struct in_addr address); -struct ospf_interface *ospf_apiserver_if_lookup_by_ifp (struct interface +extern struct ospf_interface *ospf_apiserver_if_lookup_by_ifp (struct interface *ifp); -int ospf_apiserver_originate1 (struct ospf_lsa *lsa); -void ospf_apiserver_flood_opaque_lsa (struct ospf_lsa *lsa); +extern int ospf_apiserver_originate1 (struct ospf_lsa *lsa); +extern void ospf_apiserver_flood_opaque_lsa (struct ospf_lsa *lsa); /* ----------------------------------------------------------- @@ -172,16 +172,16 @@ void ospf_apiserver_flood_opaque_lsa (struct ospf_lsa *lsa); * ----------------------------------------------------------- */ -int ospf_apiserver_new_if (struct interface *ifp); -int ospf_apiserver_del_if (struct interface *ifp); -void ospf_apiserver_ism_change (struct ospf_interface *oi, int old_status); -void ospf_apiserver_nsm_change (struct ospf_neighbor *nbr, int old_status); -void ospf_apiserver_config_write_router (struct vty *vty); -void ospf_apiserver_config_write_if (struct vty *vty, struct interface *ifp); -void ospf_apiserver_show_info (struct vty *vty, struct ospf_lsa *lsa); -int ospf_ospf_apiserver_lsa_originator (void *arg); -void ospf_apiserver_lsa_refresher (struct ospf_lsa *lsa); -void ospf_apiserver_flush_opaque_lsa (struct ospf_apiserver *apiserv, +extern int ospf_apiserver_new_if (struct interface *ifp); +extern int ospf_apiserver_del_if (struct interface *ifp); +extern void ospf_apiserver_ism_change (struct ospf_interface *oi, int old_status); +extern void ospf_apiserver_nsm_change (struct ospf_neighbor *nbr, int old_status); +extern void ospf_apiserver_config_write_router (struct vty *vty); +extern void ospf_apiserver_config_write_if (struct vty *vty, struct interface *ifp); +extern void ospf_apiserver_show_info (struct vty *vty, struct ospf_lsa *lsa); +extern int ospf_ospf_apiserver_lsa_originator (void *arg); +extern void ospf_apiserver_lsa_refresher (struct ospf_lsa *lsa); +extern void ospf_apiserver_flush_opaque_lsa (struct ospf_apiserver *apiserv, u_char lsa_type, u_char opaque_type); /* ----------------------------------------------------------- @@ -192,10 +192,10 @@ void ospf_apiserver_flush_opaque_lsa (struct ospf_apiserver *apiserv, /* Hooks that are invoked from ospf opaque module */ -int ospf_apiserver_lsa_update (struct ospf_lsa *lsa); -int ospf_apiserver_lsa_delete (struct ospf_lsa *lsa); +extern int ospf_apiserver_lsa_update (struct ospf_lsa *lsa); +extern int ospf_apiserver_lsa_delete (struct ospf_lsa *lsa); -void ospf_apiserver_clients_lsa_change_notify (u_char msgtype, +extern void ospf_apiserver_clients_lsa_change_notify (u_char msgtype, struct ospf_lsa *lsa); #endif /* _OSPF_APISERVER_H */ diff --git a/ospfd/ospf_asbr.c b/ospfd/ospf_asbr.c index 71093d95..7d41f5be 100644 --- a/ospfd/ospf_asbr.c +++ b/ospfd/ospf_asbr.c @@ -112,7 +112,7 @@ ospf_external_info_new (u_char type) return new; } -void +static void ospf_external_info_free (struct external_info *ei) { XFREE (MTYPE_OSPF_EXTERNAL_INFO, ei); diff --git a/ospfd/ospf_asbr.h b/ospfd/ospf_asbr.h index 34947747..fdcfbd92 100644 --- a/ospfd/ospf_asbr.h +++ b/ospfd/ospf_asbr.h @@ -54,27 +54,27 @@ struct external_info #define OSPF_ASBR_CHECK_DELAY 30 -void ospf_external_route_remove (struct ospf *, struct prefix_ipv4 *); -struct external_info *ospf_external_info_new (u_char); -void ospf_reset_route_map_set_values (struct route_map_set_values *); -int ospf_route_map_set_compare (struct route_map_set_values *, +extern void ospf_external_route_remove (struct ospf *, struct prefix_ipv4 *); +extern struct external_info *ospf_external_info_new (u_char); +extern void ospf_reset_route_map_set_values (struct route_map_set_values *); +extern int ospf_route_map_set_compare (struct route_map_set_values *, struct route_map_set_values *); -struct external_info *ospf_external_info_add (u_char, +extern struct external_info *ospf_external_info_add (u_char, struct prefix_ipv4, unsigned int, struct in_addr); -void ospf_external_info_delete (u_char, struct prefix_ipv4); -struct external_info *ospf_external_info_lookup (u_char, +extern void ospf_external_info_delete (u_char, struct prefix_ipv4); +extern struct external_info *ospf_external_info_lookup (u_char, struct prefix_ipv4 *); -struct ospf_route *ospf_external_route_lookup (struct ospf *, +extern struct ospf_route *ospf_external_route_lookup (struct ospf *, struct prefix_ipv4 *); -void ospf_asbr_status_update (struct ospf *, u_char); +extern void ospf_asbr_status_update (struct ospf *, u_char); -void ospf_redistribute_withdraw (u_char); -void ospf_asbr_check (); -void ospf_schedule_asbr_check (); -void ospf_asbr_route_install_lsa (struct ospf_lsa *); -struct ospf_lsa *ospf_external_info_find_lsa (struct ospf *, +extern void ospf_redistribute_withdraw (u_char); +extern void ospf_asbr_check (void); +extern void ospf_schedule_asbr_check (void); +extern void ospf_asbr_route_install_lsa (struct ospf_lsa *); +extern struct ospf_lsa *ospf_external_info_find_lsa (struct ospf *, struct prefix_ipv4 *p); #endif /* _ZEBRA_OSPF_ASBR_H */ diff --git a/ospfd/ospf_ase.c b/ospfd/ospf_ase.c index f9f79e3c..09968e09 100644 --- a/ospfd/ospf_ase.c +++ b/ospfd/ospf_ase.c @@ -132,7 +132,7 @@ ospf_find_asbr_route_through_area (struct route_table *rtrs, return NULL; } -void +static void ospf_ase_complete_direct_routes (struct ospf_route *ro, struct in_addr nexthop) { struct listnode *node; @@ -143,7 +143,7 @@ ospf_ase_complete_direct_routes (struct ospf_route *ro, struct in_addr nexthop) op->nexthop.s_addr = nexthop.s_addr; } -int +static int ospf_ase_forward_address_check (struct ospf *ospf, struct in_addr fwd_addr) { struct listnode *ifn; @@ -159,7 +159,7 @@ ospf_ase_forward_address_check (struct ospf *ospf, struct in_addr fwd_addr) } /* Calculate ASBR route. */ -struct ospf_route * +static struct ospf_route * ospf_ase_calculate_asbr_route (struct ospf *ospf, struct route_table *rt_network, struct route_table *rt_router, @@ -239,7 +239,7 @@ ospf_ase_calculate_asbr_route (struct ospf *ospf, return asbr_route; } -struct ospf_route * +static struct ospf_route * ospf_ase_calculate_new_route (struct ospf_lsa *lsa, struct ospf_route *asbr_route, u_int32_t metric) { @@ -540,7 +540,7 @@ ospf_ase_calculate_route (struct ospf *ospf, struct ospf_lsa * lsa) return 0; } -int +static int ospf_ase_route_match_same (struct route_table *rt, struct prefix *prefix, struct ospf_route *newor) { @@ -596,7 +596,7 @@ ospf_ase_route_match_same (struct route_table *rt, struct prefix *prefix, return 1; } -int +static int ospf_ase_compare_tables (struct route_table *new_external_route, struct route_table *old_external_route) { @@ -623,7 +623,7 @@ ospf_ase_compare_tables (struct route_table *new_external_route, return 0; } -int +static int ospf_ase_calculate_timer (struct thread *t) { struct ospf *ospf; diff --git a/ospfd/ospf_ase.h b/ospfd/ospf_ase.h index f403e26d..e6a1b2fb 100644 --- a/ospfd/ospf_ase.h +++ b/ospfd/ospf_ase.h @@ -24,19 +24,24 @@ #define _ZEBRA_OSPF_ASE_H -struct ospf_route *ospf_find_asbr_route (struct route_table *, - struct prefix_ipv4 *); -struct ospf_route *ospf_find_asbr_route_through_area(struct route_table *, - struct prefix_ipv4 *, - struct ospf_area *); +extern struct ospf_route *ospf_find_asbr_route (struct ospf *, + struct route_table *, + struct prefix_ipv4 *); +extern struct ospf_route *ospf_find_asbr_route_through_area (struct + route_table *, + struct + prefix_ipv4 *, + struct ospf_area + *); -int ospf_ase_calculate_route (struct ospf_lsa *, void *, int); -void ospf_ase_calculate_schedule (); -void ospf_ase_calculate_timer_add (); +extern int ospf_ase_calculate_route (struct ospf *, struct ospf_lsa *); +extern void ospf_ase_calculate_schedule (struct ospf *); +extern void ospf_ase_calculate_timer_add (struct ospf *); -void ospf_ase_external_lsas_finish (struct route_table *); -void ospf_ase_incremental_update (struct ospf_lsa *, struct ospf *); -void ospf_ase_register_external_lsa (struct ospf_lsa *, struct ospf *); -void ospf_ase_unregister_external_lsa (struct ospf_lsa *, struct ospf *); +extern void ospf_ase_external_lsas_finish (struct route_table *); +extern void ospf_ase_incremental_update (struct ospf *, struct ospf_lsa *); +extern void ospf_ase_register_external_lsa (struct ospf_lsa *, struct ospf *); +extern void ospf_ase_unregister_external_lsa (struct ospf_lsa *, + struct ospf *); #endif /* _ZEBRA_OSPF_ASE_H */ diff --git a/ospfd/ospf_dump.c b/ospfd/ospf_dump.c index 7d738f9e..7b410b1e 100644 --- a/ospfd/ospf_dump.c +++ b/ospfd/ospf_dump.c @@ -286,7 +286,7 @@ ospf_options_dump (u_char options) return buf; } -void +static void ospf_packet_hello_dump (struct stream *s, u_int16_t length) { struct ospf_hello *hello; @@ -310,7 +310,7 @@ ospf_packet_hello_dump (struct stream *s, u_int16_t length) zlog_debug (" Neighbor %s", inet_ntoa (hello->neighbors[i])); } -char * +static char * ospf_dd_flags_dump (u_char flags, char *buf, size_t size) { memset (buf, 0, size); @@ -341,7 +341,7 @@ ospf_lsa_header_dump (struct lsa_header *lsah) zlog_debug (" length %d", ntohs (lsah->length)); } -char * +static char * ospf_router_lsa_flags_dump (u_char flags, char *buf, size_t size) { memset (buf, 0, size); @@ -354,7 +354,7 @@ ospf_router_lsa_flags_dump (u_char flags, char *buf, size_t size) return buf; } -void +static void ospf_router_lsa_dump (struct stream *s, u_int16_t length) { char buf[BUFSIZ]; @@ -381,7 +381,7 @@ ospf_router_lsa_dump (struct stream *s, u_int16_t length) } } -void +static void ospf_network_lsa_dump (struct stream *s, u_int16_t length) { struct network_lsa *nl; @@ -402,7 +402,7 @@ ospf_network_lsa_dump (struct stream *s, u_int16_t length) zlog_debug (" Attached Router %s", inet_ntoa (nl->routers[i])); } -void +static void ospf_summary_lsa_dump (struct stream *s, u_int16_t length) { struct summary_lsa *sl; @@ -420,7 +420,7 @@ ospf_summary_lsa_dump (struct stream *s, u_int16_t length) GET_METRIC (sl->metric)); } -void +static void ospf_as_external_lsa_dump (struct stream *s, u_int16_t length) { struct as_external_lsa *al; @@ -442,7 +442,7 @@ ospf_as_external_lsa_dump (struct stream *s, u_int16_t length) } } -void +static void ospf_lsa_header_list_dump (struct stream *s, u_int16_t length) { struct lsa_header *lsa; @@ -460,7 +460,7 @@ ospf_lsa_header_list_dump (struct stream *s, u_int16_t length) } } -void +static void ospf_packet_db_desc_dump (struct stream *s, u_int16_t length) { struct ospf_db_desc *dd; @@ -488,7 +488,7 @@ ospf_packet_db_desc_dump (struct stream *s, u_int16_t length) stream_set_getp (s, gp); } -void +static void ospf_packet_ls_req_dump (struct stream *s, u_int16_t length) { u_int32_t sp; @@ -518,7 +518,7 @@ ospf_packet_ls_req_dump (struct stream *s, u_int16_t length) stream_set_getp (s, sp); } -void +static void ospf_packet_ls_upd_dump (struct stream *s, u_int16_t length) { u_int32_t sp; @@ -585,7 +585,7 @@ ospf_packet_ls_upd_dump (struct stream *s, u_int16_t length) stream_set_getp (s, sp); } -void +static void ospf_packet_ls_ack_dump (struct stream *s, u_int16_t length) { u_int32_t sp; @@ -617,7 +617,7 @@ ospf_ip_header_dump (struct ip *iph) zlog_debug ("ip_dst %s", inet_ntoa (iph->ip_dst)); } -void +static void ospf_header_dump (struct ospf_header *ospfh) { char buf[9]; @@ -1478,7 +1478,7 @@ struct cmd_node debug_node = 1 /* VTYSH */ }; -int +static int config_write_debug (struct vty *vty) { int write = 0; diff --git a/ospfd/ospf_dump.h b/ospfd/ospf_dump.h index 50e61e62..81abb754 100644 --- a/ospfd/ospf_dump.h +++ b/ospfd/ospf_dump.h @@ -125,15 +125,15 @@ extern const char *ospf_packet_type_str[]; extern char *ospf_lsa_type_str[]; /* Prototypes. */ -const char *ospf_area_name_string (struct ospf_area *); -const char *ospf_area_desc_string (struct ospf_area *); -const char *ospf_if_name_string (struct ospf_interface *); -void ospf_nbr_state_message (struct ospf_neighbor *, char *, size_t); -char *ospf_options_dump (u_char); -const char *ospf_timer_dump (struct thread *, char *, size_t); -void ospf_ip_header_dump (struct ip *); -void ospf_packet_dump (struct stream *); -void ospf_lsa_header_dump (struct lsa_header *); -void debug_init (); +extern const char *ospf_area_name_string (struct ospf_area *); +extern const char *ospf_area_desc_string (struct ospf_area *); +extern const char *ospf_if_name_string (struct ospf_interface *); +extern void ospf_nbr_state_message (struct ospf_neighbor *, char *, size_t); +extern char *ospf_options_dump (u_char); +extern const char *ospf_timer_dump (struct thread *, char *, size_t); +extern void ospf_ip_header_dump (struct ip *); +extern void ospf_packet_dump (struct stream *); +extern void ospf_lsa_header_dump (struct lsa_header *); +extern void debug_init (void); #endif /* _ZEBRA_OSPF_DUMP_H */ diff --git a/ospfd/ospf_flood.c b/ospfd/ospf_flood.c index 06e0f1c7..a8b7e37a 100644 --- a/ospfd/ospf_flood.c +++ b/ospfd/ospf_flood.c @@ -110,7 +110,7 @@ ospf_external_info_check (struct ospf_lsa *lsa) return NULL; } -void +static void ospf_process_self_originated_lsa (struct ospf *ospf, struct ospf_lsa *new, struct ospf_area *area) { @@ -347,7 +347,7 @@ ospf_flood (struct ospf *ospf, struct ospf_neighbor *nbr, } /* OSPF LSA flooding -- RFC2328 Section 13.3. */ -int +static int ospf_flood_through_interface (struct ospf_interface *oi, struct ospf_neighbor *inbr, struct ospf_lsa *lsa) @@ -937,7 +937,7 @@ ospf_ls_retransmit_lookup (struct ospf_neighbor *nbr, struct ospf_lsa *lsa) return ospf_lsdb_lookup (&nbr->ls_rxmt, lsa); } -void +static void ospf_ls_retransmit_delete_nbr_if (struct ospf_interface *oi, struct ospf_lsa *lsa) { diff --git a/ospfd/ospf_flood.h b/ospfd/ospf_flood.h index 1a6ab979..5382e8fe 100644 --- a/ospfd/ospf_flood.h +++ b/ospfd/ospf_flood.h @@ -20,46 +20,54 @@ * Boston, MA 02111-1307, USA. */ -#ifndef _ZEBRA_OSPF_FLOODING_H -#define _ZEBRA_OSPF_FLOODING_H +#ifndef _ZEBRA_OSPF_FLOOD_H +#define _ZEBRA_OSPF_FLOOD_H -int ospf_flood (struct ospf_neighbor *, struct ospf_lsa *, struct ospf_lsa *); -int ospf_flood_through (struct ospf_neighbor *, struct ospf_lsa *); -int ospf_flood_through_area (struct ospf_area *, struct ospf_neighbor *, - struct ospf_lsa *); -int ospf_flood_through_as (struct ospf_neighbor *, struct ospf_lsa *); +extern int ospf_flood (struct ospf *, struct ospf_neighbor *, + struct ospf_lsa *, struct ospf_lsa *); +extern int ospf_flood_through (struct ospf *, struct ospf_neighbor *, + struct ospf_lsa *); +extern int ospf_flood_through_area (struct ospf_area *, + struct ospf_neighbor *, + struct ospf_lsa *); +extern int ospf_flood_through_as (struct ospf *, struct ospf_neighbor *, + struct ospf_lsa *); -unsigned long ospf_ls_request_count (struct ospf_neighbor *); -int ospf_ls_request_isempty (struct ospf_neighbor *); -struct ospf_lsa *ospf_ls_request_new (struct lsa_header *); -void ospf_ls_request_free (struct ospf_lsa *); -void ospf_ls_request_add (struct ospf_neighbor *, struct ospf_lsa *); -void ospf_ls_request_delete (struct ospf_neighbor *, struct ospf_lsa *); -void ospf_ls_request_delete_all (struct ospf_neighbor *); -struct ospf_lsa *ospf_ls_request_lookup (struct ospf_neighbor *, - struct ospf_lsa *); +extern unsigned long ospf_ls_request_count (struct ospf_neighbor *); +extern int ospf_ls_request_isempty (struct ospf_neighbor *); +extern struct ospf_lsa *ospf_ls_request_new (struct lsa_header *); +extern void ospf_ls_request_free (struct ospf_lsa *); +extern void ospf_ls_request_add (struct ospf_neighbor *, struct ospf_lsa *); +extern void ospf_ls_request_delete (struct ospf_neighbor *, + struct ospf_lsa *); +extern void ospf_ls_request_delete_all (struct ospf_neighbor *); +extern struct ospf_lsa *ospf_ls_request_lookup (struct ospf_neighbor *, + struct ospf_lsa *); -unsigned long ospf_ls_retransmit_count (struct ospf_neighbor *); -unsigned long ospf_ls_retransmit_count_self (struct ospf_neighbor *, int); -int ospf_ls_retransmit_isempty (struct ospf_neighbor *); -void ospf_ls_retransmit_add (struct ospf_neighbor *, struct ospf_lsa *); -void ospf_ls_retransmit_delete (struct ospf_neighbor *, struct ospf_lsa *); -void ospf_ls_retransmit_clear (struct ospf_neighbor *); -struct ospf_lsa *ospf_ls_retransmit_lookup (struct ospf_neighbor *, +extern unsigned long ospf_ls_retransmit_count (struct ospf_neighbor *); +extern unsigned long ospf_ls_retransmit_count_self (struct ospf_neighbor *, + int); +extern int ospf_ls_retransmit_isempty (struct ospf_neighbor *); +extern void ospf_ls_retransmit_add (struct ospf_neighbor *, + struct ospf_lsa *); +extern void ospf_ls_retransmit_delete (struct ospf_neighbor *, + struct ospf_lsa *); +extern void ospf_ls_retransmit_clear (struct ospf_neighbor *); +extern struct ospf_lsa *ospf_ls_retransmit_lookup (struct ospf_neighbor *, + struct ospf_lsa *); +extern void ospf_ls_retransmit_delete_nbr_area (struct ospf_area *, + struct ospf_lsa *); +extern void ospf_ls_retransmit_delete_nbr_as (struct ospf *, + struct ospf_lsa *); +extern void ospf_ls_retransmit_add_nbr_all (struct ospf_interface *, struct ospf_lsa *); -void ospf_ls_retransmit_delete_nbr_all (struct ospf_area *, struct ospf_lsa *); -void ospf_ls_retransmit_add_nbr_all (struct ospf_interface *, - struct ospf_lsa *); -void ospf_flood_lsa_area (struct ospf_lsa *, struct ospf_area *); -void ospf_flood_lsa_as (struct ospf_lsa *); -void ospf_lsa_flush_area (struct ospf_lsa *, struct ospf_area *); -void ospf_lsa_flush_as (struct ospf_lsa *); -void ospf_flush_through_as (struct ospf_lsa *); -struct external_info *ospf_external_info_check (struct ospf_lsa *); +extern void ospf_flood_lsa_area (struct ospf_lsa *, struct ospf_area *); +extern void ospf_flood_lsa_as (struct ospf_lsa *); +extern void ospf_lsa_flush_area (struct ospf_lsa *, struct ospf_area *); +extern void ospf_lsa_flush_as (struct ospf *, struct ospf_lsa *); +extern struct external_info *ospf_external_info_check (struct ospf_lsa *); -void debug_ospf_ls_retransmit (struct ospf_neighbor *); +extern void ospf_lsdb_init (struct ospf_lsdb *); -void ospf_lsdb_init (struct ospf_lsdb *); - -#endif /* _ZEBRA_OSPF_FLOODING_H */ +#endif /* _ZEBRA_OSPF_FLOOD_H */ diff --git a/ospfd/ospf_ia.c b/ospfd/ospf_ia.c index 87613bf1..29604c61 100644 --- a/ospfd/ospf_ia.c +++ b/ospfd/ospf_ia.c @@ -48,7 +48,7 @@ #define DEBUG -struct ospf_route * +static struct ospf_route * ospf_find_abr_route (struct route_table *rtrs, struct prefix_ipv4 *abr, struct ospf_area *area) @@ -70,7 +70,7 @@ ospf_find_abr_route (struct route_table *rtrs, return NULL; } -void +static void ospf_ia_network_route (struct ospf *ospf, struct route_table *rt, struct prefix_ipv4 *p, struct ospf_route *new_or, struct ospf_route *abr_or) @@ -127,7 +127,7 @@ ospf_ia_network_route (struct ospf *ospf, struct route_table *rt, } } -void +static void ospf_ia_router_route (struct ospf *ospf, struct route_table *rtrs, struct prefix_ipv4 *p, struct ospf_route *new_or, struct ospf_route *abr_or) @@ -196,7 +196,7 @@ ospf_ia_router_route (struct ospf *ospf, struct route_table *rtrs, } -int +static int process_summary_lsa (struct ospf_area *area, struct route_table *rt, struct route_table *rtrs, struct ospf_lsa *lsa) { @@ -285,7 +285,7 @@ process_summary_lsa (struct ospf_area *area, struct route_table *rt, return 0; } -void +static void ospf_examine_summaries (struct ospf_area *area, struct route_table *lsdb_rt, struct route_table *rt, @@ -305,7 +305,7 @@ ospf_area_is_transit (struct ospf_area *area) ospf_full_virtual_nbrs(area); /* Cisco forgets to set the V-bit :( */ } -void +static void ospf_update_network_route (struct ospf *ospf, struct route_table *rt, struct route_table *rtrs, @@ -434,7 +434,7 @@ ospf_update_network_route (struct ospf *ospf, } } -void +static void ospf_update_router_route (struct ospf *ospf, struct route_table *rtrs, struct summary_lsa *lsa, @@ -533,7 +533,7 @@ ospf_update_router_route (struct ospf *ospf, } } -int +static int process_transit_summary_lsa (struct ospf_area *area, struct route_table *rt, struct route_table *rtrs, struct ospf_lsa *lsa) { @@ -591,7 +591,7 @@ process_transit_summary_lsa (struct ospf_area *area, struct route_table *rt, return 0; } -void +static void ospf_examine_transit_summaries (struct ospf_area *area, struct route_table *lsdb_rt, struct route_table *rt, diff --git a/ospfd/ospf_ia.h b/ospfd/ospf_ia.h index afb2d4d5..b65b9386 100644 --- a/ospfd/ospf_ia.h +++ b/ospfd/ospf_ia.h @@ -36,7 +36,8 @@ ospf_examine_transit_summaries ((A), ASBR_SUMMARY_LSDB ((A)), (N), (R)); \ } -void ospf_ia_routing (struct route_table *, struct route_table *); -int ospf_area_is_transit (struct ospf_area *); +extern void ospf_ia_routing (struct ospf *, struct route_table *, + struct route_table *); +extern int ospf_area_is_transit (struct ospf_area *); #endif /* _ZEBRA_OSPF_IA_H */ diff --git a/ospfd/ospf_interface.c b/ospfd/ospf_interface.c index f8490f5e..35351b57 100644 --- a/ospfd/ospf_interface.c +++ b/ospfd/ospf_interface.c @@ -145,7 +145,7 @@ ospf_if_reset_variables (struct ospf_interface *oi) } /* lookup oi for specified prefix/ifp */ -struct ospf_interface * +static struct ospf_interface * ospf_if_table_lookup (struct interface *ifp, struct prefix *prefix) { struct prefix p; @@ -161,7 +161,7 @@ ospf_if_table_lookup (struct interface *ifp, struct prefix *prefix) return rninfo; } -void +static void ospf_add_to_if (struct interface *ifp, struct ospf_interface *oi) { struct route_node *rn; @@ -178,7 +178,7 @@ ospf_add_to_if (struct interface *ifp, struct ospf_interface *oi) rn->info = oi; } -void +static void ospf_delete_from_if (struct interface *ifp, struct ospf_interface *oi) { struct route_node *rn; @@ -538,8 +538,8 @@ ospf_if_stream_unset (struct ospf_interface *oi) } -struct ospf_if_params * -ospf_new_if_params () +static struct ospf_if_params * +ospf_new_if_params (void) { struct ospf_if_params *oip; @@ -709,7 +709,7 @@ ospf_if_new_hook (struct interface *ifp) return rc; } -int +static int ospf_if_delete_hook (struct interface *ifp) { int rc = 0; @@ -923,7 +923,7 @@ ospf_vl_new (struct ospf *ospf, struct ospf_vl_data *vl_data) return voi; } -void +static void ospf_vl_if_delete (struct ospf_vl_data *vl_data) { struct interface *ifp = vl_data->vl_oi->ifp; @@ -948,7 +948,7 @@ ospf_vl_lookup (struct ospf_area *area, struct in_addr vl_peer) return NULL; } -void +static void ospf_vl_shutdown (struct ospf_vl_data *vl_data) { struct ospf_interface *oi; @@ -987,7 +987,7 @@ ospf_vl_delete (struct ospf *ospf, struct ospf_vl_data *vl_data) ospf_vl_data_free (vl_data); } -int +static int ospf_vl_set_params (struct ospf_vl_data *vl_data, struct vertex *v) { int changed = 0; diff --git a/ospfd/ospf_interface.h b/ospfd/ospf_interface.h index d089297f..0e7f22ab 100644 --- a/ospfd/ospf_interface.h +++ b/ospfd/ospf_interface.h @@ -198,65 +198,73 @@ struct ospf_interface }; /* Prototypes. */ -char *ospf_if_name (struct ospf_interface *); -struct ospf_interface *ospf_if_new (struct ospf *, struct interface *, - struct prefix *); -void ospf_if_cleanup (struct ospf_interface *); -void ospf_if_free (struct ospf_interface *); -int ospf_if_up (struct ospf_interface *); -int ospf_if_down (struct ospf_interface *); - -int ospf_if_is_up (struct ospf_interface *); -struct ospf_interface *ospf_if_exists (struct ospf_interface *); -struct ospf_interface *ospf_if_lookup_by_local_addr (struct ospf *, - struct interface *, +extern char *ospf_if_name (struct ospf_interface *); +extern struct ospf_interface *ospf_if_new (struct ospf *, struct interface *, + struct prefix *); +extern void ospf_if_cleanup (struct ospf_interface *); +extern void ospf_if_free (struct ospf_interface *); +extern int ospf_if_up (struct ospf_interface *); +extern int ospf_if_down (struct ospf_interface *); + +extern int ospf_if_is_up (struct ospf_interface *); +extern struct ospf_interface *ospf_if_exists (struct ospf_interface *); +extern struct ospf_interface *ospf_if_lookup_by_local_addr (struct ospf *, + struct interface + *, + struct in_addr); +extern struct ospf_interface *ospf_if_lookup_by_prefix (struct ospf *, + struct prefix_ipv4 *); +extern struct ospf_interface *ospf_if_addr_local (struct in_addr); +extern struct ospf_interface *ospf_if_lookup_recv_if (struct ospf *, + struct in_addr); +extern struct ospf_interface *ospf_if_is_configured (struct ospf *, + struct in_addr *); + +extern struct ospf_if_params *ospf_lookup_if_params (struct interface *, struct in_addr); -struct ospf_interface *ospf_if_lookup_by_prefix (struct ospf *, - struct prefix_ipv4 *); -struct ospf_interface *ospf_if_addr_local (struct in_addr); -struct ospf_interface *ospf_if_lookup_recv_if (struct ospf *, struct in_addr); -struct ospf_interface *ospf_if_is_configured (struct ospf *, struct in_addr *); - -struct ospf_if_params *ospf_lookup_if_params (struct interface *, - struct in_addr); -struct ospf_if_params *ospf_get_if_params (struct interface *, struct in_addr); -void ospf_del_if_params (struct ospf_if_params *); -void ospf_free_if_params (struct interface *, struct in_addr); -void ospf_if_update_params (struct interface *, struct in_addr); - -int ospf_if_new_hook (struct interface *); -void ospf_if_init (); -void ospf_if_stream_set (struct ospf_interface *); -void ospf_if_stream_unset (struct ospf_interface *); -void ospf_if_reset_variables (struct ospf_interface *); -int ospf_if_is_enable (struct ospf_interface *); -int ospf_if_get_output_cost (struct ospf_interface *); -void ospf_if_recalculate_output_cost (struct interface *); +extern struct ospf_if_params *ospf_get_if_params (struct interface *, + struct in_addr); +extern void ospf_del_if_params (struct ospf_if_params *); +extern void ospf_free_if_params (struct interface *, struct in_addr); +extern void ospf_if_update_params (struct interface *, struct in_addr); + +extern int ospf_if_new_hook (struct interface *); +extern void ospf_if_init (void); +extern void ospf_if_stream_set (struct ospf_interface *); +extern void ospf_if_stream_unset (struct ospf_interface *); +extern void ospf_if_reset_variables (struct ospf_interface *); +extern int ospf_if_is_enable (struct ospf_interface *); +extern int ospf_if_get_output_cost (struct ospf_interface *); +extern void ospf_if_recalculate_output_cost (struct interface *); /* Simulate down/up on the interface. */ extern void ospf_if_reset (struct interface *); -struct ospf_interface *ospf_vl_new (struct ospf *, struct ospf_vl_data *); -struct ospf_vl_data *ospf_vl_data_new (struct ospf_area *, struct in_addr); -struct ospf_vl_data *ospf_vl_lookup (struct ospf_area *, struct in_addr); -void ospf_vl_data_free (struct ospf_vl_data *); -void ospf_vl_add (struct ospf *, struct ospf_vl_data *); -void ospf_vl_delete (struct ospf *, struct ospf_vl_data *); -void ospf_vl_up_check (struct ospf_area *, struct in_addr, struct vertex *); -void ospf_vl_unapprove (struct ospf *); -void ospf_vl_shut_unapproved (struct ospf *); -int ospf_full_virtual_nbrs (struct ospf_area *); -int ospf_vls_in_area (struct ospf_area *); - -struct crypt_key *ospf_crypt_key_lookup (struct list *, u_char); -struct crypt_key *ospf_crypt_key_new (); -void ospf_crypt_key_add (struct list *, struct crypt_key *); -int ospf_crypt_key_delete (struct list *, u_char); - -u_char ospf_default_iftype(struct interface *ifp); +extern struct ospf_interface *ospf_vl_new (struct ospf *, + struct ospf_vl_data *); +extern struct ospf_vl_data *ospf_vl_data_new (struct ospf_area *, + struct in_addr); +extern struct ospf_vl_data *ospf_vl_lookup (struct ospf_area *, + struct in_addr); +extern void ospf_vl_data_free (struct ospf_vl_data *); +extern void ospf_vl_add (struct ospf *, struct ospf_vl_data *); +extern void ospf_vl_delete (struct ospf *, struct ospf_vl_data *); +extern void ospf_vl_up_check (struct ospf_area *, struct in_addr, + struct vertex *); +extern void ospf_vl_unapprove (struct ospf *); +extern void ospf_vl_shut_unapproved (struct ospf *); +extern int ospf_full_virtual_nbrs (struct ospf_area *); +extern int ospf_vls_in_area (struct ospf_area *); + +extern struct crypt_key *ospf_crypt_key_lookup (struct list *, u_char); +extern struct crypt_key *ospf_crypt_key_new (void); +extern void ospf_crypt_key_add (struct list *, struct crypt_key *); +extern int ospf_crypt_key_delete (struct list *, u_char); + +extern u_char ospf_default_iftype (struct interface *ifp); /* Set all multicast memberships appropriately based on the type and state of the interface. */ -extern void ospf_if_set_multicast(struct ospf_interface *); +extern void ospf_if_set_multicast (struct ospf_interface *); #endif /* _ZEBRA_OSPF_INTERFACE_H */ diff --git a/ospfd/ospf_ism.c b/ospfd/ospf_ism.c index 5d498d7d..b0442341 100644 --- a/ospfd/ospf_ism.c +++ b/ospfd/ospf_ism.c @@ -45,7 +45,7 @@ #include "ospfd/ospf_abr.h" /* elect DR and BDR. Refer to RFC2319 section 9.4 */ -struct ospf_neighbor * +static struct ospf_neighbor * ospf_dr_election_sub (struct list *routers) { struct listnode *node; @@ -70,7 +70,7 @@ ospf_dr_election_sub (struct list *routers) return max; } -struct ospf_neighbor * +static struct ospf_neighbor * ospf_elect_dr (struct ospf_interface *oi, struct list *el_list) { struct list *dr_list; @@ -111,7 +111,7 @@ ospf_elect_dr (struct ospf_interface *oi, struct list *el_list) return dr; } -struct ospf_neighbor * +static struct ospf_neighbor * ospf_elect_bdr (struct ospf_interface *oi, struct list *el_list) { struct list *bdr_list, *no_dr_list; @@ -156,7 +156,7 @@ ospf_elect_bdr (struct ospf_interface *oi, struct list *el_list) return bdr; } -int +static int ospf_ism_state (struct ospf_interface *oi) { if (IPV4_ADDR_SAME (&DR (oi), &oi->address->u.prefix4)) @@ -167,7 +167,7 @@ ospf_ism_state (struct ospf_interface *oi) return ISM_DROther; } -void +static void ospf_dr_eligible_routers (struct route_table *nbrs, struct list *el_list) { struct route_node *rn; @@ -185,7 +185,7 @@ ospf_dr_eligible_routers (struct route_table *nbrs, struct list *el_list) } /* Generate AdjOK? NSM event. */ -void +static void ospf_dr_change (struct ospf *ospf, struct route_table *nbrs) { struct route_node *rn; @@ -202,7 +202,7 @@ ospf_dr_change (struct ospf *ospf, struct route_table *nbrs) OSPF_NSM_EVENT_SCHEDULE (nbr, NSM_AdjOK); } -int +static int ospf_dr_election (struct ospf_interface *oi) { struct in_addr old_dr, old_bdr; @@ -274,7 +274,7 @@ ospf_hello_timer (struct thread *thread) return 0; } -int +static int ospf_wait_timer (struct thread *thread) { struct ospf_interface *oi; @@ -294,7 +294,7 @@ ospf_wait_timer (struct thread *thread) /* Hook function called after ospf ISM event is occured. And vty's network command invoke this function after making interface structure. */ -void +static void ism_timer_set (struct ospf_interface *oi) { switch (oi->state) @@ -361,13 +361,7 @@ ism_timer_set (struct ospf_interface *oi) } } -int -ism_stop (struct ospf_interface *oi) -{ - return 0; -} - -int +static int ism_interface_up (struct ospf_interface *oi) { int next_state = 0; @@ -393,7 +387,7 @@ ism_interface_up (struct ospf_interface *oi) return next_state; } -int +static int ism_loop_ind (struct ospf_interface *oi) { int ret = 0; @@ -405,7 +399,7 @@ ism_loop_ind (struct ospf_interface *oi) } /* Interface down event handler. */ -int +static int ism_interface_down (struct ospf_interface *oi) { ospf_if_cleanup (oi); @@ -413,25 +407,25 @@ ism_interface_down (struct ospf_interface *oi) } -int +static int ism_backup_seen (struct ospf_interface *oi) { return ospf_dr_election (oi); } -int +static int ism_wait_timer (struct ospf_interface *oi) { return ospf_dr_election (oi); } -int +static int ism_neighbor_change (struct ospf_interface *oi) { return ospf_dr_election (oi); } -int +static int ism_ignore (struct ospf_interface *oi) { if (IS_DEBUG_OSPF (ism, ISM_EVENTS)) @@ -442,7 +436,7 @@ ism_ignore (struct ospf_interface *oi) /* Interface State Machine */ struct { - int (*func) (); + int (*func) (struct ospf_interface *); int next_state; } ISM [OSPF_ISM_STATE_MAX][OSPF_ISM_EVENT_MAX] = { @@ -548,7 +542,7 @@ const static char *ospf_ism_event_str[] = "InterfaceDown", }; -void +static void ism_change_state (struct ospf_interface *oi, int state) { int old_state; diff --git a/ospfd/ospf_ism.h b/ospfd/ospf_ism.h index b04865af..58f80c38 100644 --- a/ospfd/ospf_ism.h +++ b/ospfd/ospf_ism.h @@ -46,17 +46,17 @@ #define ISM_InterfaceDown 7 #define OSPF_ISM_EVENT_MAX 8 -#define OSPF_ISM_WRITE_ON() \ +#define OSPF_ISM_WRITE_ON(O) \ do \ { \ if (oi->on_write_q == 0) \ { \ - listnode_add (ospf_top->oi_write_q, oi); \ + listnode_add ((O)->oi_write_q, oi); \ oi->on_write_q = 1; \ } \ - if (ospf_top->t_write == NULL) \ - ospf_top->t_write = \ - thread_add_write (master, ospf_write, ospf_top, ospf_top->fd); \ + if ((O)->t_write == NULL) \ + (O)->t_write = \ + thread_add_write (master, ospf_write, (O), (O)->fd); \ } while (0) /* Macro for OSPF ISM timer turn on. */ @@ -81,8 +81,8 @@ thread_execute (master, ospf_ism_event, (I), (E)) /* Prototypes. */ -int ospf_ism_event (struct thread *); -void ism_change_status (struct ospf_interface *, int); -int ospf_hello_timer (struct thread *thread); +extern int ospf_ism_event (struct thread *); +extern void ism_change_status (struct ospf_interface *, int); +extern int ospf_hello_timer (struct thread *thread); #endif /* _ZEBRA_OSPF_ISM_H */ diff --git a/ospfd/ospf_lsa.c b/ospfd/ospf_lsa.c index e02d457e..e6c7fdc3 100644 --- a/ospfd/ospf_lsa.c +++ b/ospfd/ospf_lsa.c @@ -413,7 +413,7 @@ lsa_header_set (struct stream *s, u_char options, /* router-LSA related functions. */ /* Get router-LSA flags. */ -u_char +static u_char router_lsa_flags (struct ospf_area *area) { u_char flags; @@ -484,7 +484,7 @@ ospf_nbr_lookup_ptop (struct ospf_interface *oi) } /* Set a link information. */ -void +static void link_info_set (struct stream *s, struct in_addr id, struct in_addr data, u_char type, u_char tos, u_int16_t cost) { @@ -497,7 +497,7 @@ link_info_set (struct stream *s, struct in_addr id, } /* Describe Point-to-Point link. */ -int +static int lsa_link_ptop_set (struct stream *s, struct ospf_interface *oi) { int links = 0; @@ -543,7 +543,7 @@ lsa_link_ptop_set (struct stream *s, struct ospf_interface *oi) } /* Describe Broadcast Link. */ -int +static int lsa_link_broadcast_set (struct stream *s, struct ospf_interface *oi) { struct ospf_neighbor *dr; @@ -577,7 +577,7 @@ lsa_link_broadcast_set (struct stream *s, struct ospf_interface *oi) return 1; } -int +static int lsa_link_loopback_set (struct stream *s, struct ospf_interface *oi) { struct in_addr id, mask; @@ -593,7 +593,7 @@ lsa_link_loopback_set (struct stream *s, struct ospf_interface *oi) } /* Describe Virtual Link. */ -int +static int lsa_link_virtuallink_set (struct stream *s, struct ospf_interface *oi) { struct ospf_neighbor *nbr; @@ -616,7 +616,7 @@ lsa_link_virtuallink_set (struct stream *s, struct ospf_interface *oi) 12.4.1.4.*/ /* from "edward rrr" <edward_rrr@hotmail.com> http://marc.theaimsgroup.com/?l=zebra&m=100739222210507&w=2 */ -int +static int lsa_link_ptomp_set (struct stream *s, struct ospf_interface *oi) { int links = 0; @@ -652,7 +652,7 @@ lsa_link_ptomp_set (struct stream *s, struct ospf_interface *oi) } /* Set router-LSA link information. */ -int +static int router_lsa_link_set (struct stream *s, struct ospf_area *area) { struct listnode *node; @@ -697,7 +697,7 @@ router_lsa_link_set (struct stream *s, struct ospf_area *area) } /* Set router-LSA body. */ -void +static void ospf_router_lsa_body_set (struct stream *s, struct ospf_area *area) { unsigned long putp; @@ -723,7 +723,7 @@ ospf_router_lsa_body_set (struct stream *s, struct ospf_area *area) } /* Create new router-LSA. */ -struct ospf_lsa * +static struct ospf_lsa * ospf_router_lsa_new (struct ospf_area *area) { struct ospf *ospf = area->ospf; @@ -801,7 +801,7 @@ ospf_router_lsa_originate (struct ospf_area *area) } /* Refresh router-LSA. */ -struct ospf_lsa * +static struct ospf_lsa * ospf_router_lsa_refresh (struct ospf_lsa *lsa) { struct ospf_area *area = lsa->area; @@ -833,7 +833,7 @@ ospf_router_lsa_refresh (struct ospf_lsa *lsa) return NULL; } -int +static int ospf_router_lsa_timer (struct thread *t) { struct ospf_area *area; @@ -944,7 +944,7 @@ ospf_router_lsa_update_timer (struct thread *thread) /* network-LSA related functions. */ /* Originate Network-LSA. */ -void +static void ospf_network_lsa_body_set (struct stream *s, struct ospf_interface *oi) { struct in_addr mask; @@ -965,7 +965,7 @@ ospf_network_lsa_body_set (struct stream *s, struct ospf_interface *oi) stream_put_ipv4 (s, nbr->router_id.s_addr); } -struct ospf_lsa * +static struct ospf_lsa * ospf_network_lsa_new (struct ospf_interface *oi) { struct stream *s; @@ -1009,7 +1009,7 @@ ospf_network_lsa_new (struct ospf_interface *oi) } /* Originate network-LSA. */ -struct ospf_lsa * +static struct ospf_lsa * ospf_network_lsa_originate (struct ospf_interface *oi) { struct ospf_lsa *new; @@ -1070,7 +1070,7 @@ ospf_network_lsa_refresh (struct ospf_lsa *lsa, struct ospf_interface *oi) return 0; } -int +static int ospf_network_lsa_refresh_timer (struct thread *t) { struct ospf_interface *oi; @@ -1122,7 +1122,7 @@ ospf_network_lsa_timer_add (struct ospf_interface *oi) } -void +static void stream_put_ospf_metric (struct stream *s, u_int32_t metric_value) { u_int32_t metric; @@ -1136,7 +1136,7 @@ stream_put_ospf_metric (struct stream *s, u_int32_t metric_value) } /* summary-LSA related functions. */ -void +static void ospf_summary_lsa_body_set (struct stream *s, struct prefix *p, u_int32_t metric) { @@ -1154,7 +1154,7 @@ ospf_summary_lsa_body_set (struct stream *s, struct prefix *p, stream_put_ospf_metric (s, metric); } -struct ospf_lsa * +static struct ospf_lsa * ospf_summary_lsa_new (struct ospf_area *area, struct prefix *p, u_int32_t metric, struct in_addr id) { @@ -1263,7 +1263,7 @@ ospf_summary_lsa_refresh (struct ospf *ospf, struct ospf_lsa *lsa) /* summary-ASBR-LSA related functions. */ -void +static void ospf_summary_asbr_lsa_body_set (struct stream *s, struct prefix *p, u_int32_t metric) { @@ -1281,7 +1281,7 @@ ospf_summary_asbr_lsa_body_set (struct stream *s, struct prefix *p, stream_put_ospf_metric (s, metric); } -struct ospf_lsa * +static struct ospf_lsa * ospf_summary_asbr_lsa_new (struct ospf_area *area, struct prefix *p, u_int32_t metric, struct in_addr id) { @@ -1391,7 +1391,7 @@ ospf_summary_asbr_lsa_refresh (struct ospf *ospf, struct ospf_lsa *lsa) /* Get nexthop for AS-external-LSAs. Return nexthop if its interface is connected, else 0*/ -struct in_addr +static struct in_addr ospf_external_lsa_nexthop_get (struct ospf *ospf, struct in_addr nexthop) { struct in_addr fwd; @@ -1421,7 +1421,7 @@ ospf_external_lsa_nexthop_get (struct ospf *ospf, struct in_addr nexthop) /* NSSA-external-LSA related functions. */ /* Get 1st IP connection for Forward Addr */ - + struct in_addr ospf_get_ip_from_ifp (struct ospf_interface *oi) { @@ -1503,7 +1503,7 @@ metric_value (struct ospf *ospf, u_char src) } /* Set AS-external-LSA body. */ -void +static void ospf_external_lsa_body_set (struct stream *s, struct external_info *ei, struct ospf *ospf) { @@ -1543,7 +1543,7 @@ ospf_external_lsa_body_set (struct stream *s, struct external_info *ei, } /* Create new external-LSA. */ -struct ospf_lsa * +static struct ospf_lsa * ospf_external_lsa_new (struct ospf *ospf, struct external_info *ei, struct in_addr *old_id) { @@ -1608,7 +1608,7 @@ ospf_external_lsa_new (struct ospf *ospf, } /* As Type-7 */ -void +static void ospf_install_flood_nssa (struct ospf *ospf, struct ospf_lsa *lsa, struct external_info *ei) { @@ -1695,7 +1695,7 @@ ospf_install_flood_nssa (struct ospf *ospf, } } -struct ospf_lsa * +static struct ospf_lsa * ospf_lsa_translated_nssa_new (struct ospf *ospf, struct ospf_lsa *type7) { @@ -1744,7 +1744,7 @@ ospf_lsa_translated_nssa_new (struct ospf *ospf, /* compare type-5 to type-7 * -1: err, 0: same, 1: different */ -int +static int ospf_lsa_translated_nssa_compare (struct ospf_lsa *t7, struct ospf_lsa *t5) { @@ -2043,7 +2043,7 @@ ospf_external_lsa_originate_timer (struct thread *thread) return 0; } -struct external_info * +static struct external_info * ospf_default_external_info (struct ospf *ospf) { int type; @@ -2328,7 +2328,7 @@ ospf_external_lsa_refresh (struct ospf *ospf, struct ospf_lsa *lsa, /* LSA installation functions. */ /* Install router-LSA to an area. */ -struct ospf_lsa * +static struct ospf_lsa * ospf_router_lsa_install (struct ospf *ospf, struct ospf_lsa *new, int rt_recalc) { @@ -2367,7 +2367,7 @@ ospf_router_lsa_install (struct ospf *ospf, (T) = thread_add_timer (master, (F), oi, (V)) /* Install network-LSA to an area. */ -struct ospf_lsa * +static struct ospf_lsa * ospf_network_lsa_install (struct ospf *ospf, struct ospf_interface *oi, struct ospf_lsa *new, @@ -2402,7 +2402,7 @@ ospf_network_lsa_install (struct ospf *ospf, } /* Install summary-LSA to an area. */ -struct ospf_lsa * +static struct ospf_lsa * ospf_summary_lsa_install (struct ospf *ospf, struct ospf_lsa *new, int rt_recalc) { @@ -2433,7 +2433,7 @@ ospf_summary_lsa_install (struct ospf *ospf, struct ospf_lsa *new, } /* Install ASBR-summary-LSA to an area. */ -struct ospf_lsa * +static struct ospf_lsa * ospf_summary_asbr_lsa_install (struct ospf *ospf, struct ospf_lsa *new, int rt_recalc) { @@ -2464,7 +2464,7 @@ ospf_summary_asbr_lsa_install (struct ospf *ospf, struct ospf_lsa *new, } /* Install AS-external-LSA. */ -struct ospf_lsa * +static struct ospf_lsa * ospf_external_lsa_install (struct ospf *ospf, struct ospf_lsa *new, int rt_recalc) { @@ -2740,7 +2740,7 @@ ospf_lsa_install (struct ospf *ospf, struct ospf_interface *oi, } -int +static int ospf_check_nbr_status (struct ospf *ospf) { struct listnode *node, *nnode; @@ -2795,7 +2795,7 @@ ospf_maxage_flood (struct ospf_lsa *lsa) } #endif /* ORIGINAL_CODING */ -int +static int ospf_maxage_lsa_remover (struct thread *thread) { struct ospf *ospf = THREAD_ARG (thread); @@ -2859,7 +2859,7 @@ ospf_maxage_lsa_remover (struct thread *thread) return 0; } -int +static int ospf_lsa_maxage_exist (struct ospf *ospf, struct ospf_lsa *new) { struct listnode *node; @@ -2905,7 +2905,7 @@ ospf_lsa_maxage (struct ospf *ospf, struct ospf_lsa *lsa) OSPF_TIMER_ON (ospf->t_maxage, ospf_maxage_lsa_remover, 2); } -int +static int ospf_lsa_maxage_walker_remover (struct ospf *ospf, struct ospf_lsa *lsa) { /* Stay away from any Local Translated Type-7 LSAs */ @@ -3467,7 +3467,7 @@ struct lsa_action struct ospf_lsa *lsa; }; -int +static int ospf_lsa_action (struct thread *t) { struct lsa_action *data; @@ -3540,7 +3540,7 @@ ospf_schedule_lsa_flush_area (struct ospf_area *area, struct ospf_lsa *lsa) /* LSA Refreshment functions. */ -void +static void ospf_lsa_refresh (struct ospf *ospf, struct ospf_lsa *lsa) { struct external_info *ei; diff --git a/ospfd/ospf_lsa.h b/ospfd/ospf_lsa.h index 952ca774..d7ead3d4 100644 --- a/ospfd/ospf_lsa.h +++ b/ospfd/ospf_lsa.h @@ -23,6 +23,8 @@ #ifndef _ZEBRA_OSPF_LSA_H #define _ZEBRA_OSPF_LSA_H +#include "stream.h" + /* OSPF LSA Range definition. */ #define OSPF_MIN_LSA 1 /* begin range here */ #if defined (HAVE_OPAQUE_LSA) @@ -217,115 +219,113 @@ struct as_external_lsa if (!(T)) \ (T) = thread_add_timer (master, (F), 0, 2) -struct ospf_route; -struct ospf_lsdb; - /* Prototypes. */ -struct timeval tv_adjust (struct timeval); -int tv_ceil (struct timeval); -int tv_floor (struct timeval); -struct timeval int2tv (int); -struct timeval tv_add (struct timeval, struct timeval); -struct timeval tv_sub (struct timeval, struct timeval); -int tv_cmp (struct timeval, struct timeval); - -int get_age (struct ospf_lsa *); -u_int16_t ospf_lsa_checksum (struct lsa_header *); - -struct stream; -const char *dump_lsa_key (struct ospf_lsa *); -u_int32_t lsa_seqnum_increment (struct ospf_lsa *); -void lsa_header_set (struct stream *, u_char, u_char, struct in_addr, +/* XXX: Eek, time functions, similar are in lib/thread.c */ +extern struct timeval tv_adjust (struct timeval); +extern int tv_ceil (struct timeval); +extern int tv_floor (struct timeval); +extern struct timeval int2tv (int); +extern struct timeval tv_add (struct timeval, struct timeval); +extern struct timeval tv_sub (struct timeval, struct timeval); +extern int tv_cmp (struct timeval, struct timeval); + +extern int get_age (struct ospf_lsa *); +extern u_int16_t ospf_lsa_checksum (struct lsa_header *); +extern int ospf_lsa_refresh_delay (struct ospf_lsa *); + +extern const char *dump_lsa_key (struct ospf_lsa *); +extern u_int32_t lsa_seqnum_increment (struct ospf_lsa *); +extern void lsa_header_set (struct stream *, u_char, u_char, struct in_addr, struct in_addr); -struct ospf_neighbor *ospf_nbr_lookup_ptop (struct ospf_interface *); +extern struct ospf_neighbor *ospf_nbr_lookup_ptop (struct ospf_interface *); /* Prototype for LSA primitive. */ -struct ospf_lsa *ospf_lsa_new (); -struct ospf_lsa *ospf_lsa_dup (); -void ospf_lsa_free (struct ospf_lsa *); -struct ospf_lsa *ospf_lsa_lock (struct ospf_lsa *); -void ospf_lsa_unlock (struct ospf_lsa *); -void ospf_lsa_discard (struct ospf_lsa *); +extern struct ospf_lsa *ospf_lsa_new (void); +extern struct ospf_lsa *ospf_lsa_dup (struct ospf_lsa *); +extern void ospf_lsa_free (struct ospf_lsa *); +extern struct ospf_lsa *ospf_lsa_lock (struct ospf_lsa *); +extern void ospf_lsa_unlock (struct ospf_lsa *); +extern void ospf_lsa_discard (struct ospf_lsa *); -struct lsa_header *ospf_lsa_data_new (size_t); -struct lsa_header *ospf_lsa_data_dup (struct lsa_header *); -void ospf_lsa_data_free (struct lsa_header *); +extern struct lsa_header *ospf_lsa_data_new (size_t); +extern struct lsa_header *ospf_lsa_data_dup (struct lsa_header *); +extern void ospf_lsa_data_free (struct lsa_header *); /* Prototype for various LSAs */ -struct ospf_lsa *ospf_router_lsa_originate (struct ospf_area *); -int ospf_router_lsa_update_timer (struct thread *); -void ospf_router_lsa_timer_add (struct ospf_area *); +extern struct ospf_lsa *ospf_router_lsa_originate (struct ospf_area *); +extern int ospf_router_lsa_update_timer (struct thread *); +extern void ospf_router_lsa_timer_add (struct ospf_area *); -int ospf_network_lsa_refresh (struct ospf_lsa *, struct ospf_interface *); -void ospf_network_lsa_timer_add (struct ospf_interface *); +extern int ospf_network_lsa_refresh (struct ospf_lsa *, struct ospf_interface *); +extern void ospf_network_lsa_timer_add (struct ospf_interface *); -struct ospf_lsa *ospf_summary_lsa_originate (struct prefix_ipv4 *, u_int32_t, +extern struct ospf_lsa *ospf_summary_lsa_originate (struct prefix_ipv4 *, u_int32_t, struct ospf_area *); -struct ospf_lsa *ospf_summary_asbr_lsa_originate (struct prefix_ipv4 *, +extern struct ospf_lsa *ospf_summary_asbr_lsa_originate (struct prefix_ipv4 *, u_int32_t, struct ospf_area *); -struct ospf_lsa *ospf_summary_lsa_refresh (struct ospf *, struct ospf_lsa *); -struct ospf_lsa *ospf_summary_asbr_lsa_refresh (struct ospf *, struct ospf_lsa *); +extern struct ospf_lsa *ospf_summary_lsa_refresh (struct ospf *, struct ospf_lsa *); +extern struct ospf_lsa *ospf_summary_asbr_lsa_refresh (struct ospf *, struct ospf_lsa *); -struct ospf_lsa *ospf_lsa_install (struct ospf *, +extern struct ospf_lsa *ospf_lsa_install (struct ospf *, struct ospf_interface *, struct ospf_lsa *); -void ospf_nssa_lsa_flush (struct ospf *ospf, struct prefix_ipv4 *p); -void ospf_external_lsa_flush (struct ospf *, u_char, struct prefix_ipv4 *, +extern void ospf_nssa_lsa_flush (struct ospf *ospf, struct prefix_ipv4 *p); +extern void ospf_external_lsa_flush (struct ospf *, u_char, struct prefix_ipv4 *, unsigned int, struct in_addr); -struct in_addr ospf_get_ip_from_ifp (struct ospf_interface *); +extern struct in_addr ospf_get_ip_from_ifp (struct ospf_interface *); -struct ospf_lsa *ospf_external_lsa_originate (struct ospf *, struct external_info *); -int ospf_external_lsa_originate_timer (struct thread *); -struct ospf_lsa *ospf_lsa_lookup (struct ospf_area *, u_int32_t, +extern struct ospf_lsa *ospf_external_lsa_originate (struct ospf *, struct external_info *); +extern int ospf_external_lsa_originate_timer (struct thread *); +extern struct ospf_lsa *ospf_lsa_lookup (struct ospf_area *, u_int32_t, struct in_addr, struct in_addr); -struct ospf_lsa *ospf_lsa_lookup_by_id (struct ospf_area *, +extern struct ospf_lsa *ospf_lsa_lookup_by_id (struct ospf_area *, u_int32_t, struct in_addr); -struct ospf_lsa *ospf_lsa_lookup_by_header (struct ospf_area *, +extern struct ospf_lsa *ospf_lsa_lookup_by_header (struct ospf_area *, struct lsa_header *); -int ospf_lsa_more_recent (struct ospf_lsa *, struct ospf_lsa *); -int ospf_lsa_different (struct ospf_lsa *, struct ospf_lsa *); -void ospf_flush_self_originated_lsas_now (struct ospf *); +extern int ospf_lsa_more_recent (struct ospf_lsa *, struct ospf_lsa *); +extern int ospf_lsa_different (struct ospf_lsa *, struct ospf_lsa *); +extern void ospf_flush_self_originated_lsas_now (struct ospf *); -int ospf_lsa_is_self_originated (struct ospf *, struct ospf_lsa *); +extern int ospf_lsa_is_self_originated (struct ospf *, struct ospf_lsa *); -struct ospf_lsa *ospf_lsa_lookup_by_prefix (struct ospf_lsdb *, u_char, +extern struct ospf_lsa *ospf_lsa_lookup_by_prefix (struct ospf_lsdb *, u_char, struct prefix_ipv4 *, struct in_addr); -void ospf_lsa_maxage (struct ospf *, struct ospf_lsa *); -u_int32_t get_metric (u_char *); +extern void ospf_lsa_maxage (struct ospf *, struct ospf_lsa *); +extern u_int32_t get_metric (u_char *); -int ospf_lsa_maxage_walker (struct thread *); +extern int ospf_lsa_maxage_walker (struct thread *); -void ospf_external_lsa_refresh_default (struct ospf *); +extern void ospf_external_lsa_refresh_default (struct ospf *); -void ospf_external_lsa_refresh_type (struct ospf *, u_char, int); -void ospf_external_lsa_refresh (struct ospf *, struct ospf_lsa *, +extern void ospf_external_lsa_refresh_type (struct ospf *, u_char, int); +extern void ospf_external_lsa_refresh (struct ospf *, struct ospf_lsa *, struct external_info *, int); -struct in_addr ospf_lsa_unique_id (struct ospf *, struct ospf_lsdb *, u_char, +extern struct in_addr ospf_lsa_unique_id (struct ospf *, struct ospf_lsdb *, u_char, struct prefix_ipv4 *); -void ospf_schedule_lsa_flood_area (struct ospf_area *, struct ospf_lsa *); -void ospf_schedule_lsa_flush_area (struct ospf_area *, struct ospf_lsa *); +extern void ospf_schedule_lsa_flood_area (struct ospf_area *, struct ospf_lsa *); +extern void ospf_schedule_lsa_flush_area (struct ospf_area *, struct ospf_lsa *); -void ospf_refresher_register_lsa (struct ospf *, struct ospf_lsa *); -void ospf_refresher_unregister_lsa (struct ospf *, struct ospf_lsa *); -int ospf_lsa_refresh_walker (struct thread *); +extern void ospf_refresher_register_lsa (struct ospf *, struct ospf_lsa *); +extern void ospf_refresher_unregister_lsa (struct ospf *, struct ospf_lsa *); +extern int ospf_lsa_refresh_walker (struct thread *); -void ospf_lsa_maxage_delete (struct ospf *, struct ospf_lsa *); +extern void ospf_lsa_maxage_delete (struct ospf *, struct ospf_lsa *); -void ospf_discard_from_db (struct ospf *, struct ospf_lsdb *, struct ospf_lsa*); -int is_prefix_default (struct prefix_ipv4 *); +extern void ospf_discard_from_db (struct ospf *, struct ospf_lsdb *, struct ospf_lsa*); +extern int is_prefix_default (struct prefix_ipv4 *); -int metric_type (struct ospf *, u_char); -int metric_value (struct ospf *, u_char); +extern int metric_type (struct ospf *, u_char); +extern int metric_value (struct ospf *, u_char); -struct in_addr ospf_get_nssa_ip (struct ospf_area *); -int ospf_translated_nssa_compare (struct ospf_lsa *, struct ospf_lsa *); -struct ospf_lsa *ospf_translated_nssa_refresh (struct ospf *, struct ospf_lsa *, +extern struct in_addr ospf_get_nssa_ip (struct ospf_area *); +extern int ospf_translated_nssa_compare (struct ospf_lsa *, struct ospf_lsa *); +extern struct ospf_lsa *ospf_translated_nssa_refresh (struct ospf *, struct ospf_lsa *, struct ospf_lsa *); -struct ospf_lsa *ospf_translated_nssa_originate (struct ospf *, struct ospf_lsa *); +extern struct ospf_lsa *ospf_translated_nssa_originate (struct ospf *, struct ospf_lsa *); #endif /* _ZEBRA_OSPF_LSA_H */ diff --git a/ospfd/ospf_lsdb.c b/ospfd/ospf_lsdb.c index 56ab9e2a..c0ec4b3d 100644 --- a/ospfd/ospf_lsdb.c +++ b/ospfd/ospf_lsdb.c @@ -71,7 +71,7 @@ ospf_lsdb_cleanup (struct ospf_lsdb *lsdb) route_table_finish (lsdb->type[i].db); } -void +static void lsdb_prefix_set (struct prefix_ls *lp, struct ospf_lsa *lsa) { memset (lp, 0, sizeof (struct prefix_ls)); diff --git a/ospfd/ospf_lsdb.h b/ospfd/ospf_lsdb.h index e192308c..4157b685 100644 --- a/ospfd/ospf_lsdb.h +++ b/ospfd/ospf_lsdb.h @@ -62,25 +62,25 @@ struct ospf_lsdb #define AS_LSDB(O,T) ((O)->lsdb->type[(T)].db) /* OSPF LSDB related functions. */ -struct ospf_lsdb *ospf_lsdb_new (); -void ospf_lsdb_init (struct ospf_lsdb *); -void ospf_lsdb_free (struct ospf_lsdb *); -void ospf_lsdb_cleanup (struct ospf_lsdb *); -void ospf_lsdb_add (struct ospf_lsdb *, struct ospf_lsa *); -void ospf_lsdb_delete (struct ospf_lsdb *, struct ospf_lsa *); -void ospf_lsdb_delete_all (struct ospf_lsdb *); +extern struct ospf_lsdb *ospf_lsdb_new (void); +extern void ospf_lsdb_init (struct ospf_lsdb *); +extern void ospf_lsdb_free (struct ospf_lsdb *); +extern void ospf_lsdb_cleanup (struct ospf_lsdb *); +extern void ospf_lsdb_add (struct ospf_lsdb *, struct ospf_lsa *); +extern void ospf_lsdb_delete (struct ospf_lsdb *, struct ospf_lsa *); +extern void ospf_lsdb_delete_all (struct ospf_lsdb *); /* Set all stats to -1 (LSA_SPF_NOT_EXPLORED). */ -void ospf_lsdb_clean_stat (struct ospf_lsdb *lsdb); -struct ospf_lsa *ospf_lsdb_lookup (struct ospf_lsdb *, struct ospf_lsa *); -struct ospf_lsa *ospf_lsdb_lookup_by_id (struct ospf_lsdb *, u_char, +extern void ospf_lsdb_clean_stat (struct ospf_lsdb *lsdb); +extern struct ospf_lsa *ospf_lsdb_lookup (struct ospf_lsdb *, struct ospf_lsa *); +extern struct ospf_lsa *ospf_lsdb_lookup_by_id (struct ospf_lsdb *, u_char, struct in_addr, struct in_addr); -struct ospf_lsa *ospf_lsdb_lookup_by_id_next (struct ospf_lsdb *, u_char, +extern struct ospf_lsa *ospf_lsdb_lookup_by_id_next (struct ospf_lsdb *, u_char, struct in_addr, struct in_addr, int); -unsigned long ospf_lsdb_count_all (struct ospf_lsdb *); -unsigned long ospf_lsdb_count (struct ospf_lsdb *, int); -unsigned long ospf_lsdb_count_self (struct ospf_lsdb *, int); -unsigned int ospf_lsdb_checksum (struct ospf_lsdb *, int); -unsigned long ospf_lsdb_isempty (struct ospf_lsdb *); +extern unsigned long ospf_lsdb_count_all (struct ospf_lsdb *); +extern unsigned long ospf_lsdb_count (struct ospf_lsdb *, int); +extern unsigned long ospf_lsdb_count_self (struct ospf_lsdb *, int); +extern unsigned int ospf_lsdb_checksum (struct ospf_lsdb *, int); +extern unsigned long ospf_lsdb_isempty (struct ospf_lsdb *); #endif /* _ZEBRA_OSPF_LSDB_H */ diff --git a/ospfd/ospf_main.c b/ospfd/ospf_main.c index 7955162d..b0ad3ab7 100644 --- a/ospfd/ospf_main.c +++ b/ospfd/ospf_main.c @@ -105,7 +105,7 @@ extern int ospf_apiserver_enable; #endif /* SUPPORT_OSPF_API */ /* Help information display. */ -static void +static void __attribute__ ((noreturn)) usage (char *progname, int status) { if (status != 0) @@ -131,14 +131,14 @@ Report bugs to %s\n", progname, ZEBRA_BUG_ADDRESS); } /* SIGHUP handler. */ -void +static void sighup (void) { zlog (NULL, LOG_INFO, "SIGHUP received"); } /* SIGINT handler. */ -void +static void __attribute__ ((noreturn)) sigint (void) { zlog_notice ("Terminating on signal"); @@ -149,7 +149,7 @@ sigint (void) } /* SIGUSR1 handler. */ -void +static void sigusr1 (void) { zlog_rotate (NULL); diff --git a/ospfd/ospf_neighbor.c b/ospfd/ospf_neighbor.c index 35906ec8..5c1a7627 100644 --- a/ospfd/ospf_neighbor.c +++ b/ospfd/ospf_neighbor.c @@ -338,7 +338,7 @@ ospf_nbr_lookup (struct ospf_interface *oi, struct ip *iph, return (ospf_nbr_lookup_by_addr (oi->nbrs, &iph->ip_src)); } -struct ospf_neighbor * +static struct ospf_neighbor * ospf_nbr_add (struct ospf_interface *oi, struct ospf_header *ospfh, struct prefix *p) { diff --git a/ospfd/ospf_neighbor.h b/ospfd/ospf_neighbor.h index f91ef3f9..cbfbc2d8 100644 --- a/ospfd/ospf_neighbor.h +++ b/ospfd/ospf_neighbor.h @@ -90,25 +90,26 @@ struct ospf_neighbor #define NBR_IS_BDR(n) IPV4_ADDR_SAME (&n->address.u.prefix4, &n->bd_router) /* Prototypes. */ -struct ospf_neighbor *ospf_nbr_new (struct ospf_interface *); -void ospf_nbr_free (struct ospf_neighbor *); -void ospf_nbr_delete (struct ospf_neighbor *); -int ospf_nbr_bidirectional (struct in_addr *, struct in_addr *, int); -void ospf_nbr_add_self (struct ospf_interface *); -int ospf_nbr_count (struct ospf_interface *, int); +extern struct ospf_neighbor *ospf_nbr_new (struct ospf_interface *); +extern void ospf_nbr_free (struct ospf_neighbor *); +extern void ospf_nbr_delete (struct ospf_neighbor *); +extern int ospf_nbr_bidirectional (struct in_addr *, struct in_addr *, int); +extern void ospf_nbr_add_self (struct ospf_interface *); +extern int ospf_nbr_count (struct ospf_interface *, int); #ifdef HAVE_OPAQUE_LSA -int ospf_nbr_count_opaque_capable (struct ospf_interface *); +extern int ospf_nbr_count_opaque_capable (struct ospf_interface *); #endif /* HAVE_OPAQUE_LSA */ -struct ospf_neighbor *ospf_nbr_get (struct ospf_interface *, - struct ospf_header *, - struct ip *, - struct prefix *); -struct ospf_neighbor *ospf_nbr_lookup (struct ospf_interface *, struct ip *, - struct ospf_header *); -struct ospf_neighbor *ospf_nbr_lookup_by_addr (struct route_table *, - struct in_addr *); -struct ospf_neighbor *ospf_nbr_lookup_by_routerid (struct route_table *, - struct in_addr *); -void ospf_renegotiate_optional_capabilities (struct ospf *top); +extern struct ospf_neighbor *ospf_nbr_get (struct ospf_interface *, + struct ospf_header *, + struct ip *, struct prefix *); +extern struct ospf_neighbor *ospf_nbr_lookup (struct ospf_interface *, + struct ip *, + struct ospf_header *); +extern struct ospf_neighbor *ospf_nbr_lookup_by_addr (struct route_table *, + struct in_addr *); +extern struct ospf_neighbor *ospf_nbr_lookup_by_routerid (struct route_table + *, + struct in_addr *); +extern void ospf_renegotiate_optional_capabilities (struct ospf *top); #endif /* _ZEBRA_OSPF_NEIGHBOR_H */ diff --git a/ospfd/ospf_network.h b/ospfd/ospf_network.h index 52a25fd9..1b43df1c 100644 --- a/ospfd/ospf_network.h +++ b/ospfd/ospf_network.h @@ -24,11 +24,15 @@ #define _ZEBRA_OSPF_NETWORK_H /* Prototypes. */ -int ospf_if_add_allspfrouters (struct ospf *, struct prefix *, unsigned int); -int ospf_if_drop_allspfrouters (struct ospf *, struct prefix *, unsigned int); -int ospf_if_add_alldrouters (struct ospf *, struct prefix *, unsigned int); -int ospf_if_drop_alldrouters (struct ospf *, struct prefix *, unsigned int); -int ospf_if_ipmulticast (struct ospf *, struct prefix *, unsigned int); -int ospf_sock_init (void); +extern int ospf_if_add_allspfrouters (struct ospf *, struct prefix *, + unsigned int); +extern int ospf_if_drop_allspfrouters (struct ospf *, struct prefix *, + unsigned int); +extern int ospf_if_add_alldrouters (struct ospf *, struct prefix *, + unsigned int); +extern int ospf_if_drop_alldrouters (struct ospf *, struct prefix *, + unsigned int); +extern int ospf_if_ipmulticast (struct ospf *, struct prefix *, unsigned int); +extern int ospf_sock_init (void); #endif /* _ZEBRA_OSPF_NETWORK_H */ diff --git a/ospfd/ospf_nsm.c b/ospfd/ospf_nsm.c index ce84624b..b18540a4 100644 --- a/ospfd/ospf_nsm.c +++ b/ospfd/ospf_nsm.c @@ -52,7 +52,7 @@ void nsm_reset_nbr (struct ospf_neighbor *); /* OSPF NSM Timer functions. */ -int +static int ospf_inactivity_timer (struct thread *thread) { struct ospf_neighbor *nbr; @@ -69,7 +69,7 @@ ospf_inactivity_timer (struct thread *thread) return 0; } -int +static int ospf_db_desc_timer (struct thread *thread) { struct ospf_interface *oi; @@ -96,7 +96,7 @@ ospf_db_desc_timer (struct thread *thread) /* Hook function called after ospf NSM event is occured. */ -void +static void nsm_timer_set (struct ospf_neighbor *nbr) { switch (nbr->state) @@ -140,7 +140,7 @@ nsm_timer_set (struct ospf_neighbor *nbr) /* OSPF NSM functions. */ -int +static int nsm_ignore (struct ospf_neighbor *nbr) { if (IS_DEBUG_OSPF (nsm, NSM_EVENTS)) @@ -150,7 +150,7 @@ nsm_ignore (struct ospf_neighbor *nbr) return 0; } -int +static int nsm_hello_received (struct ospf_neighbor *nbr) { /* Start or Restart Inactivity Timer. */ @@ -165,7 +165,7 @@ nsm_hello_received (struct ospf_neighbor *nbr) return 0; } -int +static int nsm_start (struct ospf_neighbor *nbr) { @@ -182,7 +182,7 @@ nsm_start (struct ospf_neighbor *nbr) return 0; } -int +static int nsm_twoway_received (struct ospf_neighbor *nbr) { struct ospf_interface *oi; @@ -221,7 +221,7 @@ ospf_db_summary_isempty (struct ospf_neighbor *nbr) return ospf_lsdb_isempty (&nbr->db_sum); } -int +static int ospf_db_summary_add (struct ospf_neighbor *nbr, struct ospf_lsa *lsa) { #ifdef HAVE_OPAQUE_LSA @@ -282,7 +282,7 @@ ospf_db_summary_clear (struct ospf_neighbor *nbr) AS-external-LSAs are omitted from a virtual neighbor's Database summary list. AS-external-LSAs are omitted from the Database summary list if the area has been configured as a stub. */ -int +static int nsm_negotiation_done (struct ospf_neighbor *nbr) { struct ospf_area *area = nbr->oi->area; @@ -325,7 +325,7 @@ nsm_negotiation_done (struct ospf_neighbor *nbr) return 0; } -int +static int nsm_exchange_done (struct ospf_neighbor *nbr) { if (ospf_ls_request_isempty (nbr)) @@ -340,7 +340,7 @@ nsm_exchange_done (struct ospf_neighbor *nbr) return NSM_Loading; } -int +static int nsm_bad_ls_req (struct ospf_neighbor *nbr) { /* Clear neighbor. */ @@ -349,7 +349,7 @@ nsm_bad_ls_req (struct ospf_neighbor *nbr) return 0; } -int +static int nsm_adj_ok (struct ospf_neighbor *nbr) { struct ospf_interface *oi; @@ -382,7 +382,7 @@ nsm_adj_ok (struct ospf_neighbor *nbr) return next_state; } -int +static int nsm_seq_number_mismatch (struct ospf_neighbor *nbr) { /* Clear neighbor. */ @@ -391,7 +391,7 @@ nsm_seq_number_mismatch (struct ospf_neighbor *nbr) return 0; } -int +static int nsm_oneway_received (struct ospf_neighbor *nbr) { /* Clear neighbor. */ @@ -427,7 +427,7 @@ nsm_reset_nbr (struct ospf_neighbor *nbr) #endif /* HAVE_OPAQUE_LSA */ } -int +static int nsm_kill_nbr (struct ospf_neighbor *nbr) { /* call it here because we cannot call it from ospf_nsm_event */ @@ -459,7 +459,7 @@ nsm_kill_nbr (struct ospf_neighbor *nbr) return 0; } -int +static int nsm_inactivity_timer (struct ospf_neighbor *nbr) { /* Kill neighbor. */ @@ -468,7 +468,7 @@ nsm_inactivity_timer (struct ospf_neighbor *nbr) return 0; } -int +static int nsm_ll_down (struct ospf_neighbor *nbr) { /* Reset neighbor. */ @@ -482,7 +482,7 @@ nsm_ll_down (struct ospf_neighbor *nbr) /* Neighbor State Machine */ struct { - int (*func) (); + int (*func) (struct ospf_neighbor *); int next_state; } NSM [OSPF_NSM_STATE_MAX][OSPF_NSM_EVENT_MAX] = { diff --git a/ospfd/ospf_nsm.h b/ospfd/ospf_nsm.h index 3d257305..fe42f7a0 100644 --- a/ospfd/ospf_nsm.h +++ b/ospfd/ospf_nsm.h @@ -54,38 +54,37 @@ #define OSPF_NSM_EVENT_MAX 14 /* Macro for OSPF NSM timer turn on. */ -#define OSPF_NSM_TIMER_ON(T,F,V) \ - do { \ - if (!(T)) \ - (T) = thread_add_timer (master, (F), nbr, (V)); \ +#define OSPF_NSM_TIMER_ON(T,F,V) \ + do { \ + if (!(T)) \ + (T) = thread_add_timer (master, (F), nbr, (V)); \ } while (0) /* Macro for OSPF NSM timer turn off. */ -#define OSPF_NSM_TIMER_OFF(X) \ - do { \ - if (X) \ - { \ - thread_cancel (X); \ - (X) = NULL; \ - } \ +#define OSPF_NSM_TIMER_OFF(X) \ + do { \ + if (X) \ + { \ + thread_cancel (X); \ + (X) = NULL; \ + } \ } while (0) /* Macro for OSPF NSM schedule event. */ -#define OSPF_NSM_EVENT_SCHEDULE(N,E) \ +#define OSPF_NSM_EVENT_SCHEDULE(N,E) \ thread_add_event (master, ospf_nsm_event, (N), (E)) /* Macro for OSPF NSM execute event. */ -#define OSPF_NSM_EVENT_EXECUTE(N,E) \ +#define OSPF_NSM_EVENT_EXECUTE(N,E) \ thread_execute (master, ospf_nsm_event, (N), (E)) /* Prototypes. */ -int ospf_nsm_event (struct thread *); -void nsm_change_state (struct ospf_neighbor *, int); -void ospf_check_nbr_loading (struct ospf_neighbor *); -int ospf_db_summary_isempty (struct ospf_neighbor *); -int ospf_db_summary_count (struct ospf_neighbor *); -void ospf_db_summary_clear (struct ospf_neighbor *); -/* void ospf_db_summary_delete_all (struct ospf_neighbor *); */ +extern int ospf_nsm_event (struct thread *); +extern void nsm_change_state (struct ospf_neighbor *, int); +extern void ospf_check_nbr_loading (struct ospf_neighbor *); +extern int ospf_db_summary_isempty (struct ospf_neighbor *); +extern int ospf_db_summary_count (struct ospf_neighbor *); +extern void ospf_db_summary_clear (struct ospf_neighbor *); #endif /* _ZEBRA_OSPF_NSM_H */ diff --git a/ospfd/ospf_opaque.c b/ospfd/ospf_opaque.c index d6b2f25b..6cc09878 100644 --- a/ospfd/ospf_opaque.c +++ b/ospfd/ospf_opaque.c @@ -1979,8 +1979,6 @@ out: return rc; } -extern int ospf_lsa_refresh_delay (struct ospf_lsa *); /* ospf_lsa.c */ - void ospf_opaque_lsa_refresh_schedule (struct ospf_lsa *lsa0) { diff --git a/ospfd/ospf_opaque.h b/ospfd/ospf_opaque.h index 743f043c..e33fb65b 100644 --- a/ospfd/ospf_opaque.h +++ b/ospfd/ospf_opaque.h @@ -24,6 +24,8 @@ #ifndef _ZEBRA_OSPF_OPAQUE_H #define _ZEBRA_OSPF_OPAQUE_H +#include "vty.h" + #define IS_OPAQUE_LSA(type) \ ((type) == OSPF_OPAQUE_LINK_LSA || \ (type) == OSPF_OPAQUE_AREA_LSA || \ @@ -95,8 +97,6 @@ ((ntohs((lsahdr)->length) % sizeof (u_int32_t)) == 0)) /* Prototypes. */ -struct vty; -struct stream; extern void ospf_opaque_init (void); extern void ospf_opaque_term (void); @@ -128,28 +128,36 @@ extern void ospf_delete_opaque_functab (u_char lsa_type, u_char opaque_type); extern int ospf_opaque_new_if (struct interface *ifp); extern int ospf_opaque_del_if (struct interface *ifp); -extern void ospf_opaque_ism_change (struct ospf_interface *oi, int old_status); -extern void ospf_opaque_nsm_change (struct ospf_neighbor *nbr, int old_status); +extern void ospf_opaque_ism_change (struct ospf_interface *oi, + int old_status); +extern void ospf_opaque_nsm_change (struct ospf_neighbor *nbr, + int old_status); extern void ospf_opaque_config_write_router (struct vty *vty, struct ospf *); -extern void ospf_opaque_config_write_if (struct vty *vty, struct interface *ifp); +extern void ospf_opaque_config_write_if (struct vty *vty, + struct interface *ifp); extern void ospf_opaque_config_write_debug (struct vty *vty); extern void show_opaque_info_detail (struct vty *vty, struct ospf_lsa *lsa); extern void ospf_opaque_lsa_dump (struct stream *s, u_int16_t length); -extern void ospf_opaque_lsa_originate_schedule (struct ospf_interface *oi, int *init_delay); -extern struct ospf_lsa *ospf_opaque_lsa_install (struct ospf_lsa *new, int rt_recalc); +extern void ospf_opaque_lsa_originate_schedule (struct ospf_interface *oi, + int *init_delay); +extern struct ospf_lsa *ospf_opaque_lsa_install (struct ospf_lsa *new, + int rt_recalc); extern void ospf_opaque_lsa_refresh (struct ospf_lsa *lsa); -extern void ospf_opaque_lsa_reoriginate_schedule (void *lsa_type_dependent, u_char lsa_type, u_char opaque_type); +extern void ospf_opaque_lsa_reoriginate_schedule (void *lsa_type_dependent, + u_char lsa_type, + u_char opaque_type); extern void ospf_opaque_lsa_refresh_schedule (struct ospf_lsa *lsa); extern void ospf_opaque_lsa_flush_schedule (struct ospf_lsa *lsa); -extern void ospf_opaque_adjust_lsreq (struct ospf_neighbor *nbr, - struct list *lsas); -extern void ospf_opaque_self_originated_lsa_received (struct ospf_neighbor *nbr, - struct list *lsas); -extern void ospf_opaque_ls_ack_received (struct ospf_neighbor *nbr, - struct list *acks); +extern void ospf_opaque_adjust_lsreq (struct ospf_neighbor *nbr, + struct list *lsas); +extern void ospf_opaque_self_originated_lsa_received (struct ospf_neighbor + *nbr, + struct list *lsas); +extern void ospf_opaque_ls_ack_received (struct ospf_neighbor *nbr, + struct list *acks); extern void htonf (float *src, float *dst); extern void ntohf (float *src, float *dst); diff --git a/ospfd/ospf_packet.c b/ospfd/ospf_packet.c index 8892f0e5..e223b56d 100644 --- a/ospfd/ospf_packet.c +++ b/ospfd/ospf_packet.c @@ -65,7 +65,7 @@ const char *ospf_packet_type_str[] = extern int in_cksum (void *ptr, int nbytes); /* OSPF authentication checking function */ -int +static int ospf_auth_type (struct ospf_interface *oi) { int auth_type; @@ -234,7 +234,7 @@ ospf_packet_dup (struct ospf_packet *op) } /* XXX inline */ -unsigned int +static inline unsigned int ospf_packet_authspace (struct ospf_interface *oi) { int auth = 0; @@ -245,7 +245,7 @@ ospf_packet_authspace (struct ospf_interface *oi) return auth; } -unsigned int +static unsigned int ospf_packet_max (struct ospf_interface *oi) { int max; @@ -258,7 +258,7 @@ ospf_packet_max (struct ospf_interface *oi) } -int +static int ospf_check_md5_digest (struct ospf_interface *oi, struct stream *s, u_int16_t length) { @@ -322,7 +322,7 @@ ospf_check_md5_digest (struct ospf_interface *oi, struct stream *s, /* This function is called from ospf_write(), it will detect the authentication scheme and if it is MD5, it will change the sequence and update the MD5 digest. */ -int +static int ospf_make_md5_digest (struct ospf_interface *oi, struct ospf_packet *op) { struct ospf_header *ospfh; @@ -331,7 +331,7 @@ ospf_make_md5_digest (struct ospf_interface *oi, struct ospf_packet *op) void *ibuf; u_int32_t t; struct crypt_key *ck; - char *auth_key; + const char *auth_key; ibuf = STREAM_DATA (op->s); ospfh = (struct ospf_header *) ibuf; @@ -347,11 +347,11 @@ ospf_make_md5_digest (struct ospf_interface *oi, struct ospf_packet *op) /* Get MD5 Authentication key from auth_key list. */ if (list_isempty (OSPF_IF_PARAM (oi, auth_crypt))) - auth_key = (char *) ""; + auth_key = ""; else { ck = listgetdata (listtail(OSPF_IF_PARAM (oi, auth_crypt))); - auth_key = (char *) ck->auth_key; + auth_key = ck->auth_key; } /* Generate a digest for the entire packet + our secret key. */ @@ -373,7 +373,7 @@ ospf_make_md5_digest (struct ospf_interface *oi, struct ospf_packet *op) } -int +static int ospf_ls_req_timer (struct thread *thread) { struct ospf_neighbor *nbr; @@ -729,7 +729,7 @@ ospf_write (struct thread *thread) } /* OSPF Hello message read -- RFC2328 Section 10.5. */ -void +static void ospf_hello (struct ip *iph, struct ospf_header *ospfh, struct stream * s, struct ospf_interface *oi, int size) { @@ -961,7 +961,7 @@ ospf_hello (struct ip *iph, struct ospf_header *ospfh, } /* Save DD flags/options/Seqnum received. */ -void +static void ospf_db_desc_save_current (struct ospf_neighbor *nbr, struct ospf_db_desc *dd) { @@ -1078,7 +1078,7 @@ ospf_db_desc_proc (struct stream *s, struct ospf_interface *oi, ospf_db_desc_save_current (nbr, dd); } -int +static int ospf_db_desc_is_dup (struct ospf_db_desc *dd, struct ospf_neighbor *nbr) { /* Is DD duplicated? */ @@ -1358,7 +1358,7 @@ ospf_db_desc (struct ip *iph, struct ospf_header *ospfh, #define OSPF_LSA_KEY_SIZE 12 /* type(4) + id(4) + ar(4) */ /* OSPF Link State Request Read -- RFC2328 Section 10.7. */ -void +static void ospf_ls_req (struct ip *iph, struct ospf_header *ospfh, struct stream *s, struct ospf_interface *oi, u_int16_t size) { @@ -1576,7 +1576,7 @@ ospf_ls_upd_list_lsa (struct ospf_neighbor *nbr, struct stream *s, } /* Cleanup Update list. */ -void +static void ospf_upd_list_clean (struct list *lsas) { struct listnode *node, *nnode; @@ -1589,7 +1589,7 @@ ospf_upd_list_clean (struct list *lsas) } /* OSPF Link State Update message read -- RFC2328 Section 13. */ -void +static void ospf_ls_upd (struct ip *iph, struct ospf_header *ospfh, struct stream *s, struct ospf_interface *oi, u_int16_t size) { @@ -1951,7 +1951,7 @@ ospf_ls_upd (struct ip *iph, struct ospf_header *ospfh, } /* OSPF Link State Acknowledgment message read -- RFC2328 Section 13.7. */ -void +static void ospf_ls_ack (struct ip *iph, struct ospf_header *ospfh, struct stream *s, struct ospf_interface *oi, u_int16_t size) { @@ -2099,7 +2099,7 @@ ospf_recv_packet (int fd, struct interface **ifp, struct stream *ibuf) return ibuf; } -struct ospf_interface * +static struct ospf_interface * ospf_associate_packet_vl (struct ospf *ospf, struct interface *ifp, struct ip *iph, struct ospf_header *ospfh) { @@ -2150,7 +2150,7 @@ ospf_associate_packet_vl (struct ospf *ospf, struct interface *ifp, return NULL; } -int +static inline int ospf_check_area_id (struct ospf_interface *oi, struct ospf_header *ospfh) { /* Check match the Area ID of the receiving interface. */ @@ -2163,7 +2163,7 @@ ospf_check_area_id (struct ospf_interface *oi, struct ospf_header *ospfh) /* Unbound socket will accept any Raw IP packets if proto is matched. To prevent it, compare src IP address and i/f address with masking i/f network mask. */ -int +static int ospf_check_network_mask (struct ospf_interface *oi, struct in_addr ip_src) { struct in_addr mask, me, him; @@ -2183,7 +2183,7 @@ ospf_check_network_mask (struct ospf_interface *oi, struct in_addr ip_src) return 0; } -int +static int ospf_check_auth (struct ospf_interface *oi, struct stream *ibuf, struct ospf_header *ospfh) { @@ -2224,7 +2224,7 @@ ospf_check_auth (struct ospf_interface *oi, struct stream *ibuf, return ret; } -int +static int ospf_check_sum (struct ospf_header *ospfh) { u_int32_t ret; @@ -2252,7 +2252,7 @@ ospf_check_sum (struct ospf_header *ospfh) } /* OSPF Header verification. */ -int +static int ospf_verify_header (struct stream *ibuf, struct ospf_interface *oi, struct ip *iph, struct ospf_header *ospfh) { @@ -2511,7 +2511,7 @@ ospf_read (struct thread *thread) } /* Make OSPF header. */ -void +static void ospf_make_header (int type, struct ospf_interface *oi, struct stream *s) { struct ospf_header *ospfh; @@ -2533,7 +2533,7 @@ ospf_make_header (int type, struct ospf_interface *oi, struct stream *s) } /* Make Authentication Data. */ -int +static int ospf_make_auth (struct ospf_interface *oi, struct ospf_header *ospfh) { struct crypt_key *ck; @@ -2573,7 +2573,7 @@ ospf_make_auth (struct ospf_interface *oi, struct ospf_header *ospfh) } /* Fill rest of OSPF header. */ -void +static void ospf_fill_header (struct ospf_interface *oi, struct stream *s, u_int16_t length) { @@ -2594,7 +2594,7 @@ ospf_fill_header (struct ospf_interface *oi, ospf_make_auth (oi, ospfh); } -int +static int ospf_make_hello (struct ospf_interface *oi, struct stream *s) { struct ospf_neighbor *nbr; @@ -2661,7 +2661,7 @@ ospf_make_hello (struct ospf_interface *oi, struct stream *s) return length; } -int +static int ospf_make_db_desc (struct ospf_interface *oi, struct ospf_neighbor *nbr, struct stream *s) { @@ -2772,7 +2772,7 @@ ospf_make_db_desc (struct ospf_interface *oi, struct ospf_neighbor *nbr, return length; } -int +static int ospf_make_ls_req_func (struct stream *s, u_int16_t *length, unsigned long delta, struct ospf_neighbor *nbr, struct ospf_lsa *lsa) @@ -2796,7 +2796,7 @@ ospf_make_ls_req_func (struct stream *s, u_int16_t *length, return 1; } -int +static int ospf_make_ls_req (struct ospf_neighbor *nbr, struct stream *s) { struct ospf_lsa *lsa; @@ -2823,7 +2823,7 @@ ospf_make_ls_req (struct ospf_neighbor *nbr, struct stream *s) return length; } -int +static int ls_age_increment (struct ospf_lsa *lsa, int delay) { int age; @@ -2833,7 +2833,7 @@ ls_age_increment (struct ospf_lsa *lsa, int delay) return (age > OSPF_LSA_MAXAGE ? OSPF_LSA_MAXAGE : age); } -int +static int ospf_make_ls_upd (struct ospf_interface *oi, struct list *update, struct stream *s) { struct ospf_lsa *lsa; @@ -2896,7 +2896,7 @@ ospf_make_ls_upd (struct ospf_interface *oi, struct list *update, struct stream return length; } -int +static int ospf_make_ls_ack (struct ospf_interface *oi, struct list *ack, struct stream *s) { struct list *rm_list; @@ -2965,7 +2965,7 @@ ospf_hello_send_sub (struct ospf_interface *oi, struct in_addr *addr) OSPF_ISM_WRITE_ON (oi->ospf); } -void +static void ospf_poll_send (struct ospf_nbr_nbma *nbr_nbma) { struct ospf_interface *oi; diff --git a/ospfd/ospf_packet.h b/ospfd/ospf_packet.h index af9e634b..7b3d6866 100644 --- a/ospfd/ospf_packet.h +++ b/ospfd/ospf_packet.h @@ -131,36 +131,37 @@ struct ospf_db_desc #define IS_SET_DD_ALL(X) ((X) & OSPF_DD_FLAG_ALL) /* Prototypes. */ -void ospf_output_forward (struct stream *, int); -struct ospf_packet *ospf_packet_new (size_t); -void ospf_packet_free (struct ospf_packet *); -struct ospf_fifo *ospf_fifo_new (); -void ospf_fifo_push (struct ospf_fifo *, struct ospf_packet *); -struct ospf_packet *ospf_fifo_pop (struct ospf_fifo *); -struct ospf_packet *ospf_fifo_head (struct ospf_fifo *); -void ospf_fifo_flush (struct ospf_fifo *); -void ospf_fifo_free (struct ospf_fifo *); -void ospf_packet_add (struct ospf_interface *, struct ospf_packet *); -void ospf_packet_delete (struct ospf_interface *); -struct stream *ospf_stream_dup (struct stream *); -struct ospf_packet *ospf_packet_dup (struct ospf_packet *); - -int ospf_read (struct thread *); -void ospf_hello_send (struct ospf_interface *); -void ospf_db_desc_send (struct ospf_neighbor *); -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 *, 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 *); -void ospf_ls_req_event (struct ospf_neighbor *); - -int ospf_ls_upd_timer (struct thread *); -int ospf_ls_ack_timer (struct thread *); -int ospf_poll_timer (struct thread *); -int ospf_hello_reply_timer (struct thread *); -void ospf_hello_send_sub (struct ospf_interface *, struct in_addr *); +extern void ospf_output_forward (struct stream *, int); +extern struct ospf_packet *ospf_packet_new (size_t); +extern void ospf_packet_free (struct ospf_packet *); +extern struct ospf_fifo *ospf_fifo_new (void); +extern void ospf_fifo_push (struct ospf_fifo *, struct ospf_packet *); +extern struct ospf_packet *ospf_fifo_pop (struct ospf_fifo *); +extern struct ospf_packet *ospf_fifo_head (struct ospf_fifo *); +extern void ospf_fifo_flush (struct ospf_fifo *); +extern void ospf_fifo_free (struct ospf_fifo *); +extern void ospf_packet_add (struct ospf_interface *, struct ospf_packet *); +extern void ospf_packet_delete (struct ospf_interface *); +extern struct stream *ospf_stream_dup (struct stream *); +extern struct ospf_packet *ospf_packet_dup (struct ospf_packet *); + +extern int ospf_read (struct thread *); +extern void ospf_hello_send (struct ospf_interface *); +extern void ospf_db_desc_send (struct ospf_neighbor *); +extern void ospf_db_desc_resend (struct ospf_neighbor *); +extern void ospf_ls_req_send (struct ospf_neighbor *); +extern void ospf_ls_upd_send_lsa (struct ospf_neighbor *, struct ospf_lsa *, + int); +extern void ospf_ls_upd_send (struct ospf_neighbor *, struct list *, int); +extern void ospf_ls_ack_send (struct ospf_neighbor *, struct ospf_lsa *); +extern void ospf_ls_ack_send_delayed (struct ospf_interface *); +extern void ospf_ls_retransmit (struct ospf_interface *, struct ospf_lsa *); +extern void ospf_ls_req_event (struct ospf_neighbor *); + +extern int ospf_ls_upd_timer (struct thread *); +extern int ospf_ls_ack_timer (struct thread *); +extern int ospf_poll_timer (struct thread *); +extern int ospf_hello_reply_timer (struct thread *); +extern void ospf_hello_send_sub (struct ospf_interface *, struct in_addr *); #endif /* _ZEBRA_OSPF_PACKET_H */ diff --git a/ospfd/ospf_route.c b/ospfd/ospf_route.c index ca39d9b2..00733d84 100644 --- a/ospfd/ospf_route.c +++ b/ospfd/ospf_route.c @@ -74,7 +74,7 @@ ospf_path_new () return new; } -struct ospf_path * +static struct ospf_path * ospf_path_dup (struct ospf_path *path) { struct ospf_path *new; @@ -177,7 +177,7 @@ ospf_route_match_same (struct route_table *rt, struct prefix_ipv4 *prefix, /* delete routes generated from AS-External routes if there is a inter/intra * area route */ -void +static void ospf_route_delete_same_ext(struct route_table *external_routes, struct route_table *routes) { @@ -208,7 +208,7 @@ ospf_route_delete_same_ext(struct route_table *external_routes, } /* rt: Old, cmprt: New */ -void +static void ospf_route_delete_uniq (struct route_table *rt, struct route_table *cmprt) { struct route_node *rn; @@ -270,7 +270,7 @@ ospf_route_install (struct ospf *ospf, struct route_table *rt) } } -void +static void ospf_intra_route_add (struct route_table *rt, struct vertex *v, struct ospf_area *area) { @@ -709,7 +709,7 @@ ospf_terminate () o Intra-area paths using non-backbone areas are always the most preferred. o The other paths, intra-area backbone paths and inter-area paths, are of equal preference. */ -int +static int ospf_asbr_route_cmp (struct ospf *ospf, struct ospf_route *r1, struct ospf_route *r2) { @@ -778,7 +778,7 @@ ospf_route_cmp (struct ospf *ospf, struct ospf_route *r1, return (r1->cost - r2->cost); } -int +static int ospf_path_exist (struct list *plist, struct in_addr nexthop, struct ospf_interface *oi) { diff --git a/ospfd/ospf_route.h b/ospfd/ospf_route.h index 8aee5591..351e014d 100644 --- a/ospfd/ospf_route.h +++ b/ospfd/ospf_route.h @@ -121,43 +121,45 @@ struct ospf_route } u; }; -struct ospf_path *ospf_path_new (); -void ospf_path_free (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 *); -void ospf_route_table_free (struct route_table *); - -void ospf_route_install (struct ospf *, struct route_table *); -void ospf_route_table_dump (struct route_table *); - -void ospf_intra_add_router (struct route_table *, struct vertex *, - struct ospf_area *); - -void ospf_intra_add_transit (struct route_table *, struct vertex *, - struct ospf_area *); - -void ospf_intra_add_stub (struct route_table *, struct router_lsa_link *, - 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 *, struct list *); -void ospf_route_copy_nexthops_from_vertex (struct ospf_route *, - struct vertex * ); - -void ospf_route_subst (struct route_node *, struct ospf_route *, - struct ospf_route *); -void ospf_route_add (struct route_table *, struct prefix_ipv4 *, - struct ospf_route *, struct ospf_route *); - -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 *, - struct prefix_ipv4 *); -void ospf_delete_discard_route (struct prefix_ipv4 *); -int ospf_route_match_same (struct route_table *, struct prefix_ipv4 *, +extern struct ospf_path *ospf_path_new (void); +extern void ospf_path_free (struct ospf_path *); +extern struct ospf_path *ospf_path_lookup (struct list *, struct ospf_path *); +extern struct ospf_route *ospf_route_new (void); +extern void ospf_route_free (struct ospf_route *); +extern void ospf_route_delete (struct route_table *); +extern void ospf_route_table_free (struct route_table *); + +extern void ospf_route_install (struct ospf *, struct route_table *); +extern void ospf_route_table_dump (struct route_table *); + +extern void ospf_intra_add_router (struct route_table *, struct vertex *, + struct ospf_area *); + +extern void ospf_intra_add_transit (struct route_table *, struct vertex *, + struct ospf_area *); + +extern void ospf_intra_add_stub (struct route_table *, + struct router_lsa_link *, struct vertex *, + struct ospf_area *); + +extern int ospf_route_cmp (struct ospf *, struct ospf_route *, struct ospf_route *); +extern void ospf_route_copy_nexthops (struct ospf_route *, struct list *); +extern void ospf_route_copy_nexthops_from_vertex (struct ospf_route *, + struct vertex *); + +extern void ospf_route_subst (struct route_node *, struct ospf_route *, + struct ospf_route *); +extern void ospf_route_add (struct route_table *, struct prefix_ipv4 *, + struct ospf_route *, struct ospf_route *); + +extern void ospf_route_subst_nexthops (struct ospf_route *, struct list *); +extern void ospf_prune_unreachable_networks (struct route_table *); +extern void ospf_prune_unreachable_routers (struct route_table *); +extern int ospf_add_discard_route (struct route_table *, struct ospf_area *, + struct prefix_ipv4 *); +extern void ospf_delete_discard_route (struct prefix_ipv4 *); +extern int ospf_route_match_same (struct route_table *, struct prefix_ipv4 *, + struct ospf_route *); #endif /* _ZEBRA_OSPF_ROUTE_H */ diff --git a/ospfd/ospf_routemap.c b/ospfd/ospf_routemap.c index 074a2dea..6c89b22a 100644 --- a/ospfd/ospf_routemap.c +++ b/ospfd/ospf_routemap.c @@ -40,7 +40,7 @@ #include "ospfd/ospf_zebra.h" /* Hook function for updating route_map assignment. */ -void +static void ospf_route_map_update (const char *name) { struct ospf *ospf; @@ -73,7 +73,7 @@ ospf_route_map_update (const char *name) } } -void +static void ospf_route_map_event (route_map_event_t event, const char *name) { struct ospf *ospf; @@ -96,7 +96,7 @@ ospf_route_map_event (route_map_event_t event, const char *name) } /* Delete rip route map rule. */ -int +static int ospf_route_match_delete (struct vty *vty, struct route_map_index *index, const char *command, const char *arg) { @@ -121,7 +121,7 @@ ospf_route_match_delete (struct vty *vty, struct route_map_index *index, return CMD_SUCCESS; } -int +static int ospf_route_match_add (struct vty *vty, struct route_map_index *index, const char *command, const char *arg) { @@ -146,7 +146,7 @@ ospf_route_match_add (struct vty *vty, struct route_map_index *index, return CMD_SUCCESS; } -int +static int ospf_route_set_add (struct vty *vty, struct route_map_index *index, const char *command, const char *arg) { @@ -172,7 +172,7 @@ ospf_route_set_add (struct vty *vty, struct route_map_index *index, } /* Delete rip route map rule. */ -int +static int ospf_route_set_delete (struct vty *vty, struct route_map_index *index, const char *command, const char *arg) { @@ -199,7 +199,7 @@ ospf_route_set_delete (struct vty *vty, struct route_map_index *index, /* `match ip netxthop ' */ /* Match function return 1 if match is success else return zero. */ -route_map_result_t +static route_map_result_t route_match_ip_nexthop (void *rule, struct prefix *prefix, route_map_object_t type, void *object) { @@ -225,14 +225,14 @@ route_match_ip_nexthop (void *rule, struct prefix *prefix, /* Route map `ip next-hop' match statement. `arg' should be access-list name. */ -void * +static void * route_match_ip_nexthop_compile (const char *arg) { return XSTRDUP (MTYPE_ROUTE_MAP_COMPILED, arg); } /* Free route map's compiled `ip address' value. */ -void +static void route_match_ip_nexthop_free (void *rule) { XFREE (MTYPE_ROUTE_MAP_COMPILED, rule); @@ -249,7 +249,7 @@ struct route_map_rule_cmd route_match_ip_nexthop_cmd = /* `match ip next-hop prefix-list PREFIX_LIST' */ -route_map_result_t +static route_map_result_t route_match_ip_next_hop_prefix_list (void *rule, struct prefix *prefix, route_map_object_t type, void *object) { @@ -273,13 +273,13 @@ route_match_ip_next_hop_prefix_list (void *rule, struct prefix *prefix, return RMAP_NOMATCH; } -void * +static void * route_match_ip_next_hop_prefix_list_compile (const char *arg) { return XSTRDUP (MTYPE_ROUTE_MAP_COMPILED, arg); } -void +static void route_match_ip_next_hop_prefix_list_free (void *rule) { XFREE (MTYPE_ROUTE_MAP_COMPILED, rule); @@ -296,7 +296,7 @@ struct route_map_rule_cmd route_match_ip_next_hop_prefix_list_cmd = /* `match ip address IP_ACCESS_LIST' */ /* Match function should return 1 if match is success else return zero. */ -route_map_result_t +static route_map_result_t route_match_ip_address (void *rule, struct prefix *prefix, route_map_object_t type, void *object) { @@ -317,14 +317,14 @@ route_match_ip_address (void *rule, struct prefix *prefix, /* Route map `ip address' match statement. `arg' should be access-list name. */ -void * +static void * route_match_ip_address_compile (const char *arg) { return XSTRDUP (MTYPE_ROUTE_MAP_COMPILED, arg); } /* Free route map's compiled `ip address' value. */ -void +static void route_match_ip_address_free (void *rule) { XFREE (MTYPE_ROUTE_MAP_COMPILED, rule); @@ -340,7 +340,7 @@ struct route_map_rule_cmd route_match_ip_address_cmd = }; /* `match ip address prefix-list PREFIX_LIST' */ -route_map_result_t +static route_map_result_t route_match_ip_address_prefix_list (void *rule, struct prefix *prefix, route_map_object_t type, void *object) { @@ -358,13 +358,13 @@ route_match_ip_address_prefix_list (void *rule, struct prefix *prefix, return RMAP_NOMATCH; } -void * +static void * route_match_ip_address_prefix_list_compile (const char *arg) { return XSTRDUP (MTYPE_ROUTE_MAP_COMPILED, arg); } -void +static void route_match_ip_address_prefix_list_free (void *rule) { XFREE (MTYPE_ROUTE_MAP_COMPILED, rule); @@ -381,7 +381,7 @@ struct route_map_rule_cmd route_match_ip_address_prefix_list_cmd = /* `match interface IFNAME' */ /* Match function should return 1 if match is success else return zero. */ -route_map_result_t +static route_map_result_t route_match_interface (void *rule, struct prefix *prefix, route_map_object_t type, void *object) { @@ -403,14 +403,14 @@ route_match_interface (void *rule, struct prefix *prefix, /* Route map `interface' match statement. `arg' should be interface name. */ -void * +static void * route_match_interface_compile (const char *arg) { return XSTRDUP (MTYPE_ROUTE_MAP_COMPILED, arg); } /* Free route map's compiled `interface' value. */ -void +static void route_match_interface_free (void *rule) { XFREE (MTYPE_ROUTE_MAP_COMPILED, rule); @@ -427,7 +427,7 @@ struct route_map_rule_cmd route_match_interface_cmd = /* `set metric METRIC' */ /* Set metric to attribute. */ -route_map_result_t +static route_map_result_t route_set_metric (void *rule, struct prefix *prefix, route_map_object_t type, void *object) { @@ -447,7 +447,7 @@ route_set_metric (void *rule, struct prefix *prefix, } /* set metric compilation. */ -void * +static void * route_set_metric_compile (const char *arg) { u_int32_t *metric; @@ -463,7 +463,7 @@ route_set_metric_compile (const char *arg) } /* Free route map's compiled `set metric' value. */ -void +static void route_set_metric_free (void *rule) { XFREE (MTYPE_ROUTE_MAP_COMPILED, rule); @@ -480,7 +480,7 @@ struct route_map_rule_cmd route_set_metric_cmd = /* `set metric-type TYPE' */ /* Set metric-type to attribute. */ -route_map_result_t +static route_map_result_t route_set_metric_type (void *rule, struct prefix *prefix, route_map_object_t type, void *object) { @@ -500,7 +500,7 @@ route_set_metric_type (void *rule, struct prefix *prefix, } /* set metric-type compilation. */ -void * +static void * route_set_metric_type_compile (const char *arg) { u_int32_t *metric_type; @@ -520,7 +520,7 @@ route_set_metric_type_compile (const char *arg) } /* Free route map's compiled `set metric-type' value. */ -void +static void route_set_metric_type_free (void *rule) { XFREE (MTYPE_ROUTE_MAP_COMPILED, rule); @@ -760,11 +760,9 @@ DEFUN (set_metric_type, "OSPF[6] external type 2 metric\n") { if (strcmp (argv[0], "1") == 0) - return ospf_route_set_add (vty, vty->index, "metric-type", - (char *) "type-1"); + return ospf_route_set_add (vty, vty->index, "metric-type", "type-1"); if (strcmp (argv[0], "2") == 0) - return ospf_route_set_add (vty, vty->index, "metric-type", - (char *) "type-2"); + return ospf_route_set_add (vty, vty->index, "metric-type", "type-2"); return ospf_route_set_add (vty, vty->index, "metric-type", argv[0]); } diff --git a/ospfd/ospf_snmp.h b/ospfd/ospf_snmp.h index d82f87b1..8b561b03 100644 --- a/ospfd/ospf_snmp.h +++ b/ospfd/ospf_snmp.h @@ -24,10 +24,10 @@ #ifndef _ZEBRA_OSPF_SNMP_H #define _ZEBRA_OSPF_SNMP_H -void ospf_snmp_if_update (struct interface *); -void ospf_snmp_if_delete (struct interface *); +extern void ospf_snmp_if_update (struct interface *); +extern void ospf_snmp_if_delete (struct interface *); -void ospf_snmp_vl_add (struct ospf_vl_data *); -void ospf_snmp_vl_delete (struct ospf_vl_data *); +extern void ospf_snmp_vl_add (struct ospf_vl_data *); +extern void ospf_snmp_vl_delete (struct ospf_vl_data *); #endif /* _ZEBRA_OSPF_SNMP_H */ diff --git a/ospfd/ospf_spf.c b/ospfd/ospf_spf.c index c69fc7f1..e34dd2ee 100644 --- a/ospfd/ospf_spf.c +++ b/ospfd/ospf_spf.c @@ -70,7 +70,7 @@ update_stat (void * node , int position) } /* End of the heap related functions. */ -struct vertex_nexthop * +static struct vertex_nexthop * vertex_nexthop_new (struct vertex *parent) { struct vertex_nexthop *new; @@ -81,13 +81,13 @@ vertex_nexthop_new (struct vertex *parent) return new; } -void +static void vertex_nexthop_free (struct vertex_nexthop *nh) { XFREE (MTYPE_OSPF_NEXTHOP, nh); } -struct vertex_nexthop * +static struct vertex_nexthop * vertex_nexthop_dup (struct vertex_nexthop *nh) { struct vertex_nexthop *new; @@ -101,7 +101,7 @@ vertex_nexthop_dup (struct vertex_nexthop *nh) } -struct vertex * +static struct vertex * ospf_vertex_new (struct ospf_lsa *lsa) { struct vertex *new; @@ -122,7 +122,7 @@ ospf_vertex_new (struct ospf_lsa *lsa) return new; } -void +static void ospf_vertex_free (struct vertex *v) { struct listnode *node, *nnode; @@ -139,7 +139,7 @@ ospf_vertex_free (struct vertex *v) XFREE (MTYPE_OSPF_VERTEX, v); } -void +static void ospf_vertex_dump(const char *msg, struct vertex *v, int print_nexthops, int print_children) { @@ -189,7 +189,7 @@ ospf_vertex_dump(const char *msg, struct vertex *v, /* Add a vertex to the list of children in each of its parents. */ -void +static void ospf_vertex_add_parent (struct vertex *v) { struct vertex_nexthop *nh; @@ -203,7 +203,7 @@ ospf_vertex_add_parent (struct vertex *v) } } -void +static void ospf_spf_init (struct ospf_area *area) { struct vertex *v; @@ -219,7 +219,7 @@ ospf_spf_init (struct ospf_area *area) } /* return index of link back to V from W, or -1 if no link found */ -int +static int ospf_lsa_has_link (struct lsa_header *w, struct lsa_header *v) { unsigned int i, length; @@ -285,7 +285,7 @@ ospf_lsa_has_link (struct lsa_header *w, struct lsa_header *v) /* Add the nexthop to the list, only if it is unique. * If it's not unique, free the nexthop entry. */ -void +static void ospf_nexthop_add_unique (struct vertex_nexthop *new, struct list *nexthop) { struct vertex_nexthop *nh; @@ -317,7 +317,7 @@ ospf_nexthop_add_unique (struct vertex_nexthop *new, struct list *nexthop) } /* Merge entries in list b into list a. */ -void +static void ospf_nexthop_merge (struct list *a, struct list *b) { struct listnode *node, *nnode; @@ -334,7 +334,7 @@ ospf_nexthop_merge (struct list *a, struct list *b) * NULL, return the first link from v to w. Ignore stub and virtual links; * these link types will never be returned. */ -struct router_lsa_link * +static struct router_lsa_link * ospf_get_next_link (struct vertex *v, struct vertex *w, struct router_lsa_link *prev_link) { @@ -390,7 +390,7 @@ ospf_get_next_link (struct vertex *v, struct vertex *w, * backlinks, or even simpler, just flushing nexthop list if we find a lower * cost path to a candidate vertex in SPF, maybe. */ -void +static void ospf_spf_consider_nexthop (struct list *nexthops, struct vertex_nexthop *newhop) { @@ -427,7 +427,7 @@ ospf_spf_consider_nexthop (struct list *nexthops, /* 16.1.1. Calculate nexthop from root through V (parent) to * vertex W (destination). */ -void +static void ospf_nexthop_calculation (struct ospf_area *area, struct vertex *v, struct vertex *w) { @@ -620,7 +620,7 @@ ospf_nexthop_calculation (struct ospf_area *area, * of candidates with any vertices not already on the list. If a lower-cost * path is found to a vertex already on the candidate list, store the new cost. */ -void +static void ospf_spf_next (struct vertex *v, struct ospf_area *area, struct pqueue * candidate) { @@ -795,7 +795,7 @@ ospf_spf_next (struct vertex *v, struct ospf_area *area, } /* end loop over the links in V's LSA */ } -void +static void ospf_spf_route_free (struct route_table *table) { struct route_node *rn; @@ -815,7 +815,7 @@ ospf_spf_route_free (struct route_table *table) route_table_finish (table); } -void +static void ospf_spf_dump (struct vertex *v, int i) { struct listnode *cnode; @@ -846,7 +846,7 @@ ospf_spf_dump (struct vertex *v, int i) } /* Second stage of SPF calculation. */ -void +static void ospf_spf_process_stubs (struct ospf_area *area, struct vertex *v, struct route_table *rt) { @@ -926,7 +926,7 @@ ospf_rtrs_free (struct route_table *rtrs) route_table_finish (rtrs); } -void +static void ospf_rtrs_print (struct route_table *rtrs) { struct route_node *rn; @@ -986,7 +986,7 @@ ospf_rtrs_print (struct route_table *rtrs) } /* Calculating the shortest-path tree for an area. */ -void +static void ospf_spf_calculate (struct ospf_area *area, struct route_table *new_table, struct route_table *new_rtrs) { @@ -1095,7 +1095,7 @@ ospf_spf_calculate (struct ospf_area *area, struct route_table *new_table, } /* Timer for SPF calculation. */ -int +static int ospf_spf_calculate_timer (struct thread *thread) { struct ospf *ospf = THREAD_ARG (thread); diff --git a/ospfd/ospf_spf.h b/ospfd/ospf_spf.h index 57f9d28b..1aa871ae 100644 --- a/ospfd/ospf_spf.h +++ b/ospfd/ospf_spf.h @@ -51,7 +51,7 @@ struct vertex_nexthop struct vertex *parent; /* parent in SPF tree */ }; -void ospf_spf_calculate_schedule (struct ospf *); -void ospf_rtrs_free (struct route_table *); +extern void ospf_spf_calculate_schedule (struct ospf *); +extern void ospf_rtrs_free (struct route_table *); /* void ospf_spf_calculate_timer_add (); */ diff --git a/ospfd/ospf_te.c b/ospfd/ospf_te.c index 582dc433..10a94b8d 100644 --- a/ospfd/ospf_te.c +++ b/ospfd/ospf_te.c @@ -201,7 +201,7 @@ del_mpls_te_link (void *val) } static u_int32_t -get_mpls_te_instance_value () +get_mpls_te_instance_value (void) { static u_int32_t seqno = 0; diff --git a/ospfd/ospf_vty.c b/ospfd/ospf_vty.c index 55b33150..2f0824a7 100644 --- a/ospfd/ospf_vty.c +++ b/ospfd/ospf_vty.c @@ -62,7 +62,7 @@ const static char *ospf_network_type_str[] = /* Utility functions. */ -int +static int ospf_str2area_id (const char *str, struct in_addr *area_id, int *format) { char *endptr = NULL; @@ -91,7 +91,7 @@ ospf_str2area_id (const char *str, struct in_addr *area_id, int *format) } -int +static int str2distribute_source (const char *str, int *source) { /* Sanity check. */ @@ -114,7 +114,7 @@ str2distribute_source (const char *str, int *source) return 1; } -int +static int str2metric (const char *str, int *metric) { /* Sanity check. */ @@ -131,7 +131,7 @@ str2metric (const char *str, int *metric) return 1; } -int +static int str2metric_type (const char *str, int *metric_type) { /* Sanity check. */ @@ -471,7 +471,7 @@ DEFUN (ospf_area_range, ospf_area_range_set (ospf, area_id, &p, OSPF_AREA_RANGE_ADVERTISE); if (argc > 2) { - VTY_GET_UINT32 ("range cost", cost, argv[2]); + VTY_GET_INTEGER ("range cost", cost, argv[2]); ospf_area_range_cost_set (ospf, area_id, &p, cost); } @@ -679,7 +679,7 @@ struct ospf_vl_config_data { int dead_interval; }; -void +static void ospf_vl_config_data_init (struct ospf_vl_config_data *vl_config, struct vty *vty) { @@ -688,7 +688,7 @@ ospf_vl_config_data_init (struct ospf_vl_config_data *vl_config, vl_config->vty = vty; } -struct ospf_vl_data * +static struct ospf_vl_data * ospf_find_vl_data (struct ospf *ospf, struct ospf_vl_config_data *vl_config) { struct ospf_area *area; @@ -737,7 +737,7 @@ ospf_find_vl_data (struct ospf *ospf, struct ospf_vl_config_data *vl_config) } -int +static int ospf_vl_set_security (struct ospf_vl_data *vl_data, struct ospf_vl_config_data *vl_config) { @@ -794,9 +794,7 @@ ospf_vl_set_security (struct ospf_vl_data *vl_data, return CMD_SUCCESS; } - - -int +static int ospf_vl_set_timers (struct ospf_vl_data *vl_data, struct ospf_vl_config_data *vl_config) { @@ -833,7 +831,7 @@ ospf_vl_set_timers (struct ospf_vl_data *vl_data, /* The business end of all of the above */ -int +static int ospf_vl_set (struct ospf *ospf, struct ospf_vl_config_data *vl_config) { struct ospf_vl_data *vl_data; @@ -1508,7 +1506,7 @@ DEFUN (no_ospf_area_stub_no_summary, return CMD_SUCCESS; } -int +static int ospf_area_nssa_cmd_handler (struct vty *vty, int argc, const char *argv[], int nosum) { @@ -2105,8 +2103,8 @@ DEFUN (ospf_timers_spf, struct ospf *ospf = vty->index; u_int32_t delay, hold; - VTY_GET_UINT32 ("SPF delay timer", delay, argv[0]); - VTY_GET_UINT32 ("SPF hold timer", hold, argv[1]); + VTY_GET_INTEGER ("SPF delay timer", delay, argv[0]); + VTY_GET_INTEGER ("SPF hold timer", hold, argv[1]); ospf_timers_spf_set (ospf, delay, hold); @@ -2384,7 +2382,7 @@ const char *ospf_shortcut_mode_descr_str[] = -void +static void show_ip_ospf_area (struct vty *vty, struct ospf_area *area) { /* Show Area ID. */ @@ -2723,7 +2721,7 @@ DEFUN (show_ip_ospf_interface, return CMD_SUCCESS; } -void +static void show_ip_ospf_neighbor_sub (struct vty *vty, struct ospf_interface *oi) { struct route_node *rn; @@ -2877,7 +2875,7 @@ DEFUN (show_ip_ospf_neighbor_int, return CMD_SUCCESS; } -void +static void show_ip_ospf_nbr_nbma_detail_sub (struct vty *vty, struct ospf_interface *oi, struct ospf_nbr_nbma *nbr_nbma) { @@ -2910,7 +2908,7 @@ show_ip_ospf_nbr_nbma_detail_sub (struct vty *vty, struct ospf_interface *oi, nbr_nbma->t_poll != NULL ? "on" : "off", VTY_NEWLINE); } -void +static void show_ip_ospf_neighbor_detail_sub (struct vty *vty, struct ospf_interface *oi, struct ospf_neighbor *nbr) { @@ -3139,7 +3137,7 @@ DEFUN (show_ip_ospf_neighbor_int_detail, /* Show functions */ -int +static int show_lsa_summary (struct vty *vty, struct ospf_lsa *lsa, int self) { struct router_lsa *rl; @@ -3252,7 +3250,7 @@ const char *show_lsa_flags[] = "Translated", }; -void +static void show_ip_ospf_database_header (struct vty *vty, struct ospf_lsa *lsa) { struct router_lsa *rlsa = (struct router_lsa*) lsa->data; @@ -3321,7 +3319,7 @@ const char *link_data_desc[] = }; /* Show router-LSA each Link information. */ -void +static void show_ip_ospf_database_router_links (struct vty *vty, struct router_lsa *rl) { @@ -3346,7 +3344,7 @@ show_ip_ospf_database_router_links (struct vty *vty, } /* Show router-LSA detail information. */ -int +static int show_router_lsa_detail (struct vty *vty, struct ospf_lsa *lsa) { if (lsa != NULL) @@ -3366,7 +3364,7 @@ show_router_lsa_detail (struct vty *vty, struct ospf_lsa *lsa) } /* Show network-LSA detail information. */ -int +static int show_network_lsa_detail (struct vty *vty, struct ospf_lsa *lsa) { int length, i; @@ -3393,7 +3391,7 @@ show_network_lsa_detail (struct vty *vty, struct ospf_lsa *lsa) } /* Show summary-LSA detail information. */ -int +static int show_summary_lsa_detail (struct vty *vty, struct ospf_lsa *lsa) { if (lsa != NULL) @@ -3413,7 +3411,7 @@ show_summary_lsa_detail (struct vty *vty, struct ospf_lsa *lsa) } /* Show summary-ASBR-LSA detail information. */ -int +static int show_summary_asbr_lsa_detail (struct vty *vty, struct ospf_lsa *lsa) { if (lsa != NULL) @@ -3433,7 +3431,7 @@ show_summary_asbr_lsa_detail (struct vty *vty, struct ospf_lsa *lsa) } /* Show AS-external-LSA detail information. */ -int +static int show_as_external_lsa_detail (struct vty *vty, struct ospf_lsa *lsa) { if (lsa != NULL) @@ -3461,7 +3459,7 @@ show_as_external_lsa_detail (struct vty *vty, struct ospf_lsa *lsa) } /* N.B. This function currently seems to be unused. */ -int +static int show_as_external_lsa_stdvty (struct ospf_lsa *lsa) { struct as_external_lsa *al = (struct as_external_lsa *) lsa->data; @@ -3486,7 +3484,7 @@ show_as_external_lsa_stdvty (struct ospf_lsa *lsa) } /* Show AS-NSSA-LSA detail information. */ -int +static int show_as_nssa_lsa_detail (struct vty *vty, struct ospf_lsa *lsa) { if (lsa != NULL) @@ -3513,14 +3511,14 @@ show_as_nssa_lsa_detail (struct vty *vty, struct ospf_lsa *lsa) return 0; } -int +static int show_func_dummy (struct vty *vty, struct ospf_lsa *lsa) { return 0; } #ifdef HAVE_OPAQUE_LSA -int +static int show_opaque_lsa_detail (struct vty *vty, struct ospf_lsa *lsa) { if (lsa != NULL) @@ -3552,7 +3550,7 @@ int (*show_function[])(struct vty *, struct ospf_lsa *) = #endif /* HAVE_OPAQUE_LSA */ }; -void +static void show_lsa_prefix_set (struct vty *vty, struct prefix_ls *lp, struct in_addr *id, struct in_addr *adv_router) { @@ -3573,7 +3571,7 @@ show_lsa_prefix_set (struct vty *vty, struct prefix_ls *lp, struct in_addr *id, } } -void +static void show_lsa_detail_proc (struct vty *vty, struct route_table *rt, struct in_addr *id, struct in_addr *adv_router) { @@ -3598,7 +3596,7 @@ show_lsa_detail_proc (struct vty *vty, struct route_table *rt, /* Show detail LSA information -- if id is NULL then show all LSAs. */ -void +static void show_lsa_detail (struct vty *vty, struct ospf *ospf, int type, struct in_addr *id, struct in_addr *adv_router) { @@ -3628,7 +3626,7 @@ show_lsa_detail (struct vty *vty, struct ospf *ospf, int type, } } -void +static void show_lsa_detail_adv_router_proc (struct vty *vty, struct route_table *rt, struct in_addr *adv_router) { @@ -3647,7 +3645,7 @@ show_lsa_detail_adv_router_proc (struct vty *vty, struct route_table *rt, } /* Show detail LSA information. */ -void +static void show_lsa_detail_adv_router (struct vty *vty, struct ospf *ospf, int type, struct in_addr *adv_router) { @@ -3679,7 +3677,7 @@ show_lsa_detail_adv_router (struct vty *vty, struct ospf *ospf, int type, } } -void +static void show_ip_ospf_database_summary (struct vty *vty, struct ospf *ospf, int self) { struct ospf_lsa *lsa; @@ -3750,7 +3748,7 @@ show_ip_ospf_database_summary (struct vty *vty, struct ospf *ospf, int self) vty_out (vty, "%s", VTY_NEWLINE); } -void +static void show_ip_ospf_database_maxage (struct vty *vty, struct ospf *ospf) { struct listnode *node; @@ -4547,7 +4545,7 @@ ALIAS (no_ip_ospf_cost, "OSPF interface commands\n" "Interface cost\n") -void +static void ospf_nbr_timer_update (struct ospf_interface *oi) { struct route_node *rn; @@ -6497,7 +6495,7 @@ DEFUN (no_ospf_distance_source_access_list, return CMD_SUCCESS; } -void +static void show_ip_ospf_route_network (struct vty *vty, struct route_table *rt) { struct route_node *rn; @@ -6550,7 +6548,7 @@ show_ip_ospf_route_network (struct vty *vty, struct route_table *rt) vty_out (vty, "%s", VTY_NEWLINE); } -void +static void show_ip_ospf_route_router (struct vty *vty, struct route_table *rtrs) { struct route_node *rn; @@ -6598,7 +6596,7 @@ show_ip_ospf_route_router (struct vty *vty, struct route_table *rtrs) vty_out (vty, "%s", VTY_NEWLINE); } -void +static void show_ip_ospf_route_external (struct vty *vty, struct route_table *rt) { struct route_node *rn; @@ -6729,7 +6727,7 @@ const char *ospf_shortcut_mode_str[] = }; -void +static void area_id2str (char *buf, int length, struct ospf_area *area) { memset (buf, 0, length); @@ -6753,7 +6751,7 @@ const char *ospf_int_type_str[] = }; /* Configuration write function for ospfd. */ -int +static int config_write_interface (struct vty *vty) { struct listnode *n1, *n2; @@ -6933,7 +6931,7 @@ config_write_interface (struct vty *vty) return write; } -int +static int config_write_network_area (struct vty *vty, struct ospf *ospf) { struct route_node *rn; @@ -6963,7 +6961,7 @@ config_write_network_area (struct vty *vty, struct ospf *ospf) return 0; } -int +static int config_write_ospf_area (struct vty *vty, struct ospf *ospf) { struct listnode *node; @@ -7065,7 +7063,7 @@ config_write_ospf_area (struct vty *vty, struct ospf *ospf) return 0; } -int +static int config_write_ospf_nbr_nbma (struct vty *vty, struct ospf *ospf) { struct ospf_nbr_nbma *nbr_nbma; @@ -7089,7 +7087,7 @@ config_write_ospf_nbr_nbma (struct vty *vty, struct ospf *ospf) return 0; } -int +static int config_write_virtual_link (struct vty *vty, struct ospf *ospf) { struct listnode *node; @@ -7155,7 +7153,7 @@ config_write_virtual_link (struct vty *vty, struct ospf *ospf) const char *distribute_str[] = { "system", "kernel", "connected", "static", "rip", "ripng", "ospf", "ospf6", "isis", "bgp"}; -int +static int config_write_ospf_redistribute (struct vty *vty, struct ospf *ospf) { int type; @@ -7180,7 +7178,7 @@ config_write_ospf_redistribute (struct vty *vty, struct ospf *ospf) return 0; } -int +static int config_write_ospf_default_metric (struct vty *vty, struct ospf *ospf) { if (ospf->default_metric != -1) @@ -7189,7 +7187,7 @@ config_write_ospf_default_metric (struct vty *vty, struct ospf *ospf) return 0; } -int +static int config_write_ospf_distribute (struct vty *vty, struct ospf *ospf) { int type; @@ -7229,7 +7227,7 @@ config_write_ospf_distribute (struct vty *vty, struct ospf *ospf) return 0; } -int +static int config_write_ospf_distance (struct vty *vty, struct ospf *ospf) { struct route_node *rn; @@ -7266,7 +7264,7 @@ config_write_ospf_distance (struct vty *vty, struct ospf *ospf) } /* OSPF configuration write function. */ -int +static int ospf_config_write (struct vty *vty) { struct ospf *ospf; @@ -7362,7 +7360,7 @@ ospf_config_write (struct vty *vty) } void -ospf_vty_show_init () +ospf_vty_show_init (void) { /* "show ip ospf" commands. */ install_element (VIEW_NODE, &show_ip_ospf_cmd); @@ -7421,8 +7419,8 @@ struct cmd_node interface_node = }; /* Initialization of OSPF interface. */ -void -ospf_vty_if_init () +static void +ospf_vty_if_init (void) { /* Install interface node. */ install_node (&interface_node, config_write_interface); @@ -7521,8 +7519,8 @@ struct cmd_node zebra_node = "%s(config-router)#", }; -void -ospf_vty_zebra_init () +static void +ospf_vty_zebra_init (void) { install_element (OSPF_NODE, &ospf_redistribute_source_type_metric_cmd); install_element (OSPF_NODE, &ospf_redistribute_source_metric_type_cmd); @@ -7623,7 +7621,7 @@ struct cmd_node ospf_node = /* Install OSPF related vty commands. */ void -ospf_vty_init () +ospf_vty_init (void) { /* Install ospf top node. */ install_node (&ospf_node, ospf_config_write); diff --git a/ospfd/ospf_vty.h b/ospfd/ospf_vty.h index 9f30e204..da0ed1cc 100644 --- a/ospfd/ospf_vty.h +++ b/ospfd/ospf_vty.h @@ -19,40 +19,10 @@ * 02111-1307, USA. */ -/* Macros. */ -#define VTY_GET_UINT32(NAME,V,STR) \ -{ \ - char *endptr = NULL; \ - (V) = strtoul ((STR), &endptr, 10); \ - if (*endptr != '\0' || ((V) == ULONG_MAX && errno == ERANGE)) \ - { \ - vty_out (vty, "%% Invalid %s value%s", NAME, VTY_NEWLINE); \ - return CMD_WARNING; \ - } \ -} - -#define VTY_GET_IPV4_ADDRESS(NAME,V,STR) \ -{ \ - int retv; \ - retv = inet_aton ((STR), &(V)); \ - if (!retv) \ - { \ - vty_out (vty, "%% Invalid %s value%s", NAME, VTY_NEWLINE); \ - return CMD_WARNING; \ - } \ -} - -#define VTY_GET_IPV4_PREFIX(NAME,V,STR) \ -{ \ - int retv; \ - retv = str2prefix_ipv4 ((STR), &(V)); \ - if (retv <= 0) \ - { \ - vty_out (vty, "%% Invalid %s value%s", NAME, VTY_NEWLINE); \ - return CMD_WARNING; \ - } \ -} +#ifndef _QUAGGA_OSPF_VTY_H +#define _QUAGGA_OSPF_VTY_H +/* Macros. */ #define VTY_GET_OSPF_AREA_ID(V,F,STR) \ { \ int retv; \ @@ -81,5 +51,7 @@ } /* Prototypes. */ -void ospf_vty_init (); -void ospf_vty_show_init (); +extern void ospf_vty_init (void); +extern void ospf_vty_show_init (void); + +#endif /* _QUAGGA_OSPF_VTY_H */ diff --git a/ospfd/ospf_zebra.c b/ospfd/ospf_zebra.c index 36e78774..9db89810 100644 --- a/ospfd/ospf_zebra.c +++ b/ospfd/ospf_zebra.c @@ -57,7 +57,7 @@ extern struct thread_master *master; struct in_addr router_id_zebra; /* Router-id update message from zebra. */ -int +static int ospf_router_id_update_zebra (int command, struct zclient *zclient, zebra_size_t length) { @@ -78,7 +78,7 @@ ospf_router_id_update_zebra (int command, struct zclient *zclient, } /* Inteface addition message from zebra. */ -int +static int ospf_interface_add (int command, struct zclient *zclient, zebra_size_t length) { struct interface *ifp; @@ -109,7 +109,7 @@ ospf_interface_add (int command, struct zclient *zclient, zebra_size_t length) return 0; } -int +static int ospf_interface_delete (int command, struct zclient *zclient, zebra_size_t length) { @@ -158,7 +158,7 @@ zebra_interface_if_lookup (struct stream *s) strnlen(ifname_tmp, INTERFACE_NAMSIZ)); } -int +static int ospf_interface_state_up (int command, struct zclient *zclient, zebra_size_t length) { @@ -220,7 +220,7 @@ ospf_interface_state_up (int command, struct zclient *zclient, return 0; } -int +static int ospf_interface_state_down (int command, struct zclient *zclient, zebra_size_t length) { @@ -246,7 +246,7 @@ ospf_interface_state_down (int command, struct zclient *zclient, return 0; } -int +static int ospf_interface_address_add (int command, struct zclient *zclient, zebra_size_t length) { @@ -269,7 +269,7 @@ ospf_interface_address_add (int command, struct zclient *zclient, return 0; } -int +static int ospf_interface_address_delete (int command, struct zclient *zclient, zebra_size_t length) { @@ -645,7 +645,7 @@ ospf_redistribute_default_unset (struct ospf *ospf) return CMD_SUCCESS; } -int +static int ospf_external_lsa_originate_check (struct ospf *ospf, struct external_info *ei) { @@ -770,7 +770,7 @@ ospf_routemap_unset (struct ospf *ospf, int type) } /* Zebra route add and delete treatment. */ -int +static int ospf_zebra_read_ipv4 (int command, struct zclient *zclient, zebra_size_t length) { @@ -916,17 +916,17 @@ ospf_distribute_list_out_unset (struct ospf *ospf, int type, const char *name) } /* distribute-list update timer. */ -int +static int ospf_distribute_list_update_timer (struct thread *thread) { struct route_node *rn; struct external_info *ei; struct route_table *rt; struct ospf_lsa *lsa; - int type; + intptr_t type; struct ospf *ospf; - type = (int) THREAD_ARG (thread); + type = (intptr_t)THREAD_ARG (thread); assert (type < ZEBRA_ROUTE_MAX); rt = EXTERNAL_INFO (type); @@ -977,7 +977,7 @@ ospf_distribute_list_update (struct ospf *ospf, int type) } /* If access-list is updated, apply some check. */ -void +static void ospf_filter_update (struct access_list *access) { struct ospf *ospf; @@ -1098,8 +1098,8 @@ ospf_prefix_list_update (struct prefix_list *plist) ospf_schedule_abr_task (ospf); } -struct ospf_distance * -ospf_distance_new () +static struct ospf_distance * +ospf_distance_new (void) { struct ospf_distance *new; new = XMALLOC (MTYPE_OSPF_DISTANCE, sizeof (struct ospf_distance)); @@ -1107,7 +1107,7 @@ ospf_distance_new () return new; } -void +static void ospf_distance_free (struct ospf_distance *odistance) { XFREE (MTYPE_OSPF_DISTANCE, odistance); diff --git a/ospfd/ospf_zebra.h b/ospfd/ospf_zebra.h index e8ad979e..7fe87b7f 100644 --- a/ospfd/ospf_zebra.h +++ b/ospfd/ospf_zebra.h @@ -40,37 +40,39 @@ struct ospf_distance }; /* Prototypes */ -void ospf_zclient_start (); +extern void ospf_zclient_start (void); -void ospf_zebra_add (struct prefix_ipv4 *, struct ospf_route *); -void ospf_zebra_delete (struct prefix_ipv4 *, struct ospf_route *); +extern void ospf_zebra_add (struct prefix_ipv4 *, struct ospf_route *); +extern void ospf_zebra_delete (struct prefix_ipv4 *, struct ospf_route *); -void ospf_zebra_add_discard (struct prefix_ipv4 *); -void ospf_zebra_delete_discard (struct prefix_ipv4 *); +extern void ospf_zebra_add_discard (struct prefix_ipv4 *); +extern void ospf_zebra_delete_discard (struct prefix_ipv4 *); -int ospf_default_originate_timer (struct thread *); +extern int ospf_default_originate_timer (struct thread *); -int ospf_redistribute_check (struct ospf *, struct external_info *, int *); -int ospf_distribute_check_connected (struct ospf *, struct external_info *); -void ospf_distribute_list_update (struct ospf *, int); +extern int ospf_redistribute_check (struct ospf *, struct external_info *, + int *); +extern int ospf_distribute_check_connected (struct ospf *, + struct external_info *); +extern void ospf_distribute_list_update (struct ospf *, int); -int ospf_is_type_redistributed (int); -void ospf_distance_reset (struct ospf *); -u_char ospf_distance_apply (struct prefix_ipv4 *, struct ospf_route *); +extern int ospf_is_type_redistributed (int); +extern void ospf_distance_reset (struct ospf *); +extern u_char ospf_distance_apply (struct prefix_ipv4 *, struct ospf_route *); -struct vty; - -int ospf_redistribute_set (struct ospf *, int, int, int); -int ospf_redistribute_unset (struct ospf *, int); -int ospf_redistribute_default_set (struct ospf *, int, int, int); -int ospf_redistribute_default_unset (struct ospf *); -int ospf_distribute_list_out_set (struct ospf *, int, const char *); -int ospf_distribute_list_out_unset (struct ospf *, int, const char *); -void ospf_routemap_set (struct ospf *, int, const char *); -void ospf_routemap_unset (struct ospf *, int); -int ospf_distance_set (struct vty *, struct ospf *, const char *, const char *, const char *); -int ospf_distance_unset (struct vty *, struct ospf *, const char *, const char *, const char *); -void ospf_zebra_init (); +extern int ospf_redistribute_set (struct ospf *, int, int, int); +extern int ospf_redistribute_unset (struct ospf *, int); +extern int ospf_redistribute_default_set (struct ospf *, int, int, int); +extern int ospf_redistribute_default_unset (struct ospf *); +extern int ospf_distribute_list_out_set (struct ospf *, int, const char *); +extern int ospf_distribute_list_out_unset (struct ospf *, int, const char *); +extern void ospf_routemap_set (struct ospf *, int, const char *); +extern void ospf_routemap_unset (struct ospf *, int); +extern int ospf_distance_set (struct vty *, struct ospf *, const char *, + const char *, const char *); +extern int ospf_distance_unset (struct vty *, struct ospf *, const char *, + const char *, const char *); +extern void ospf_zebra_init (void); #endif /* _ZEBRA_OSPF_ZEBRA_H */ diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c index cbc3d13d..30164d02 100644 --- a/ospfd/ospfd.c +++ b/ospfd/ospfd.c @@ -136,7 +136,7 @@ ospf_router_id_update_timer (struct thread *thread) } /* For OSPF area sort by area id. */ -int +static int ospf_area_id_cmp (struct ospf_area *a1, struct ospf_area *a2) { if (ntohl (a1->area_id.s_addr) > ntohl (a2->area_id.s_addr)) @@ -147,8 +147,8 @@ ospf_area_id_cmp (struct ospf_area *a1, struct ospf_area *a2) } /* Allocate new ospf structure. */ -struct ospf * -ospf_new () +static struct ospf * +ospf_new (void) { int i; @@ -228,13 +228,13 @@ ospf_lookup () return listgetdata (listhead (om->ospf)); } -void +static void ospf_add (struct ospf *ospf) { listnode_add (om->ospf, ospf); } -void +static void ospf_delete (struct ospf *ospf) { listnode_delete (om->ospf, ospf); @@ -418,7 +418,7 @@ ospf_finish (struct ospf *ospf) /* allocate new OSPF Area object */ -struct ospf_area * +static struct ospf_area * ospf_area_new (struct ospf *ospf, struct in_addr area_id) { struct ospf_area *new; @@ -567,7 +567,7 @@ ospf_area_del_if (struct ospf_area *area, struct ospf_interface *oi) /* Config network statement related functions. */ -struct ospf_network * +static struct ospf_network * ospf_network_new (struct in_addr area_id, int format) { struct ospf_network *new; @@ -903,7 +903,7 @@ struct message ospf_area_type_msg[] = }; int ospf_area_type_msg_max = OSPF_AREA_TYPE_MAX; -void +static void ospf_area_type_set (struct ospf_area *area, int type) { struct listnode *node; @@ -990,7 +990,7 @@ ospf_area_shortcut_unset (struct ospf *ospf, struct ospf_area *area) return 1; } -int +static int ospf_area_vlink_count (struct ospf *ospf, struct ospf_area *area) { struct ospf_vl_data *vl; @@ -1124,7 +1124,8 @@ ospf_area_nssa_translator_role_set (struct ospf *ospf, struct in_addr area_id, return 1; } -int +/* XXX: unused? Leave for symmetry? */ +static int ospf_area_nssa_translator_role_unset (struct ospf *ospf, struct in_addr area_id) { @@ -1273,8 +1274,8 @@ ospf_timers_refresh_unset (struct ospf *ospf) } -struct ospf_nbr_nbma * -ospf_nbr_nbma_new () +static struct ospf_nbr_nbma * +ospf_nbr_nbma_new (void) { struct ospf_nbr_nbma *nbr_nbma; @@ -1288,13 +1289,13 @@ ospf_nbr_nbma_new () return nbr_nbma; } -void +static void ospf_nbr_nbma_free (struct ospf_nbr_nbma *nbr_nbma) { XFREE (MTYPE_OSPF_NEIGHBOR_STATIC, nbr_nbma); } -void +static void ospf_nbr_nbma_delete (struct ospf *ospf, struct ospf_nbr_nbma *nbr_nbma) { struct route_node *rn; @@ -1314,7 +1315,7 @@ ospf_nbr_nbma_delete (struct ospf *ospf, struct ospf_nbr_nbma *nbr_nbma) } } -void +static void ospf_nbr_nbma_down (struct ospf_nbr_nbma *nbr_nbma) { OSPF_TIMER_OFF (nbr_nbma->t_poll); @@ -1329,7 +1330,7 @@ ospf_nbr_nbma_down (struct ospf_nbr_nbma *nbr_nbma) listnode_delete (nbr_nbma->oi->nbr_nbma, nbr_nbma); } -void +static void ospf_nbr_nbma_add (struct ospf_nbr_nbma *nbr_nbma, struct ospf_interface *oi) { diff --git a/ospfd/ospfd.h b/ospfd/ospfd.h index a1486956..8dae8f80 100644 --- a/ospfd/ospfd.h +++ b/ospfd/ospfd.h @@ -526,57 +526,66 @@ extern struct thread_master *master; extern int ospf_zlog; /* Prototypes. */ -struct ospf *ospf_lookup (); -struct ospf *ospf_get (); -void ospf_finish (struct ospf *); -int ospf_router_id_update_timer (struct thread *); -void ospf_router_id_update (); -int ospf_network_match_iface (struct connected *, struct prefix *); -int ospf_network_set (struct ospf *, struct prefix_ipv4 *, struct in_addr); -int ospf_network_unset (struct ospf *, struct prefix_ipv4 *, struct in_addr); -int ospf_area_stub_set (struct ospf *, struct in_addr); -int ospf_area_stub_unset (struct ospf *, struct in_addr); -int ospf_area_no_summary_set (struct ospf *, struct in_addr); -int ospf_area_no_summary_unset (struct ospf *, struct in_addr); -int ospf_area_nssa_set (struct ospf *, struct in_addr); -int ospf_area_nssa_unset (struct ospf *, struct in_addr); -int ospf_area_nssa_translator_role_set (struct ospf *, struct in_addr, int); -int ospf_area_export_list_set (struct ospf *, struct ospf_area *, const char *); -int ospf_area_export_list_unset (struct ospf *, struct ospf_area *); -int ospf_area_import_list_set (struct ospf *, struct ospf_area *, const char *); -int ospf_area_import_list_unset (struct ospf *, struct ospf_area *); -int ospf_area_shortcut_set (struct ospf *, struct ospf_area *, int); -int ospf_area_shortcut_unset (struct ospf *, struct ospf_area *); -int ospf_timers_spf_set (struct ospf *, u_int32_t, u_int32_t); -int ospf_timers_spf_unset (struct ospf *); -int ospf_timers_refresh_set (struct ospf *, int); -int ospf_timers_refresh_unset (struct ospf *); -int ospf_nbr_nbma_set (struct ospf *, struct in_addr); -int ospf_nbr_nbma_unset (struct ospf *, struct in_addr); -int ospf_nbr_nbma_priority_set (struct ospf *, struct in_addr, u_char); -int ospf_nbr_nbma_priority_unset (struct ospf *, struct in_addr); -int ospf_nbr_nbma_poll_interval_set (struct ospf *, struct in_addr, unsigned int); -int ospf_nbr_nbma_poll_interval_unset (struct ospf *, struct in_addr); -void ospf_prefix_list_update (struct prefix_list *); -void ospf_init (); -void ospf_if_update (struct ospf *); -void ospf_ls_upd_queue_empty (struct ospf_interface *); -void ospf_terminate (); -void ospf_nbr_nbma_if_update (struct ospf *, struct ospf_interface *); -struct ospf_nbr_nbma *ospf_nbr_nbma_lookup (struct ospf *, struct in_addr); -struct ospf_nbr_nbma *ospf_nbr_nbma_lookup_next (struct ospf *, - struct in_addr *, int); -int ospf_oi_count (struct interface *); - -struct ospf_area *ospf_area_get (struct ospf *, struct in_addr, int); -void ospf_area_check_free (struct ospf *, struct in_addr); -struct ospf_area *ospf_area_lookup_by_area_id (struct ospf *, struct in_addr); -void ospf_area_add_if (struct ospf_area *, struct ospf_interface *); -void ospf_area_del_if (struct ospf_area *, struct ospf_interface *); - -void ospf_route_map_init (); -void ospf_snmp_init (); - -void ospf_master_init (); +extern struct ospf *ospf_lookup (void); +extern struct ospf *ospf_get (void); +extern void ospf_finish (struct ospf *); +extern int ospf_router_id_update_timer (struct thread *); +extern void ospf_router_id_update (struct ospf *ospf); +extern int ospf_network_match_iface (struct connected *, struct prefix *); +extern int ospf_network_set (struct ospf *, struct prefix_ipv4 *, + struct in_addr); +extern int ospf_network_unset (struct ospf *, struct prefix_ipv4 *, + struct in_addr); +extern int ospf_area_stub_set (struct ospf *, struct in_addr); +extern int ospf_area_stub_unset (struct ospf *, struct in_addr); +extern int ospf_area_no_summary_set (struct ospf *, struct in_addr); +extern int ospf_area_no_summary_unset (struct ospf *, struct in_addr); +extern int ospf_area_nssa_set (struct ospf *, struct in_addr); +extern int ospf_area_nssa_unset (struct ospf *, struct in_addr); +extern int ospf_area_nssa_translator_role_set (struct ospf *, struct in_addr, + int); +extern int ospf_area_export_list_set (struct ospf *, struct ospf_area *, + const char *); +extern int ospf_area_export_list_unset (struct ospf *, struct ospf_area *); +extern int ospf_area_import_list_set (struct ospf *, struct ospf_area *, + const char *); +extern int ospf_area_import_list_unset (struct ospf *, struct ospf_area *); +extern int ospf_area_shortcut_set (struct ospf *, struct ospf_area *, int); +extern int ospf_area_shortcut_unset (struct ospf *, struct ospf_area *); +extern int ospf_timers_spf_set (struct ospf *, u_int32_t, u_int32_t); +extern int ospf_timers_spf_unset (struct ospf *); +extern int ospf_timers_refresh_set (struct ospf *, int); +extern int ospf_timers_refresh_unset (struct ospf *); +extern int ospf_nbr_nbma_set (struct ospf *, struct in_addr); +extern int ospf_nbr_nbma_unset (struct ospf *, struct in_addr); +extern int ospf_nbr_nbma_priority_set (struct ospf *, struct in_addr, u_char); +extern int ospf_nbr_nbma_priority_unset (struct ospf *, struct in_addr); +extern int ospf_nbr_nbma_poll_interval_set (struct ospf *, struct in_addr, + unsigned int); +extern int ospf_nbr_nbma_poll_interval_unset (struct ospf *, struct in_addr); +extern void ospf_prefix_list_update (struct prefix_list *); +extern void ospf_init (void); +extern void ospf_if_update (struct ospf *); +extern void ospf_ls_upd_queue_empty (struct ospf_interface *); +extern void ospf_terminate (void); +extern void ospf_nbr_nbma_if_update (struct ospf *, struct ospf_interface *); +extern struct ospf_nbr_nbma *ospf_nbr_nbma_lookup (struct ospf *, + struct in_addr); +extern struct ospf_nbr_nbma *ospf_nbr_nbma_lookup_next (struct ospf *, + struct in_addr *, + int); +extern int ospf_oi_count (struct interface *); + +extern struct ospf_area *ospf_area_get (struct ospf *, struct in_addr, int); +extern void ospf_area_check_free (struct ospf *, struct in_addr); +extern struct ospf_area *ospf_area_lookup_by_area_id (struct ospf *, + struct in_addr); +extern void ospf_area_add_if (struct ospf_area *, struct ospf_interface *); +extern void ospf_area_del_if (struct ospf_area *, struct ospf_interface *); + +extern void ospf_route_map_init (void); +extern void ospf_snmp_init (void); + +extern void ospf_master_init (void); #endif /* _ZEBRA_OSPFD_H */ |