xref: /openbsd-src/usr.sbin/ospfd/logmsg.c (revision 1d7ff7bc088b98b9e06ba77aa840a0ecd597a5fb)
1*1d7ff7bcSbenno /*	$OpenBSD: logmsg.c,v 1.1 2016/09/02 14:04:25 benno Exp $ */
2*1d7ff7bcSbenno 
3*1d7ff7bcSbenno /*
4*1d7ff7bcSbenno  * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
5*1d7ff7bcSbenno  *
6*1d7ff7bcSbenno  * Permission to use, copy, modify, and distribute this software for any
7*1d7ff7bcSbenno  * purpose with or without fee is hereby granted, provided that the above
8*1d7ff7bcSbenno  * copyright notice and this permission notice appear in all copies.
9*1d7ff7bcSbenno  *
10*1d7ff7bcSbenno  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11*1d7ff7bcSbenno  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12*1d7ff7bcSbenno  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13*1d7ff7bcSbenno  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14*1d7ff7bcSbenno  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15*1d7ff7bcSbenno  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16*1d7ff7bcSbenno  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17*1d7ff7bcSbenno  */
18*1d7ff7bcSbenno 
19*1d7ff7bcSbenno #include <errno.h>
20*1d7ff7bcSbenno #include <stdarg.h>
21*1d7ff7bcSbenno #include <stdio.h>
22*1d7ff7bcSbenno #include <stdlib.h>
23*1d7ff7bcSbenno #include <string.h>
24*1d7ff7bcSbenno #include <syslog.h>
25*1d7ff7bcSbenno #include <unistd.h>
26*1d7ff7bcSbenno 
27*1d7ff7bcSbenno #include "ospfd.h"
28*1d7ff7bcSbenno #include "log.h"
29*1d7ff7bcSbenno 
30*1d7ff7bcSbenno /* names */
31*1d7ff7bcSbenno const char *
nbr_state_name(int state)32*1d7ff7bcSbenno nbr_state_name(int state)
33*1d7ff7bcSbenno {
34*1d7ff7bcSbenno 	switch (state) {
35*1d7ff7bcSbenno 	case NBR_STA_DOWN:
36*1d7ff7bcSbenno 		return ("DOWN");
37*1d7ff7bcSbenno 	case NBR_STA_ATTEMPT:
38*1d7ff7bcSbenno 		return ("ATTMP");
39*1d7ff7bcSbenno 	case NBR_STA_INIT:
40*1d7ff7bcSbenno 		return ("INIT");
41*1d7ff7bcSbenno 	case NBR_STA_2_WAY:
42*1d7ff7bcSbenno 		return ("2-WAY");
43*1d7ff7bcSbenno 	case NBR_STA_XSTRT:
44*1d7ff7bcSbenno 		return ("EXSTA");
45*1d7ff7bcSbenno 	case NBR_STA_SNAP:
46*1d7ff7bcSbenno 		return ("SNAP");
47*1d7ff7bcSbenno 	case NBR_STA_XCHNG:
48*1d7ff7bcSbenno 		return ("EXCHG");
49*1d7ff7bcSbenno 	case NBR_STA_LOAD:
50*1d7ff7bcSbenno 		return ("LOAD");
51*1d7ff7bcSbenno 	case NBR_STA_FULL:
52*1d7ff7bcSbenno 		return ("FULL");
53*1d7ff7bcSbenno 	default:
54*1d7ff7bcSbenno 		return ("UNKNW");
55*1d7ff7bcSbenno 	}
56*1d7ff7bcSbenno }
57*1d7ff7bcSbenno 
58*1d7ff7bcSbenno const char *
if_state_name(int state)59*1d7ff7bcSbenno if_state_name(int state)
60*1d7ff7bcSbenno {
61*1d7ff7bcSbenno 	switch (state) {
62*1d7ff7bcSbenno 	case IF_STA_DOWN:
63*1d7ff7bcSbenno 		return ("DOWN");
64*1d7ff7bcSbenno 	case IF_STA_LOOPBACK:
65*1d7ff7bcSbenno 		return ("LOOP");
66*1d7ff7bcSbenno 	case IF_STA_WAITING:
67*1d7ff7bcSbenno 		return ("WAIT");
68*1d7ff7bcSbenno 	case IF_STA_POINTTOPOINT:
69*1d7ff7bcSbenno 		return ("P2P");
70*1d7ff7bcSbenno 	case IF_STA_DROTHER:
71*1d7ff7bcSbenno 		return ("OTHER");
72*1d7ff7bcSbenno 	case IF_STA_BACKUP:
73*1d7ff7bcSbenno 		return ("BCKUP");
74*1d7ff7bcSbenno 	case IF_STA_DR:
75*1d7ff7bcSbenno 		return ("DR");
76*1d7ff7bcSbenno 	default:
77*1d7ff7bcSbenno 		return ("UNKNW");
78*1d7ff7bcSbenno 	}
79*1d7ff7bcSbenno }
80*1d7ff7bcSbenno 
81*1d7ff7bcSbenno const char *
if_type_name(enum iface_type type)82*1d7ff7bcSbenno if_type_name(enum iface_type type)
83*1d7ff7bcSbenno {
84*1d7ff7bcSbenno 	switch (type) {
85*1d7ff7bcSbenno 	case IF_TYPE_POINTOPOINT:
86*1d7ff7bcSbenno 		return ("POINTOPOINT");
87*1d7ff7bcSbenno 	case IF_TYPE_BROADCAST:
88*1d7ff7bcSbenno 		return ("BROADCAST");
89*1d7ff7bcSbenno 	case IF_TYPE_NBMA:
90*1d7ff7bcSbenno 		return ("NBMA");
91*1d7ff7bcSbenno 	case IF_TYPE_POINTOMULTIPOINT:
92*1d7ff7bcSbenno 		return ("POINTOMULTIPOINT");
93*1d7ff7bcSbenno 	case IF_TYPE_VIRTUALLINK:
94*1d7ff7bcSbenno 		return ("VIRTUALLINK");
95*1d7ff7bcSbenno 	}
96*1d7ff7bcSbenno 	/* NOTREACHED */
97*1d7ff7bcSbenno 	return ("UNKNOWN");
98*1d7ff7bcSbenno }
99*1d7ff7bcSbenno 
100*1d7ff7bcSbenno const char *
if_auth_name(enum auth_type type)101*1d7ff7bcSbenno if_auth_name(enum auth_type type)
102*1d7ff7bcSbenno {
103*1d7ff7bcSbenno 	switch (type) {
104*1d7ff7bcSbenno 	case AUTH_NONE:
105*1d7ff7bcSbenno 		return ("none");
106*1d7ff7bcSbenno 	case AUTH_SIMPLE:
107*1d7ff7bcSbenno 		return ("simple");
108*1d7ff7bcSbenno 	case AUTH_CRYPT:
109*1d7ff7bcSbenno 		return ("crypt");
110*1d7ff7bcSbenno 	}
111*1d7ff7bcSbenno 	/* NOTREACHED */
112*1d7ff7bcSbenno 	return ("unknown");
113*1d7ff7bcSbenno }
114*1d7ff7bcSbenno 
115*1d7ff7bcSbenno const char *
dst_type_name(enum dst_type type)116*1d7ff7bcSbenno dst_type_name(enum dst_type type)
117*1d7ff7bcSbenno {
118*1d7ff7bcSbenno 	switch (type) {
119*1d7ff7bcSbenno 	case DT_NET:
120*1d7ff7bcSbenno 		return ("Network");
121*1d7ff7bcSbenno 	case DT_RTR:
122*1d7ff7bcSbenno 		return ("Router");
123*1d7ff7bcSbenno 	}
124*1d7ff7bcSbenno 	/* NOTREACHED */
125*1d7ff7bcSbenno 	return ("unknown");
126*1d7ff7bcSbenno }
127*1d7ff7bcSbenno 
128*1d7ff7bcSbenno const char *
path_type_name(enum path_type type)129*1d7ff7bcSbenno path_type_name(enum path_type type)
130*1d7ff7bcSbenno {
131*1d7ff7bcSbenno 	switch (type) {
132*1d7ff7bcSbenno 	case PT_INTRA_AREA:
133*1d7ff7bcSbenno 		return ("Intra-Area");
134*1d7ff7bcSbenno 	case PT_INTER_AREA:
135*1d7ff7bcSbenno 		return ("Inter-Area");
136*1d7ff7bcSbenno 	case PT_TYPE1_EXT:
137*1d7ff7bcSbenno 		return ("Type 1 ext");
138*1d7ff7bcSbenno 	case PT_TYPE2_EXT:
139*1d7ff7bcSbenno 		return ("Type 2 ext");
140*1d7ff7bcSbenno 	}
141*1d7ff7bcSbenno 	/* NOTREACHED */
142*1d7ff7bcSbenno 	return ("unknown");
143*1d7ff7bcSbenno }
144