Annotation of embedaddon/bird/proto/static/static.h, revision 1.1.1.1
1.1 misho 1: /*
2: * BIRD -- Static Route Generator
3: *
4: * (c) 1998--2000 Martin Mares <mj@ucw.cz>
5: *
6: * Can be freely distributed and used under the terms of the GNU GPL.
7: */
8:
9: #ifndef _BIRD_STATIC_H_
10: #define _BIRD_STATIC_H_
11:
12: #include "nest/route.h"
13: #include "nest/bfd.h"
14:
15: struct static_config {
16: struct proto_config c;
17: list iface_routes; /* Routes to search on interface events */
18: list other_routes; /* Routes hooked to neighbor cache and reject routes */
19: int check_link; /* Whether iface link state is used */
20: struct rtable_config *igp_table; /* Table used for recursive next hop lookups */
21: };
22:
23:
24: void static_init_config(struct static_config *);
25:
26: struct static_route {
27: node n;
28: struct static_route *chain; /* Next for the same neighbor */
29: ip_addr net; /* Network we route */
30: int masklen; /* Mask length */
31: int dest; /* Destination type (RTD_*) */
32: ip_addr via; /* Destination router */
33: struct iface *via_if; /* Destination iface, for link-local vias */
34: struct neighbor *neigh;
35: byte *if_name; /* Name for RTD_DEVICE routes */
36: struct static_route *mp_next; /* Nexthops for RTD_MULTIPATH routes */
37: struct f_inst *cmds; /* List of commands for setting attributes */
38: int installed; /* Installed in rt table, -1 for reinstall */
39: int use_bfd; /* Configured to use BFD */
40: struct bfd_request *bfd_req; /* BFD request, if BFD is used */
41: };
42:
43: /* Dummy nodes (parts of multipath route) abuses masklen field for weight
44: and if_name field for a ptr to the master (RTD_MULTIPATH) node. */
45:
46:
47: #define RTDX_RECURSIVE 0x7f /* Phony dest value for recursive routes */
48:
49: void static_show(struct proto *);
50:
51: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>