xref: /netbsd/usr.sbin/ldpd/ldp.h (revision f7e1764a)
1*f7e1764aSkefren /* $NetBSD: ldp.h,v 1.6 2013/01/26 19:44:52 kefren Exp $ */
2a994a89aSkefren 
3a994a89aSkefren /*-
4a994a89aSkefren  * Copyright (c) 2010 The NetBSD Foundation, Inc.
5a994a89aSkefren  * All rights reserved.
6a994a89aSkefren  *
7a994a89aSkefren  * This code is derived from software contributed to The NetBSD Foundation
8a994a89aSkefren  * by Mihai Chelaru <kefren@NetBSD.org>
9a994a89aSkefren  *
10a994a89aSkefren  * Redistribution and use in source and binary forms, with or without
11a994a89aSkefren  * modification, are permitted provided that the following conditions
12a994a89aSkefren  * are met:
13a994a89aSkefren  * 1. Redistributions of source code must retain the above copyright
14a994a89aSkefren  *    notice, this list of conditions and the following disclaimer.
15a994a89aSkefren  * 2. Redistributions in binary form must reproduce the above copyright
16a994a89aSkefren  *    notice, this list of conditions and the following disclaimer in the
17a994a89aSkefren  *    documentation and/or other materials provided with the distribution.
18a994a89aSkefren  *
19a994a89aSkefren  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20a994a89aSkefren  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21a994a89aSkefren  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22a994a89aSkefren  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23a994a89aSkefren  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24a994a89aSkefren  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25a994a89aSkefren  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26a994a89aSkefren  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27a994a89aSkefren  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28a994a89aSkefren  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29a994a89aSkefren  * POSSIBILITY OF SUCH DAMAGE.
30a994a89aSkefren  */
31a994a89aSkefren 
32a994a89aSkefren #ifndef _LDP_H_
33a994a89aSkefren #define _LDP_H_
34a994a89aSkefren 
35a994a89aSkefren #include <sys/types.h>
36a994a89aSkefren #include <netinet/in.h>
37a994a89aSkefren 
386e6da1a6Skefren /* RFC5036 */
39a994a89aSkefren #define	LDP_PORT		646
406e6da1a6Skefren 
41a994a89aSkefren #define	LDP_COMMAND_PORT	2626
42a994a89aSkefren 
43d99973b4Skefren #define	LDPD_VER		"0.4.0"
44a994a89aSkefren 
451dc807daSkefren #define CONFFILE		"/etc/ldpd.conf"
461dc807daSkefren 
47a994a89aSkefren extern char     my_ldp_id[20];
48a994a89aSkefren 
49a994a89aSkefren #define LDP_ID my_ldp_id
50a994a89aSkefren 
51a994a89aSkefren /* LDP Messages */
52a994a89aSkefren #define	LDP_NOTIFICATION	0x0001
53a994a89aSkefren #define	LDP_HELLO		0x0100
54a994a89aSkefren #define	LDP_INITIALIZE		0x0200
55a994a89aSkefren #define	LDP_KEEPALIVE		0x0201
56a994a89aSkefren #define	LDP_ADDRESS		0x0300
57a994a89aSkefren #define	LDP_ADDRESS_WITHDRAW	0x0301
58a994a89aSkefren #define	LDP_LABEL_MAPPING	0x0400
59a994a89aSkefren #define	LDP_LABEL_REQUEST	0x0401
60a994a89aSkefren #define	LDP_LABEL_WITHDRAW	0x0402
61a994a89aSkefren #define	LDP_LABEL_RELEASE	0x0403
62a994a89aSkefren #define	LDP_LABEL_ABORT		0x0404
63a994a89aSkefren 
64a994a89aSkefren /* Protocol version */
65a994a89aSkefren #define	LDP_VERSION		1
66a994a89aSkefren 
67a994a89aSkefren /* Various timers */
68a994a89aSkefren #define	LDP_HELLO_TIME 5
69a994a89aSkefren #define	LDP_HELLO_KEEP 15
70aba8693dSkefren #define	LDP_THELLO_KEEP 45
71a994a89aSkefren #define	LDP_KEEPALIVE_TIME 4
72a994a89aSkefren #define	LDP_HOLDTIME 15
73a994a89aSkefren 
74a994a89aSkefren #define	MIN_LABEL		16
75a994a89aSkefren #define	MAX_LABEL		1048576
76a994a89aSkefren 
77a994a89aSkefren #define	ROUTE_LOOKUP_LOOP	6
78a994a89aSkefren #define	REPLAY_MAX		100
79a994a89aSkefren #define	MAX_POLL_FDS		200
80a994a89aSkefren 
81a994a89aSkefren void	print_usage(char*);
82a994a89aSkefren 
83a994a89aSkefren #endif	/* !_LDP_H_ */
84