]>
git.proxmox.com Git - mirror_frr.git/blob - ospf6d/ospf6_zebra.h
2 * Copyright (C) 2003 Yasuhiro Ohara
4 * This file is part of GNU Zebra.
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
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.
16 * You should have received a copy of the GNU General Public License along
17 * with this program; see the file COPYING; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
26 #define DEFAULT_ROUTE ZEBRA_ROUTE_MAX
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) (conf_debug_ospf6_zebra |= level)
33 #define OSPF6_DEBUG_ZEBRA_OFF(level) (conf_debug_ospf6_zebra &= ~(level))
34 #define IS_OSPF6_DEBUG_ZEBRA(e) (conf_debug_ospf6_zebra & OSPF6_DEBUG_ZEBRA_##e)
37 struct ospf6_distance
{
38 /* Distance value for the IP source prefix */
41 /* Name of the access-list to be matched */
45 extern struct zclient
*zclient
;
48 extern void ospf6_zebra_route_update_add(struct ospf6_route
*request
,
50 extern void ospf6_zebra_route_update_remove(struct ospf6_route
*request
,
53 extern void ospf6_zebra_redistribute(int, vrf_id_t vrf_id
);
54 extern void ospf6_zebra_no_redistribute(int, vrf_id_t vrf_id
);
55 #define ospf6_zebra_is_redistribute(type, vrf_id) \
56 vrf_bitmap_check(zclient->redist[AFI_IP6][type], vrf_id)
57 extern void ospf6_zebra_init(struct thread_master
*tm
);
58 extern void ospf6_zebra_add_discard(struct ospf6_route
*request
,
60 extern void ospf6_zebra_delete_discard(struct ospf6_route
*request
,
63 extern void ospf6_distance_reset(struct ospf6
*ospf6
);
64 extern uint8_t ospf6_distance_apply(struct prefix_ipv6
*p
,
65 struct ospf6_route
* or,
68 extern int ospf6_zebra_gr_enable(struct ospf6
*ospf6
, uint32_t stale_time
);
69 extern int ospf6_zebra_gr_disable(struct ospf6
*ospf6
);
70 extern int ospf6_distance_set(struct vty
*vty
, struct ospf6
*ospf6
,
71 const char *distance_str
, const char *ip_str
,
72 const char *access_list_str
);
73 extern int ospf6_distance_unset(struct vty
*vty
, struct ospf6
*ospf6
,
74 const char *distance_str
, const char *ip_str
,
75 const char *access_list_str
);
77 extern int config_write_ospf6_debug_zebra(struct vty
*vty
);
78 extern void install_element_ospf6_debug_zebra(void);
79 extern void ospf6_zebra_vrf_register(struct ospf6
*ospf6
);
80 extern void ospf6_zebra_vrf_deregister(struct ospf6
*ospf6
);
81 #endif /*OSPF6_ZEBRA_H*/