blob: 51eb9d7d5abf23b3094691679e230a969d2a9f46 [file] [log] [blame]
paul718e3742002-12-13 20:15:29 +00001/*
hasso508e53e2004-05-18 18:57:06 +00002 * Copyright (C) 2003 Yasuhiro Ohara
paul718e3742002-12-13 20:15:29 +00003 *
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
hasso508e53e2004-05-18 18:57:06 +000025#include "zclient.h"
Roman Hoog Antinkd8f7f862014-03-05 09:13:43 +010026#include "ospf6_top.h"
hasso508e53e2004-05-18 18:57:06 +000027
28/* Debug option */
29extern 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
Roman Hoog Antinkd8f7f862014-03-05 09:13:43 +010039/* OSPF6 distance */
40struct 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
paul718e3742002-12-13 20:15:29 +000049extern struct zclient *zclient;
50
Paul Jakma6ac29a52008-08-15 13:45:30 +010051extern void ospf6_zebra_route_update_add (struct ospf6_route *request);
52extern void ospf6_zebra_route_update_remove (struct ospf6_route *request);
hasso508e53e2004-05-18 18:57:06 +000053
Paul Jakma6ac29a52008-08-15 13:45:30 +010054extern void ospf6_zebra_redistribute (int);
55extern void ospf6_zebra_no_redistribute (int);
Feng Luc99f3482014-10-16 09:52:36 +080056#define ospf6_zebra_is_redistribute(type) \
57 vrf_bitmap_check (zclient->redist[type], VRF_DEFAULT)
Roman Hoog Antinkd8f7f862014-03-05 09:13:43 +010058
59extern void ospf6_distance_reset (struct ospf6 *);
60extern u_char ospf6_distance_apply (struct ospf6_route *,
61 struct ospf6 *);
62extern int ospf6_distance_set (struct vty *, struct ospf6 *, const char *,
63 const char *, const char *);
64extern int ospf6_distance_unset (struct vty *, struct ospf6 *, const char *,
65 const char *);
66
Donald Sharp71252932015-09-24 09:25:19 -040067extern void ospf6_zebra_init(struct thread_master *);
paul718e3742002-12-13 20:15:29 +000068
Paul Jakma6ac29a52008-08-15 13:45:30 +010069extern int config_write_ospf6_debug_zebra (struct vty *vty);
70extern void install_element_ospf6_debug_zebra (void);
paul718e3742002-12-13 20:15:29 +000071
72#endif /*OSPF6_ZEBRA_H*/