xref: /openbsd-src/usr.sbin/dvmrpd/printconf.c (revision 96d3d9aefacd2168674d0ce90257949d58b34da2)
1*96d3d9aeSjsg /*	$OpenBSD: printconf.c,v 1.2 2011/04/10 22:12:34 jsg Exp $ */
2978e5cffSnorby 
3978e5cffSnorby /*
4978e5cffSnorby  * Copyright (c) 2004, 2005, 2006 Esben Norby <norby@openbsd.org>
5978e5cffSnorby  *
6978e5cffSnorby  * Permission to use, copy, modify, and distribute this software for any
7978e5cffSnorby  * purpose with or without fee is hereby granted, provided that the above
8978e5cffSnorby  * copyright notice and this permission notice appear in all copies.
9978e5cffSnorby  *
10978e5cffSnorby  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11978e5cffSnorby  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12978e5cffSnorby  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13978e5cffSnorby  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14978e5cffSnorby  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15978e5cffSnorby  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16978e5cffSnorby  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17978e5cffSnorby  */
18978e5cffSnorby 
19978e5cffSnorby #include <sys/queue.h>
20978e5cffSnorby #include <sys/types.h>
21978e5cffSnorby #include <sys/socket.h>
22978e5cffSnorby #include <netinet/in.h>
23978e5cffSnorby #include <arpa/inet.h>
24978e5cffSnorby 
25978e5cffSnorby #include <stdio.h>
26978e5cffSnorby 
27978e5cffSnorby #include "igmp.h"
28978e5cffSnorby #include "dvmrp.h"
29978e5cffSnorby #include "dvmrpd.h"
30978e5cffSnorby #include "dvmrpe.h"
31978e5cffSnorby 
32978e5cffSnorby void	 print_mainconf(struct dvmrpd_conf *);
33978e5cffSnorby void	 print_iface(struct iface *);
34978e5cffSnorby 
35978e5cffSnorby void
print_mainconf(struct dvmrpd_conf * conf)36978e5cffSnorby print_mainconf(struct dvmrpd_conf *conf)
37978e5cffSnorby {
38*96d3d9aeSjsg 	if (conf->flags & DVMRPD_FLAG_NO_FIB_UPDATE)
39978e5cffSnorby 		printf("fib-update no\n");
40*96d3d9aeSjsg 	else
41*96d3d9aeSjsg 		printf("fib-update yes\n");
42978e5cffSnorby }
43978e5cffSnorby 
44978e5cffSnorby void
print_iface(struct iface * iface)45978e5cffSnorby print_iface(struct iface *iface)
46978e5cffSnorby {
47978e5cffSnorby 	printf("interface %s {\n", iface->name);
48978e5cffSnorby 
49978e5cffSnorby 	if (iface->passive)
50978e5cffSnorby 		printf("\tpassive\n");
51978e5cffSnorby 
52978e5cffSnorby 	printf("\tmetric %d\n", iface->metric);
53978e5cffSnorby 	printf("\tquery-interval %d\n", iface->query_interval);
54978e5cffSnorby 	printf("\tquery-response-interval %d\n", iface->query_resp_interval);
55978e5cffSnorby 	printf("\trobustness %d\n", iface->robustness);
56978e5cffSnorby 	printf("\tstartup-query-count %d\n", iface->startup_query_cnt);
57978e5cffSnorby 	printf("\tlast-member-query-count %d\n", iface->last_member_query_cnt);
58978e5cffSnorby 	printf("\tlast-member-query-interval %d\n",
59978e5cffSnorby 	    iface->last_member_query_interval);
60978e5cffSnorby 	printf("\tigmp-version %d\n", iface->igmp_version);
61978e5cffSnorby 
62978e5cffSnorby 	printf("}\n");
63978e5cffSnorby }
64978e5cffSnorby 
65978e5cffSnorby void
print_config(struct dvmrpd_conf * conf)66978e5cffSnorby print_config(struct dvmrpd_conf *conf)
67978e5cffSnorby {
68978e5cffSnorby 	struct iface	*iface;
69978e5cffSnorby 
70978e5cffSnorby 	printf("\n");
71978e5cffSnorby 	print_mainconf(conf);
72978e5cffSnorby 	printf("\n");
73978e5cffSnorby 
74978e5cffSnorby 	LIST_FOREACH(iface, &conf->iface_list, entry) {
75978e5cffSnorby 		print_iface(iface);
76978e5cffSnorby 	}
77978e5cffSnorby 	printf("\n");
78978e5cffSnorby 
79978e5cffSnorby }
80