diff options
Diffstat (limited to 'usr.sbin/mrouted/kern.c')
-rw-r--r-- | usr.sbin/mrouted/kern.c | 117 |
1 files changed, 7 insertions, 110 deletions
diff --git a/usr.sbin/mrouted/kern.c b/usr.sbin/mrouted/kern.c index af8d007eb8dc..5f29949f515c 100644 --- a/usr.sbin/mrouted/kern.c +++ b/usr.sbin/mrouted/kern.c @@ -5,59 +5,21 @@ * * The mrouted program is COPYRIGHT 1989 by The Board of Trustees of * Leland Stanford Junior University. - * - * - * kern.c,v 3.8.4.10 1998/01/06 02:00:51 fenner Exp */ #ifndef lint static const char rcsid[] = - "$Id: kern.c,v 1.10 1998/01/16 07:17:42 charnier Exp $"; + "$Id$"; #endif /* not lint */ #include "defs.h" -int curttl = 0; - -void k_set_rcvbuf(bufsize, minsize) +void k_set_rcvbuf(bufsize) int bufsize; - int minsize; { - int delta = bufsize / 2; - int iter = 0; - - /* - * Set the socket buffer. If we can't set it as large as we - * want, search around to try to find the highest acceptable - * value. The highest acceptable value being smaller than - * minsize is a fatal error. - */ if (setsockopt(igmp_socket, SOL_SOCKET, SO_RCVBUF, - (char *)&bufsize, sizeof(bufsize)) < 0) { - bufsize -= delta; - while (1) { - iter++; - if (delta > 1) - delta /= 2; - - if (setsockopt(igmp_socket, SOL_SOCKET, SO_RCVBUF, - (char *)&bufsize, sizeof(bufsize)) < 0) { - bufsize -= delta; - } else { - if (delta < 1024) - break; - bufsize += delta; - } - } - if (bufsize < minsize) { - log(LOG_ERR, 0, "OS-allowed buffer size %u < app min %u", - bufsize, minsize); - /*NOTREACHED*/ - } - } - IF_DEBUG(DEBUG_KERN) - log(LOG_DEBUG, 0, "Got %d byte buffer size in %d iterations", - bufsize, iter); + (char *)&bufsize, sizeof(bufsize)) < 0) + log(LOG_ERR, errno, "setsockopt SO_RCVBUF %u", bufsize); } @@ -75,15 +37,12 @@ void k_hdr_include(bool) void k_set_ttl(t) int t; { -#ifndef RAW_OUTPUT_IS_RAW u_char ttl; ttl = t; if (setsockopt(igmp_socket, IPPROTO_IP, IP_MULTICAST_TTL, (char *)&ttl, sizeof(ttl)) < 0) log(LOG_ERR, errno, "setsockopt IP_MULTICAST_TTL %u", ttl); -#endif - curttl = t; } @@ -182,7 +141,7 @@ void k_add_vif(vifi, v) if (setsockopt(igmp_socket, IPPROTO_IP, MRT_ADD_VIF, (char *)&vc, sizeof(vc)) < 0) - log(LOG_ERR, errno, "setsockopt MRT_ADD_VIF on vif %d", vifi); + log(LOG_ERR, errno, "setsockopt MRT_ADD_VIF"); } @@ -224,8 +183,7 @@ void k_add_rg(origin, g) #ifdef DEBUG_MFC md_log(MD_ADD_FAIL, origin, g->gt_mcastgrp); #endif - log(LOG_WARNING, errno, "setsockopt MRT_ADD_MFC", - inet_fmt(origin, s1), inet_fmt(g->gt_mcastgrp, s2)); + log(LOG_WARNING, errno, "setsockopt MRT_ADD_MFC"); } } @@ -256,8 +214,7 @@ int k_del_rg(origin, g) #ifdef DEBUG_MFC md_log(MD_DEL_FAIL, origin, g->gt_mcastgrp); #endif - log(LOG_WARNING, errno, "setsockopt MRT_DEL_MFC of (%s %s)", - inet_fmt(origin, s1), inet_fmt(g->gt_mcastgrp, s2)); + log(LOG_WARNING, errno, "setsockopt MRT_DEL_MFC"); } return retval; @@ -282,63 +239,3 @@ int k_get_version() return vers; #endif } - -#if 0 -/* - * Get packet counters - */ -int -k_get_vif_count(vifi, icount, ocount, ibytes, obytes) - vifi_t vifi; - int *icount, *ocount, *ibytes, *obytes; -{ - struct sioc_vif_req vreq; - int retval = 0; - - vreq.vifi = vifi; - if (ioctl(udp_socket, SIOCGETVIFCNT, (char *)&vreq) < 0) { - log(LOG_WARNING, errno, "SIOCGETVIFCNT on vif %d", vifi); - vreq.icount = vreq.ocount = vreq.ibytes = - vreq.obytes = 0xffffffff; - retval = 1; - } - if (icount) - *icount = vreq.icount; - if (ocount) - *ocount = vreq.ocount; - if (ibytes) - *ibytes = vreq.ibytes; - if (obytes) - *obytes = vreq.obytes; - return retval; -} - -/* - * Get counters for a desired source and group. - */ -int -k_get_sg_count(src, grp, pktcnt, bytecnt, wrong_if) - u_int32 src; - u_int32 grp; - struct sg_count *retval; -{ - struct sioc_sg_req sgreq; - int retval = 0; - - sgreq.src.s_addr = src; - sgreq.grp.s_addr = grp; - if (ioctl(udp_socket, SIOCGETSGCNT, (char *)&sgreq) < 0) { - log(LOG_WARNING, errno, "SIOCGETSGCNT on (%s %s)", - inet_fmt(src, s1), inet_fmt(grp, s2)); - sgreq.pktcnt = sgreq.bytecnt = sgreq.wrong_if = 0xffffffff; - return 1; - } - if (pktcnt) - *pktcnt = sgreq.pktcnt; - if (bytecnt) - *bytecnt = sgreq.bytecnt; - if (wrong_if) - *wrong_if = sgreq.wrong_if; - return retval; -} -#endif |