1/* 2 * Copyright (C) 2003 Yasuhiro Ohara 3 * 4 * This file is part of GNU Zebra. 5 * 6 * GNU Zebra is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License as published by the 8 * Free Software Foundation; either version 2, or (at your option) any 9 * later version. 10 * 11 * GNU Zebra is distributed in the hope that it will be useful, but 12 * WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with GNU Zebra; see the file COPYING. If not, write to the 18 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 * Boston, MA 02111-1307, USA. 20 */ 21 22#ifndef OSPF6_FLOOD_H 23#define OSPF6_FLOOD_H 24 25/* Debug option */ 26extern unsigned char conf_debug_ospf6_flooding; 27#define OSPF6_DEBUG_FLOODING_ON() \ 28 (conf_debug_ospf6_flooding = 1) 29#define OSPF6_DEBUG_FLOODING_OFF() \ 30 (conf_debug_ospf6_flooding = 0) 31#define IS_OSPF6_DEBUG_FLOODING \ 32 (conf_debug_ospf6_flooding) 33 34/* Function Prototypes */ 35extern struct ospf6_lsdb *ospf6_get_scoped_lsdb (struct ospf6_lsa *lsa); 36extern struct ospf6_lsdb *ospf6_get_scoped_lsdb_self (struct ospf6_lsa *lsa); 37 38/* origination & purging */ 39extern void ospf6_lsa_originate (struct ospf6_lsa *lsa); 40extern void ospf6_lsa_originate_process (struct ospf6_lsa *lsa, 41 struct ospf6 *process); 42extern void ospf6_lsa_originate_area (struct ospf6_lsa *lsa, 43 struct ospf6_area *oa); 44extern void ospf6_lsa_originate_interface (struct ospf6_lsa *lsa, 45 struct ospf6_interface *oi); 46extern void ospf6_lsa_purge (struct ospf6_lsa *lsa); 47 48/* access method to retrans_count */ 49extern void ospf6_increment_retrans_count (struct ospf6_lsa *lsa); 50extern void ospf6_decrement_retrans_count (struct ospf6_lsa *lsa); 51 52/* flooding & clear flooding */ 53extern void ospf6_flood_clear (struct ospf6_lsa *lsa); 54extern void ospf6_flood (struct ospf6_neighbor *from, struct ospf6_lsa *lsa); 55 56/* receive & install */ 57extern void ospf6_receive_lsa (struct ospf6_neighbor *from, 58 struct ospf6_lsa_header *header); 59extern void ospf6_install_lsa (struct ospf6_lsa *lsa); 60 61extern int config_write_ospf6_debug_flood (struct vty *vty); 62extern void install_element_ospf6_debug_flood (void); 63 64#endif /* OSPF6_FLOOD_H */ 65 66 67