New upstream version 1.2.3
[quagga-debian.git] / zebra / redistribute.h
1 /*
2  * Redistribution Handler
3  * Copyright (C) 1999 Kunihiro Ishiguro
4  *
5  * This file is part of GNU Zebra.
6  *
7  * GNU Zebra is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License as published by the
9  * Free Software Foundation; either version 2, or (at your option) any
10  * later version.
11  *
12  * GNU Zebra is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with GNU Zebra; see the file COPYING.  If not, write to the Free
19  * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
20  * 02111-1307, USA.  
21  */
22
23 #ifndef _ZEBRA_REDISTRIBUTE_H
24 #define _ZEBRA_REDISTRIBUTE_H
25
26 #include "table.h"
27 #include "zserv.h"
28
29 extern void zebra_redistribute_add (int, struct zserv *, int, vrf_id_t);
30 extern void zebra_redistribute_delete (int, struct zserv *, int, vrf_id_t);
31
32 extern void zebra_redistribute_default_add (int, struct zserv *, int,
33     vrf_id_t);
34 extern void zebra_redistribute_default_delete (int, struct zserv *, int,
35     vrf_id_t);
36
37 extern void redistribute_add (struct prefix *, struct rib *new, struct rib *old);
38 extern void redistribute_delete (struct prefix *, struct rib *);
39
40 extern void zebra_interface_up_update (struct interface *);
41 extern void zebra_interface_down_update (struct interface *);
42
43 extern void zebra_interface_add_update (struct interface *);
44 extern void zebra_interface_delete_update (struct interface *);
45
46 extern void zebra_interface_address_add_update (struct interface *,
47                                                 struct connected *);
48 extern void zebra_interface_address_delete_update (struct interface *,
49                                                    struct connected *c);
50
51 extern void zebra_interface_parameters_update (struct interface *);
52
53 extern int zebra_check_addr (struct prefix *);
54
55 extern int is_default (struct prefix *);
56
57 #endif /* _ZEBRA_REDISTRIBUTE_H */
58