]>
Commit | Line | Data |
---|---|---|
acddc0ed | 1 | // SPDX-License-Identifier: GPL-2.0-or-later |
8551e6da DD |
2 | /* |
3 | * Defines and structures common to OSPFv2 and OSPFv3 | |
4 | * Copyright (C) 1998, 99, 2000 Kunihiro Ishiguro, Toshiaki Takada | |
8551e6da DD |
5 | */ |
6 | ||
7 | #ifndef _LIBOSPFD_H | |
8 | #define _LIBOSPFD_H | |
9 | ||
5e244469 RW |
10 | #ifdef __cplusplus |
11 | extern "C" { | |
12 | #endif | |
13 | ||
8551e6da DD |
14 | /* IP precedence. */ |
15 | #ifndef IPTOS_PREC_INTERNETCONTROL | |
16 | #define IPTOS_PREC_INTERNETCONTROL 0xC0 | |
17 | #endif /* IPTOS_PREC_INTERNETCONTROL */ | |
18 | ||
19 | /* Default protocol, port number. */ | |
20 | #ifndef IPPROTO_OSPFIGP | |
21 | #define IPPROTO_OSPFIGP 89 | |
22 | #endif /* IPPROTO_OSPFIGP */ | |
23 | ||
214d8a60 | 24 | /* Architectural Constants */ |
8551e6da | 25 | #ifdef DEBUG |
ea4ecfb3 | 26 | #define OSPF_LS_REFRESH_TIME 120 |
8551e6da DD |
27 | #else |
28 | #define OSPF_LS_REFRESH_TIME 1800 | |
29 | #endif | |
ac7424f9 | 30 | #define OSPF_MIN_LS_INTERVAL 5000 /* msec */ |
b6927875 | 31 | #define OSPF_MIN_LS_ARRIVAL 1000 /* in milliseconds */ |
8551e6da DD |
32 | #define OSPF_LSA_INITIAL_AGE 0 /* useful for debug */ |
33 | #define OSPF_LSA_MAXAGE 3600 | |
34 | #define OSPF_CHECK_AGE 300 | |
35 | #define OSPF_LSA_MAXAGE_DIFF 900 | |
36 | #define OSPF_LS_INFINITY 0xffffff | |
37 | #define OSPF_DEFAULT_DESTINATION 0x00000000 /* 0.0.0.0 */ | |
24873f0c DS |
38 | #define OSPF_INITIAL_SEQUENCE_NUMBER 0x80000001U |
39 | #define OSPF_MAX_SEQUENCE_NUMBER 0x7fffffffU | |
ca5997cd | 40 | #define OSPF_INVALID_SEQUENCE_NUMBER 0x80000000U |
8551e6da | 41 | |
c5926a92 DD |
42 | /* OSPF Interface Types */ |
43 | #define OSPF_IFTYPE_NONE 0 | |
44 | #define OSPF_IFTYPE_POINTOPOINT 1 | |
45 | #define OSPF_IFTYPE_BROADCAST 2 | |
46 | #define OSPF_IFTYPE_NBMA 3 | |
47 | #define OSPF_IFTYPE_POINTOMULTIPOINT 4 | |
48 | #define OSPF_IFTYPE_VIRTUALLINK 5 | |
49 | #define OSPF_IFTYPE_LOOPBACK 6 | |
50 | #define OSPF_IFTYPE_MAX 7 | |
51 | ||
8551e6da DD |
52 | /* OSPF interface default values. */ |
53 | #define OSPF_OUTPUT_COST_DEFAULT 10 | |
54 | #define OSPF_OUTPUT_COST_INFINITE UINT16_MAX | |
55 | #define OSPF_ROUTER_DEAD_INTERVAL_DEFAULT 40 | |
56 | #define OSPF_ROUTER_DEAD_INTERVAL_MINIMAL 1 | |
57 | #define OSPF_HELLO_INTERVAL_DEFAULT 10 | |
58 | #define OSPF_ROUTER_PRIORITY_DEFAULT 1 | |
59 | #define OSPF_RETRANSMIT_INTERVAL_DEFAULT 5 | |
60 | #define OSPF_TRANSMIT_DELAY_DEFAULT 1 | |
70bd3c43 | 61 | #define OSPF_DEFAULT_BANDWIDTH 10000 /* Mbps */ |
8551e6da | 62 | |
70bd3c43 | 63 | #define OSPF_DEFAULT_REF_BANDWIDTH 100000 /* Mbps */ |
8551e6da DD |
64 | |
65 | #define OSPF_POLL_INTERVAL_DEFAULT 60 | |
66 | #define OSPF_NEIGHBOR_PRIORITY_DEFAULT 0 | |
67 | ||
68 | #define OSPF_MTU_IGNORE_DEFAULT 0 | |
69 | #define OSPF_FAST_HELLO_DEFAULT 0 | |
70 | ||
71 | #define OSPF_AREA_BACKBONE 0x00000000 /* 0.0.0.0 */ | |
c3c0ac83 | 72 | #define OSPF_AREA_RANGE_COST_UNSPEC -1U |
8551e6da | 73 | |
ca1f4309 DS |
74 | #define OSPF_AREA_DEFAULT 0 |
75 | #define OSPF_AREA_STUB 1 | |
76 | #define OSPF_AREA_NSSA 2 | |
77 | #define OSPF_AREA_TYPE_MAX 3 | |
78 | ||
8551e6da | 79 | /* SPF Throttling timer values. */ |
ce2fa071 DW |
80 | #define OSPF_SPF_DELAY_DEFAULT 0 |
81 | #define OSPF_SPF_HOLDTIME_DEFAULT 50 | |
82 | #define OSPF_SPF_MAX_HOLDTIME_DEFAULT 5000 | |
8551e6da DD |
83 | |
84 | #define OSPF_LSA_MAXAGE_CHECK_INTERVAL 30 | |
2449fcd6 | 85 | #define OSPF_LSA_MAXAGE_REMOVE_DELAY_DEFAULT 60 |
8551e6da | 86 | |
5e244469 RW |
87 | #ifdef __cplusplus |
88 | } | |
89 | #endif | |
90 | ||
8551e6da | 91 | #endif /* _LIBOSPFD_H */ |