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>