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_ZEBRA_H 23 #define OSPF6_ZEBRA_H 24 25 #include "zclient.h" 26 #include "ospf6_top.h" 27 28 /* Debug option */ 29 extern unsigned char conf_debug_ospf6_zebra; 30 #define OSPF6_DEBUG_ZEBRA_SEND 0x01 31 #define OSPF6_DEBUG_ZEBRA_RECV 0x02 32 #define OSPF6_DEBUG_ZEBRA_ON(level) \ 33 (conf_debug_ospf6_zebra |= level) 34 #define OSPF6_DEBUG_ZEBRA_OFF(level) \ 35 (conf_debug_ospf6_zebra &= ~(level)) 36 #define IS_OSPF6_DEBUG_ZEBRA(e) \ 37 (conf_debug_ospf6_zebra & OSPF6_DEBUG_ZEBRA_ ## e) 38 39 /* OSPF6 distance */ 40 struct ospf6_distance 41 { 42 /* Distance value for the IP source prefix */ 43 u_char distance; 44 45 /* Name of the access-list to be matched */ 46 char *access_list; 47 }; 48 49 extern struct zclient *zclient; 50 51 extern void ospf6_zebra_route_update_add (struct ospf6_route *request); 52 extern void ospf6_zebra_route_update_remove (struct ospf6_route *request); 53 54 extern void ospf6_zebra_redistribute (int); 55 extern void ospf6_zebra_no_redistribute (int); 56 #define ospf6_zebra_is_redistribute(type) \ 57 vrf_bitmap_check (zclient->redist[type], VRF_DEFAULT) 58 59 extern void ospf6_distance_reset (struct ospf6 *); 60 extern u_char ospf6_distance_apply (struct ospf6_route *, 61 struct ospf6 *); 62 extern int ospf6_distance_set (struct vty *, struct ospf6 *, const char *, 63 const char *, const char *); 64 extern int ospf6_distance_unset (struct vty *, struct ospf6 *, const char *, 65 const char *); 66 67 extern void ospf6_zebra_init(struct thread_master *); 68 69 extern int config_write_ospf6_debug_zebra (struct vty *vty); 70 extern void install_element_ospf6_debug_zebra (void); 71 72 #endif /*OSPF6_ZEBRA_H*/ 73