summaryrefslogtreecommitdiffstats
path: root/usr.sbin/mrouted/mapper.c
diff options
context:
space:
mode:
authorwollman <wollman@FreeBSD.org>1995-06-28 17:58:49 +0000
committerwollman <wollman@FreeBSD.org>1995-06-28 17:58:49 +0000
commitd3f63bd3ee5c661b428cd8a799861660da144b7b (patch)
tree585fe426376ddd559974a1fec24c87c188352816 /usr.sbin/mrouted/mapper.c
parent6b90340edba96eb6b139fc853617c8e7cbb10e3c (diff)
downloadFreeBSD-src-d3f63bd3ee5c661b428cd8a799861660da144b7b.zip
FreeBSD-src-d3f63bd3ee5c661b428cd8a799861660da144b7b.tar.gz
Upgrade to mrouted version 3.6. This includes a substantial clean-up
and ANSIfication of much of the source base. Thanks, Bill! Submitted by: patch from Bill Fenner <fenner@parc.xerox.com>
Diffstat (limited to 'usr.sbin/mrouted/mapper.c')
-rw-r--r--usr.sbin/mrouted/mapper.c105
1 files changed, 82 insertions, 23 deletions
diff --git a/usr.sbin/mrouted/mapper.c b/usr.sbin/mrouted/mapper.c
index 526ed9f..8c1c5fd 100644
--- a/usr.sbin/mrouted/mapper.c
+++ b/usr.sbin/mrouted/mapper.c
@@ -1,7 +1,7 @@
/* Mapper for connections between MRouteD multicast routers.
* Written by Pavel Curtis <Pavel@PARC.Xerox.Com>
*
- * $Id: mapper.c,v 3.5 1995/05/09 01:00:39 fenner Exp $
+ * $Id: mapper.c,v 3.6 1995/06/25 18:59:02 fenner Exp $
*/
/*
@@ -25,6 +25,12 @@
#include <netdb.h>
#include <sys/time.h>
#include "defs.h"
+#include <arpa/inet.h>
+#ifdef __STDC__
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
#define DEFAULT_TIMEOUT 2 /* How long to wait before retrying requests */
#define DEFAULT_RETRIES 1 /* How many times to ask each router */
@@ -68,6 +74,23 @@ int show_names = TRUE;
vifi_t numvifs; /* to keep loader happy */
/* (see COPY_TABLES macro called in kern.c) */
+Node * find_node __P((u_int32 addr, Node **ptr));
+Interface * find_interface __P((u_int32 addr, Node *node));
+Neighbor * find_neighbor __P((u_int32 addr, Node *node));
+int main __P((int argc, char *argv[]));
+void ask __P((u_int32 dst));
+void ask2 __P((u_int32 dst));
+int retry_requests __P((Node *node));
+char * inet_name __P((u_int32 addr));
+void print_map __P((Node *node));
+char * graph_name __P((u_int32 addr, char *buf));
+void graph_edges __P((Node *node));
+void elide_aliases __P((Node *node));
+void graph_map __P((void));
+int get_number __P((int *var, int deflt, char ***pargv,
+ int *pargc));
+u_int32 host_addr __P((char *name));
+
Node *find_node(addr, ptr)
u_int32 addr;
@@ -135,12 +158,27 @@ Neighbor *find_neighbor(addr, node)
* message and the current debug level. For errors of severity LOG_ERR or
* worse, terminate the program.
*/
-void log(severity, syserr, format, a, b, c, d, e)
- int severity, syserr;
- char *format;
- int a, b, c, d, e;
+#ifdef __STDC__
+void
+log(int severity, int syserr, char *format, ...)
{
- char fmt[100];
+ va_list ap;
+ char fmt[100];
+
+ va_start(ap, format);
+#else
+/*VARARGS3*/
+void
+log(severity, syserr, format, va_alist)
+ int severity, syserr;
+ char *format;
+ va_dcl
+{
+ va_list ap;
+ char fmt[100];
+
+ va_start(ap);
+#endif
switch (debug) {
case 0: if (severity > LOG_WARNING) return;
@@ -151,7 +189,7 @@ void log(severity, syserr, format, a, b, c, d, e)
if (severity == LOG_WARNING)
strcat(fmt, "warning - ");
strncat(fmt, format, 80);
- fprintf(stderr, fmt, a, b, c, d, e);
+ vfprintf(stderr, fmt, ap);
if (syserr == 0)
fprintf(stderr, "\n");
else if (syserr < sys_nerr)
@@ -186,8 +224,9 @@ void ask2(dst)
/*
* Process an incoming group membership report.
*/
-void accept_group_report(src, dst, group)
+void accept_group_report(src, dst, group, r_type)
u_int32 src, dst, group;
+ int r_type;
{
log(LOG_INFO, 0, "ignoring IGMP group membership report from %s to %s",
inet_fmt(src, s1), inet_fmt(dst, s2));
@@ -197,8 +236,10 @@ void accept_group_report(src, dst, group)
/*
* Process an incoming neighbor probe message.
*/
-void accept_probe(src, dst)
- u_int32 src, dst;
+void accept_probe(src, dst, p, datalen, level)
+ u_int32 src, dst, level;
+ char *p;
+ int datalen;
{
log(LOG_INFO, 0, "ignoring DVMRP probe from %s to %s",
inet_fmt(src, s1), inet_fmt(dst, s2));
@@ -208,8 +249,8 @@ void accept_probe(src, dst)
/*
* Process an incoming route report message.
*/
-void accept_report(src, dst, p, datalen)
- u_int32 src, dst;
+void accept_report(src, dst, p, datalen, level)
+ u_int32 src, dst, level;
char *p;
int datalen;
{
@@ -260,7 +301,7 @@ void accept_neighbors(src, dst, p, datalen, level)
/* if node is running a recent mrouted, ask for additional info */
if (level != 0) {
- node->version = ntohl(level);
+ node->version = level;
node->tries = 0;
ask2(src);
return;
@@ -404,8 +445,8 @@ void accept_neighbors(src, dst, p, datalen, level)
}
}
-void accept_neighbors2(src, dst, p, datalen)
- u_int32 src, dst;
+void accept_neighbors2(src, dst, p, datalen, level)
+ u_int32 src, dst, level;
u_char *p;
int datalen;
{
@@ -496,7 +537,7 @@ void accept_neighbors2(src, dst, p, datalen)
old_neighbors = ifc->neighbors;
/* Add the neighbors for this interface */
- while (ncount--) {
+ while (ncount-- && datalen > 0) {
u_int32 neighbor;
Neighbor *nb;
Node *n_node;
@@ -937,24 +978,42 @@ int main(argc, argv)
exit(0);
}
-void accept_prune()
+/* dummies */
+void accept_prune(src, dst, p, datalen)
+ u_int32 src, dst;
+ char *p;
+ int datalen;
{
}
-void accept_graft()
+void accept_graft(src, dst, p, datalen)
+ u_int32 src, dst;
+ char *p;
+ int datalen;
{
}
-void accept_g_ack()
+void accept_g_ack(src, dst, p, datalen)
+ u_int32 src, dst;
+ char *p;
+ int datalen;
{
}
-void add_table_entry()
+void add_table_entry(origin, mcastgrp)
+ u_int32 origin, mcastgrp;
{
}
-void accept_leave_message()
+void accept_leave_message(src, dst, group)
+ u_int32 src, dst, group;
{
}
-void accept_mtrace()
+void accept_mtrace(src, dst, group, data, no, datalen)
+ u_int32 src, dst, group;
+ char *data;
+ u_int no;
+ int datalen;
{
}
-void accept_membership_query()
+void accept_membership_query(src, dst, group, tmo)
+ u_int32 src, dst, group;
+ int tmo;
{
}
OpenPOWER on IntegriCloud