Annotation of embedaddon/bird/proto/static/static.h, revision 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>