📄 ospf_prototypes.h
字号:
enum BOOLEAN on_new_external_lsa_received_path);void ospf_translate_type_7_routes_into_type_5_lsa (void);void ospf_invalidate_type_7_route_entry (OSPF_TYPE_7_LINK_ADVERTISEMENT_HEADER *sptr_type_7);#endif/* SPR 85050 -- Begin */enum BOOLEAN ospf_compare_costs_of_external_lsdb_entries (ULONG new_metric, ULONG metric);/* SPR 85050 -- End *//****************//* ospf_flood.c *//****************/enum BOOLEAN ospf_flood_advertisement_out_some_subset_of_the_routers_interfaces (OSPF_ROUTER_LINK_ADVERTISEMENT_HEADER *sptr_advertisement, OSPF_AREA_ENTRY *sptr_area,OSPF_INTERFACE *sptr_interface_advertisement_received_on,OSPF_NEIGHBOR *sptr_neighbor_advertisement_received_from, enum BOOLEAN advertisement_installed);/****************//* ospf_hello.c *//****************/void ospf_send_hello (OSPF_INTERFACE *sptr_interface,OSPF_NEIGHBOR *sptr_neighbor,enum BOOLEAN goingdown);enum OSPF_PACKET_STATE ospf_hello_packet_received (OSPF_HELLO_HEADER *sptr_hello,OSPF_NEIGHBOR *sptr_new_neighbor, OSPF_INTERFACE *sptr_interface,ULONG source_address,ULONG router_id,ULONG size_of_packet,ULONG cryptographic_sequence_number);void ospf_set_neighbor_fields (OSPF_NEIGHBOR *sptr_neighbor,ULONG router_id,ULONG address,ULONG cryptographic_sequence_number, OSPF_INTERFACE *sptr_interface,USHORT priority,BYTE options,enum OSPF_NEIGHBOR_STATE state);/* SPR#76812 */void ospf_hello_timer_initialize (void);/*************************//* ospf_initialization.c *//*************************/enum TEST ospf_initialize_router (ULONG clock_ticks_per_second);void ospf_assign_vx_interface_to_port_numbers (void);void ospf_put_an_interface_on_areas_interface_list(OSPF_AREA_ENTRY *sptr_area, OSPF_INTERFACE *sptr_interface);/* Wrapped it with __RAW_SOCKET define */void ospf_multicast_group_request( ULONG ipAddr, ULONG multicastAddr, int request );/* NOTE: changed from void returned type to TEST */enum TEST ospf_add_entry_to_hosts_list (OSPF_INTERFACE *sptr_interface, BOOL dynamic);enum TEST ospf_add_entry_to_virtual_link_list (OSPF_INTERFACE *sptr_interface, BOOL dynamic);OSPF_AREA_ENTRY* ospf_create_pseudo_area_for_virtual_link (OSPF_INTERFACE *sptr_interface);void ospfShutdown (void);/*************************//* ospf_vx_ip_adaptation.c *//*************************//*raw socket - New socket interface function jkw*/int ospf_vx_ip_receive_socket_input (void);void ospf_vx_ip_output (OSPF_HEADER *sptr_packet, ULONG source_address, bool flag_multicast, ULONG destination_address, ULONG length /* in host order */, enum BOOLEAN free_packet);struct mbuf * ospf_get_an_ip_get_packet (void);/*raw socket - End of changes*/int ospf_vx_ip_user_request_processing (struct socket *socket_handle, int type_of_request, struct mbuf *message_block, struct mbuf *name, struct mbuf *control);int ospf_vx_ip_receive_input(OSPF_PACKET *ospf_packet, ULONG rcvif_handle);int ospf_ctloutput (int option, struct socket *socket_handle, int level, int option_name, struct mbuf **p_message_block);void ospf_vx_ip_output (OSPF_HEADER *sptr_packet, ULONG source_address, bool flag_multicast, ULONG destination_address, ULONG length /* in host order */, enum BOOLEAN free_packet);enum TEST ospf_vx_ip_attach (struct socket *socket_handle);enum TEST ospf_vx_ip_detach ( ULONG source_address);void ospf_indicate_lower_level_interface_state_change (OSPF_INTERFACE* sptr_ospf_interface, bool new_state);/* for tOspfRecv task*//* Added change as per TMS PR # 1652 */int ospfReceive( void );/***************************************//* ospf_inter_area_route_calculation.c *//***************************************/void ospf_calculate_inter_area_routes (OSPF_AREA_ENTRY *sptr_area);enum BOOLEAN ospf_calculate_inter_area_routes_for_a_single_summary_advertisement (OSPF_ADVERTISEMENT_NODE *sptr_advertisement_node, OSPF_AREA_ENTRY *sptr_area, enum BOOLEAN new_summary_lsa_received);void ospf_invalidate_inter_area_route_entry (OSPF_SUMMARY_LINK_ADVERTISEMENT_HEADER *sptr_advertisement_node, OSPF_AREA_ENTRY *sptr_area);/********************//* ospf_interface.c *//********************/void ospf_bring_up_interface (OSPF_INTERFACE *sptr_interface);void ospf_initialize_interface (OSPF_INTERFACE *sptr_interface, BOOL dynamic);enum BOOLEAN ospf_is_if_up (ULONG ip_address);enum BOOLEAN check_if_status( unsigned short if_index );enum BOOLEAN ospf_is_if_unnumbered_up(OSPF_INTERFACE *sptr_interface);/********************************//* ospf_raw_socket_interface.c *//********************************/enum TEST ospf_raw_socket_create (void);enum TEST ospf_send_to_raw_ip_packet (void *vptr_packet, UINT packet_length, UINT destination_address);enum TEST ospf_read_and_process_packet_from_sockets (void);void ospf_poll_for_packets_on_raw_sockets (void);/********************************//* legacy ip functions to be deleted later *//********************************/USHORT calculate_ip_checksum (PSEUDO_IP_PARAMETERS *sptr_pseudo_header, BYTE *bptr_start_from, USHORT length);/***************************//* ospf_interface_events.c *//***************************/void ospf_process_interface_up_event (OSPF_INTERFACE *sptr_interface);void ospf_process_interface_wait_timer_event (OSPF_INTERFACE *sptr_interface);void ospf_process_interface_backup_seen_event (OSPF_INTERFACE *sptr_interface);void ospf_process_interface_neighbor_change_event (OSPF_INTERFACE *sptr_interface);void ospf_process_interface_loop_indication_event (OSPF_INTERFACE *sptr_interface);void ospf_process_interface_unloop_indication_event (OSPF_INTERFACE *sptr_interface);void ospf_process_interface_down_event (OSPF_INTERFACE *sptr_interface);void ospf_reset_interface_variables_and_timers_and_destroy_all_associated_neighbor_connections (OSPF_INTERFACE *sptr_interface, enum OSPF_INTERFACE_EVENT event,enum OSPF_INTERFACE_STATE new_state);/**********************************//* ospf_interface_state_machine.c *//**********************************/void ospf_execute_interface_state_machine (enum OSPF_INTERFACE_EVENT event,enum OSPF_INTERFACE_STATE state,OSPF_INTERFACE *sptr_interface);/************************************//* ospf_link_state_advertisements.c *//************************************/void ospf_originate_new_instance_of_the_link_state_advertisement (OSPF_LS_DATABASE_ENTRY *sptr_database_entry,OSPF_AREA_ENTRY *sptr_area, enum BOOLEAN first_pass_external);void ospf_originate_router_links_advertisement (OSPF_AREA_ENTRY *sptr_area);void ospf_originate_network_links_advertisement (OSPF_INTERFACE *sptr_interface);void ospf_originate_summary_links_advertisement (OSPF_AREA_ENTRY *sptr_area);void ospf_originate_a_single_summary_links_advertisement (OSPF_ROUTING_TABLE_ENTRY *sptr_routing_table_entry,OSPF_AREA_ENTRY *sptr_area, enum BOOLEAN prematurely_age_advertisement);void ospf_originate_default_summary_link_into_the_area (OSPF_AREA_ENTRY *sptr_area, enum BOOLEAN prematurely_age_advertisement);void ospf_originate_external_links_advertisement (OSPF_EXTERNAL_ROUTE *sptr_external_route);#if defined (__NSSA__)OSPF_EXTERNAL_ROUTE *ospf_translate_routing_table_entry_to_external_route (OSPF_ROUTING_TABLE_ENTRY *sptr_routing_table_entry, enum BOOLEAN set_forwarding_address);void ospf_originate_external_links_advertisement_from_type_7_route (OSPF_EXTERNAL_ROUTE *sptr_external_route);void ospf_originate_type_7_links_advertisement (OSPF_EXTERNAL_ROUTE *sptr_external_route);#endif /*__NSSA__*//*opaque lsa prototypes for originating opaque lsas jkw*/#if defined (__OPAQUE_LSA__)void ospf_originate_type_9_links_advertisement (OSPF_INTERFACE *sptr_interface, BYTE lsa_type, ULONG opaque_lsid, void *data, USHORT data_size, USHORT age);void ospf_originate_type_10_links_advertisement (OSPF_AREA_ENTRY *sptr_area, BYTE lsa_type, ULONG opaque_lsid, void *data, USHORT data_size, USHORT age);void ospf_originate_type_11_links_advertisement (OSPF_INTERFACE *sptr_interface, BYTE lsa_type, ULONG opaque_lsid, void *data, USHORT data_size, USHORT age);#endif /* __OPAQUE_LSA__ */OSPF_ROUTER_LSA_LINK *ospfRetrieveRouterLsa(enum OSPF_SEARCH_TYPE key, ULONG key_value, ULONG area_id);OSPF_NETWORK_LSA_LINK *ospfRetrieveNetworkLsa(enum OSPF_SEARCH_TYPE key, ULONG key_value, ULONG area_id);OSPF_SUMMARY_LSA_LINK *ospfRetrieveNetSum(enum OSPF_SEARCH_TYPE key, ULONG key_value, ULONG area_id);OSPF_SUMMARY_LSA_LINK *ospfRetrieveAsbrSum(enum OSPF_SEARCH_TYPE key, ULONG key_value, ULONG area_id);OSPF_EXTERNAL_LSA_LINK *ospfRetrieveExternalLsa(enum OSPF_SEARCH_TYPE key, ULONG key_value);#if defined (__NSSA__)OSPF_TYPE_7_LSA_LINK *ospfRetrieveType7(enum OSPF_SEARCH_TYPE key, ULONG key_value);#endif /* __NSSA__ *//* SPR 88613 Begin*/ULONG ospf_get_metric_cost_of_address_range ( OSPF_ADDRESS_RANGE_LIST_ENTRY *sptr_address_range );ULONG ospf_get_metric_cost_of_address_range_with_head ( OSPF_ADDRESS_RANGE_LIST_ENTRY *sptr_address_range, OSPF_ROUTING_TABLE_NODE *sptr_routing_table_node[OSPF_ROUTE_TABLE_MAX][OSPF_RT_HASH_TABLE_SIZE] );BOOLEAN ospf_is_address_range_active ( OSPF_ADDRESS_RANGE_LIST_ENTRY *sptr_address_range );void ospf_generate_summary_lsa_for_address_range ( OSPF_ADDRESS_RANGE_LIST_ENTRY *addr_range, enum BOOLEAN prematurely_age );void ospf_advertise_lsas_contained_in_address_range ( OSPF_ADDRESS_RANGE_LIST_ENTRY *sptr_address_range, BOOLEAN prematurely_age );/* SPR 88613 End *//******************************//* ospf_link_state_database.c *//******************************//* SPR 85050 */OSPF_LS_DATABASE_ENTRY *ospf_install_a_new_advertisement_in_the_link_state_database (OSPF_LS_DATABASE_ENTRY *sptr_old_instance, UNION_OSPF_LINK_STATE_ADVERTISEMENT *sptr_advertisement,OSPF_AREA_ENTRY *sptr_area, enum TEST* different_lsa, int route_protocol);OSPF_LS_DATABASE_ENTRY *ospf_find_LSA (OSPF_AREA_ENTRY *sptr_area,ULONG id,ULONG advertising_router,BYTE_ENUM (OSPF_LS_TYPE) type);OSPF_LS_DATABASE_ENTRY *ospf_find_network_LSA (OSPF_AREA_ENTRY *sptr_area,ULONG id);OSPF_LS_DATABASE_ENTRY *ospf_free_database_entry (OSPF_LS_DATABASE_ENTRY *sptr_database_entry);int ospfAvlLsdbCompare (void *node, GENERIC_ARGUMENT key);enum TEST ospf_check_if_previous_instance_exists (OSPF_LS_DATABASE_ENTRY *sptr_old_instance);enum TEST ospf_check_if_new_advertisement_is_different_from_its_previous_instance (UNION_OSPF_LINK_STATE_ADVERTISEMENT *sptr_advertisement, OSPF_LS_DATABASE_ENTRY *sptr_old_instance);void ospf_flush_the_link_state_database_of_router_lsa ();void ospf_flush_the_link_state_database_of_network_lsa ();void ospf_flush_the_link_state_database_of_network_summary_lsa ();void ospf_flush_the_link_state_database_of_asbr_summary_lsa ();#if defined (__NSSA__)void ospf_flush_the_link_state_database_of_type_7_lsa ();#endif /* __NSSA__ */void ospf_flush_the_link_state_database_of_external_lsa ();void ospf_flush_the_link_state_database_of_self_originated_external_lsa ( ULONG route_protocol, enum BOOLEAN is_default_route);void ospf_flush_lsdb_of_external_lsas_associated_with_neighbor ( OSPF_NEIGHBOR * sptr_neighbor);/**************************//* ospf_neighbor_events.c *//**************************/void ospf_process_neighbor_hello_received_event (OSPF_INTERFACE *sptr_interface,OSPF_NEIGHBOR *sptr_neighbor,enum OSPF_NEIGHBOR_EVENT event);void ospf_process_neighbor_start_event (OSPF_INTERFACE *sptr_interface, OSPF_NEIGHBOR *sptr_neighbor,enum OSPF_NEIGHBOR_EVENT event);void ospf_process_neighbor_2_way_received_event (OSPF_INTERFACE *sptr_interface,OSPF_NEIGHBOR *sptr_neighbor,enum OSPF_NEIGHBOR_EVENT event);void ospf_process_neighbor_negotiation_done_event (OSPF_INTERFACE *sptr_interface,OSPF_NEIGHBOR *sptr_neighbor,enum OSPF_NEIGHBOR_EVENT event);void ospf_process_neighbor_exchange_done_event (OSPF_INTERFACE *sptr_interface,OSPF_NEIGHBOR *sptr_neighbor,enum OSPF_NEIGHBOR_EVENT event);void ospf_process_neighbor_loading_done_event (OSPF_INTERFACE *sptr_interface,OSPF_NEIGHBOR *sptr_neighbor,enum OSPF_NEIGHBOR_EVENT event);void ospf_start_forming_an_adjacency_with_the_neighbor (OSPF_INTERFACE *sptr_interface,OSPF_NEIGHBOR *sptr_neighbor,enum OSPF_NEIGHBOR_EVENT event);void ospf_maintain_or_destroy_existing_adjacency (OSPF_INTERFACE *sptr_interface,OSPF_NEIGHBOR *sptr_neighbor,enum OSPF_NEIGHBOR_EVENT event);void ospf_tear_down_and_reestablish_adjacency (OSPF_INTERFACE *sptr_interface,OSPF_NEIGHBOR *sptr_neighbor,enum OSPF_NEIGHBOR_EVENT event);void ospf_process_neighbor_1_way_received_event (OSPF_INTERFACE *sptr_interface,OSPF_NEIGHBOR *sptr_neighbor,enum OSPF_NEIGHBOR_EVENT event);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -