]>
Commit | Line | Data |
---|---|---|
78deec45 AS |
1 | /* Header file exported by rt_netlink.c to zebra. |
2 | * Copyright (C) 1997, 98, 99 Kunihiro Ishiguro | |
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 | * | |
896014f4 DL |
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 | |
78deec45 AS |
19 | */ |
20 | ||
21 | #ifndef _ZEBRA_RT_NETLINK_H | |
22 | #define _ZEBRA_RT_NETLINK_H | |
23 | ||
24 | #ifdef HAVE_NETLINK | |
25 | ||
be0dba35 RW |
26 | #include "zebra/zebra_mpls.h" |
27 | ||
1f5705f0 | 28 | #define NL_DEFAULT_ROUTE_METRIC 20 |
78deec45 | 29 | |
6977eb91 DS |
30 | /* |
31 | * Additional protocol strings to push into routes | |
32 | * If we add anything new here please make sure | |
33 | * to update: | |
34 | * zebra2proto Function | |
35 | * proto2zebra Function | |
36 | * is_selfroute Function | |
37 | * tools/frr To flush the route upon exit | |
38 | * | |
39 | * Finally update this file to allow iproute2 to | |
40 | * know about this new route. | |
41 | * tools/etc/iproute2/rt_protos.d | |
42 | */ | |
23b1f334 DD |
43 | #define RTPROT_BGP 186 |
44 | #define RTPROT_ISIS 187 | |
45 | #define RTPROT_OSPF 188 | |
46 | #define RTPROT_RIP 189 | |
47 | #define RTPROT_RIPNG 190 | |
fb533f22 | 48 | #if !defined(RTPROT_BABEL) |
6977eb91 | 49 | #define RTPROT_BABEL 42 |
fb533f22 | 50 | #endif |
1f047d8d DS |
51 | #define RTPROT_NHRP 191 |
52 | #define RTPROT_EIGRP 192 | |
53 | #define RTPROT_LDP 193 | |
8a71d93d | 54 | #define RTPROT_SHARP 194 |
23b1f334 | 55 | |
d62a17ae | 56 | void rt_netlink_init(void); |
23b1f334 | 57 | |
d62a17ae | 58 | extern int netlink_mpls_multipath(int cmd, zebra_lsp_t *lsp); |
be0dba35 | 59 | |
d62a17ae | 60 | extern int netlink_route_change(struct sockaddr_nl *snl, struct nlmsghdr *h, |
61 | ns_id_t ns_id, int startup); | |
62 | extern int netlink_route_read(struct zebra_ns *zns); | |
78deec45 | 63 | |
d62a17ae | 64 | extern int netlink_neigh_change(struct sockaddr_nl *snl, struct nlmsghdr *h, |
65 | ns_id_t ns_id); | |
66 | extern int netlink_macfdb_read(struct zebra_ns *zns); | |
67 | extern int netlink_macfdb_read_for_bridge(struct zebra_ns *zns, | |
68 | struct interface *ifp, | |
69 | struct interface *br_if); | |
70 | extern int netlink_neigh_read(struct zebra_ns *zns); | |
71 | extern int netlink_neigh_read_for_vlan(struct zebra_ns *zns, | |
72 | struct interface *vlan_if); | |
2232a77c | 73 | |
78deec45 AS |
74 | #endif /* HAVE_NETLINK */ |
75 | ||
76 | #endif /* _ZEBRA_RT_NETLINK_H */ |