Annotation of embedaddon/quagga/bgpd/bgp_nexthop.h, revision 1.1.1.4

1.1       misho       1: /* BGP nexthop scan
                      2:    Copyright (C) 2000 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: 
                     16: You should have received a copy of the GNU General Public License
                     17: along with GNU Zebra; see the file COPYING.  If not, write to the Free
                     18: Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
                     19: 02111-1307, USA.  */
                     20: 
                     21: #ifndef _QUAGGA_BGP_NEXTHOP_H
                     22: #define _QUAGGA_BGP_NEXTHOP_H
                     23: 
                     24: #include "if.h"
                     25: 
                     26: #define BGP_SCAN_INTERVAL_DEFAULT   60
                     27: #define BGP_IMPORT_INTERVAL_DEFAULT 15
                     28: 
1.1.1.4 ! misho      29: #define NEXTHOP_FAMILY(nexthop_len) ( \
        !            30:   ((nexthop_len) ==  4 ||             \
        !            31:    (nexthop_len) == 12 ? AF_INET :    \
        !            32:   ((nexthop_len) == 16 ||             \
        !            33:    (nexthop_len) == 24 ||             \
        !            34:    (nexthop_len) == 48 ? AF_INET6 :   \
        !            35:   AF_UNSPEC))                         \
        !            36: )
        !            37: 
1.1       misho      38: /* BGP nexthop cache value structure. */
                     39: struct bgp_nexthop_cache
                     40: {
                     41:   /* This nexthop exists in IGP. */
                     42:   u_char valid;
                     43: 
                     44:   /* Nexthop is changed. */
                     45:   u_char changed;
                     46: 
                     47:   /* Nexthop is changed. */
                     48:   u_char metricchanged;
                     49: 
                     50:   /* IGP route's metric. */
                     51:   u_int32_t metric;
                     52: 
                     53:   /* Nexthop number and nexthop linked list.*/
                     54:   u_char nexthop_num;
                     55:   struct nexthop *nexthop;
                     56: };
                     57: 
                     58: extern void bgp_scan_init (void);
                     59: extern void bgp_scan_finish (void);
                     60: extern int bgp_nexthop_lookup (afi_t, struct peer *peer, struct bgp_info *,
                     61:                        int *, int *);
                     62: extern void bgp_connected_add (struct connected *c);
                     63: extern void bgp_connected_delete (struct connected *c);
                     64: extern int bgp_multiaccess_check_v4 (struct in_addr, char *);
                     65: extern int bgp_config_write_scan_time (struct vty *);
1.1.1.2   misho      66: extern int bgp_nexthop_onlink (afi_t, struct attr *);
1.1.1.3   misho      67: extern int bgp_nexthop_self (struct attr *);
                     68: extern void bgp_address_init (void);
1.1.1.4 ! misho      69: extern void bgp_address_destroy (void);
        !            70: extern void bgp_scan_destroy (void);
1.1       misho      71: 
                     72: #endif /* _QUAGGA_BGP_NEXTHOP_H */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>