]> git.proxmox.com Git - mirror_frr.git/blame - lib/libospf.h
Merge pull request #12798 from donaldsharp/rib_match_multicast
[mirror_frr.git] / lib / libospf.h
CommitLineData
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
11extern "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 */