1/*
2 * OSPFv3 Redistribute
3 * Copyright (C) 1999 Yasuhiro Ohara
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
19 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 * Boston, MA 02111-1307, USA.
21 */
22
23#ifndef OSPF6_REDISTRIBUTE_H
24#define OSPF6_REDISTRIBUTE_H
25
26
27#define OSPF6_REDISTRIBUTE_DEFAULT_TYPE    1
28#define OSPF6_REDISTRIBUTE_DEFAULT_METRIC  100
29
30struct ospf6_redistribute_info
31{
32  /* protocol type */
33  int type;
34
35  /* if index */
36  int ifindex;
37
38  /* ASE LS ID */
39  u_int32_t id;
40
41  /* ASE Metric-type */
42  int metric_type;
43
44  /* ASE Metric */
45  u_int32_t metric;
46
47  /* PrefixOptions */
48  u_char prefix_options;
49
50  /* Forwarding Address */
51  struct in6_addr forward;
52};
53
54/* prototypes */
55void ospf6_redistribute_routemap_update ();
56u_int32_t ospf6_redistribute_ls_id_lookup (int , struct prefix_ipv6 *,
57                                           struct ospf6 *);
58void ospf6_redistribute_route_add (int, int, struct prefix_ipv6 *);
59void ospf6_redistribute_route_remove (int, int, struct prefix_ipv6 *);
60int ospf6_redistribute_config_write (struct vty *);
61void ospf6_redistribute_show_config (struct vty *, struct ospf6 *);
62void ospf6_redistribute_init (struct ospf6 *);
63void ospf6_redistribute_finish (struct ospf6 *);
64
65#endif /* OSPF6_REDISTRIBUTE_H */
66
67