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