1 /* 2 * Defines and structures common to OSPFv2 and OSPFv3 3 * Copyright (C) 1998, 99, 2000 Kunihiro Ishiguro, Toshiaki Takada 4 * 5 * This file is part of GNU Zebra. 6 * 7 * GNU Zebra is free software; you can redistribute it and/or modify it 8 * under the terms of the GNU General Public License as published by the 9 * Free Software Foundation; either version 2, or (at your option) any 10 * later version. 11 * 12 * GNU Zebra is distributed in the hope that it will be useful, but 13 * WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License along 18 * with this program; see the file COPYING; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 */ 21 22 #ifndef _LIBOSPFD_H 23 #define _LIBOSPFD_H 24 25 #ifdef __cplusplus 26 extern "C" { 27 #endif 28 29 /* IP precedence. */ 30 #ifndef IPTOS_PREC_INTERNETCONTROL 31 #define IPTOS_PREC_INTERNETCONTROL 0xC0 32 #endif /* IPTOS_PREC_INTERNETCONTROL */ 33 34 /* Default protocol, port number. */ 35 #ifndef IPPROTO_OSPFIGP 36 #define IPPROTO_OSPFIGP 89 37 #endif /* IPPROTO_OSPFIGP */ 38 39 /* Architectual Constants */ 40 #ifdef DEBUG 41 #define OSPF_LS_REFRESH_TIME 120 42 #else 43 #define OSPF_LS_REFRESH_TIME 1800 44 #endif 45 #define OSPF_MIN_LS_INTERVAL 5000 /* msec */ 46 #define OSPF_MIN_LS_ARRIVAL 1000 /* in milliseconds */ 47 #define OSPF_LSA_INITIAL_AGE 0 /* useful for debug */ 48 #define OSPF_LSA_MAXAGE 3600 49 #define OSPF_CHECK_AGE 300 50 #define OSPF_LSA_MAXAGE_DIFF 900 51 #define OSPF_LS_INFINITY 0xffffff 52 #define OSPF_DEFAULT_DESTINATION 0x00000000 /* 0.0.0.0 */ 53 #define OSPF_INITIAL_SEQUENCE_NUMBER 0x80000001U 54 #define OSPF_MAX_SEQUENCE_NUMBER 0x7fffffffU 55 56 /* OSPF Interface Types */ 57 #define OSPF_IFTYPE_NONE 0 58 #define OSPF_IFTYPE_POINTOPOINT 1 59 #define OSPF_IFTYPE_BROADCAST 2 60 #define OSPF_IFTYPE_NBMA 3 61 #define OSPF_IFTYPE_POINTOMULTIPOINT 4 62 #define OSPF_IFTYPE_VIRTUALLINK 5 63 #define OSPF_IFTYPE_LOOPBACK 6 64 #define OSPF_IFTYPE_MAX 7 65 66 /* OSPF interface default values. */ 67 #define OSPF_OUTPUT_COST_DEFAULT 10 68 #define OSPF_OUTPUT_COST_INFINITE UINT16_MAX 69 #define OSPF_ROUTER_DEAD_INTERVAL_DEFAULT 40 70 #define OSPF_ROUTER_DEAD_INTERVAL_MINIMAL 1 71 #define OSPF_HELLO_INTERVAL_DEFAULT 10 72 #define OSPF_ROUTER_PRIORITY_DEFAULT 1 73 #define OSPF_RETRANSMIT_INTERVAL_DEFAULT 5 74 #define OSPF_TRANSMIT_DELAY_DEFAULT 1 75 #define OSPF_DEFAULT_BANDWIDTH 10000 /* Mbps */ 76 77 #define OSPF_DEFAULT_REF_BANDWIDTH 100000 /* Mbps */ 78 79 #define OSPF_POLL_INTERVAL_DEFAULT 60 80 #define OSPF_NEIGHBOR_PRIORITY_DEFAULT 0 81 82 #define OSPF_MTU_IGNORE_DEFAULT 0 83 #define OSPF_FAST_HELLO_DEFAULT 0 84 85 #define OSPF_AREA_BACKBONE 0x00000000 /* 0.0.0.0 */ 86 #define OSPF_AREA_RANGE_COST_UNSPEC -1U 87 88 #define OSPF_AREA_DEFAULT 0 89 #define OSPF_AREA_STUB 1 90 #define OSPF_AREA_NSSA 2 91 #define OSPF_AREA_TYPE_MAX 3 92 93 /* SPF Throttling timer values. */ 94 #define OSPF_SPF_DELAY_DEFAULT 0 95 #define OSPF_SPF_HOLDTIME_DEFAULT 50 96 #define OSPF_SPF_MAX_HOLDTIME_DEFAULT 5000 97 98 #define OSPF_LSA_MAXAGE_CHECK_INTERVAL 30 99 #define OSPF_LSA_MAXAGE_REMOVE_DELAY_DEFAULT 60 100 101 #ifdef __cplusplus 102 } 103 #endif 104 105 #endif /* _LIBOSPFD_H */ 106