1*37274f3cSDavid van Moolenbroek /* $NetBSD: pim_var.h,v 1.2 2005/12/10 23:36:23 elad Exp $ */ 2*37274f3cSDavid van Moolenbroek 3*37274f3cSDavid van Moolenbroek /* 4*37274f3cSDavid van Moolenbroek * Copyright (c) 1998-2000 5*37274f3cSDavid van Moolenbroek * University of Southern California/Information Sciences Institute. 6*37274f3cSDavid van Moolenbroek * All rights reserved. 7*37274f3cSDavid van Moolenbroek * 8*37274f3cSDavid van Moolenbroek * Redistribution and use in source and binary forms, with or without 9*37274f3cSDavid van Moolenbroek * modification, are permitted provided that the following conditions 10*37274f3cSDavid van Moolenbroek * are met: 11*37274f3cSDavid van Moolenbroek * 1. Redistributions of source code must retain the above copyright 12*37274f3cSDavid van Moolenbroek * notice, this list of conditions and the following disclaimer. 13*37274f3cSDavid van Moolenbroek * 2. Redistributions in binary form must reproduce the above copyright 14*37274f3cSDavid van Moolenbroek * notice, this list of conditions and the following disclaimer in the 15*37274f3cSDavid van Moolenbroek * documentation and/or other materials provided with the distribution. 16*37274f3cSDavid van Moolenbroek * 3. Neither the name of the project nor the names of its contributors 17*37274f3cSDavid van Moolenbroek * may be used to endorse or promote products derived from this software 18*37274f3cSDavid van Moolenbroek * without specific prior written permission. 19*37274f3cSDavid van Moolenbroek * 20*37274f3cSDavid van Moolenbroek * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND 21*37274f3cSDavid van Moolenbroek * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22*37274f3cSDavid van Moolenbroek * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23*37274f3cSDavid van Moolenbroek * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE 24*37274f3cSDavid van Moolenbroek * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25*37274f3cSDavid van Moolenbroek * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26*37274f3cSDavid van Moolenbroek * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27*37274f3cSDavid van Moolenbroek * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28*37274f3cSDavid van Moolenbroek * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29*37274f3cSDavid van Moolenbroek * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30*37274f3cSDavid van Moolenbroek * SUCH DAMAGE. 31*37274f3cSDavid van Moolenbroek * 32*37274f3cSDavid van Moolenbroek * $FreeBSD: /repoman/r/ncvs/src/sys/netinet/pim_var.h,v 1.1 2003/08/07 18:17:43 hsu Exp $ 33*37274f3cSDavid van Moolenbroek */ 34*37274f3cSDavid van Moolenbroek 35*37274f3cSDavid van Moolenbroek #ifndef _NETINET_PIM_VAR_H_ 36*37274f3cSDavid van Moolenbroek #define _NETINET_PIM_VAR_H_ 37*37274f3cSDavid van Moolenbroek 38*37274f3cSDavid van Moolenbroek /* 39*37274f3cSDavid van Moolenbroek * Protocol Independent Multicast (PIM), 40*37274f3cSDavid van Moolenbroek * kernel variables and implementation-specific definitions. 41*37274f3cSDavid van Moolenbroek * 42*37274f3cSDavid van Moolenbroek * Written by George Edmond Eddy (Rusty), ISI, February 1998. 43*37274f3cSDavid van Moolenbroek * Modified by Pavlin Radoslavov, USC/ISI, May 1998, Aug 1999, October 2000. 44*37274f3cSDavid van Moolenbroek * Modified by Hitoshi Asaeda, WIDE, August 1998. 45*37274f3cSDavid van Moolenbroek */ 46*37274f3cSDavid van Moolenbroek 47*37274f3cSDavid van Moolenbroek /* 48*37274f3cSDavid van Moolenbroek * PIM statistics kept in the kernel 49*37274f3cSDavid van Moolenbroek */ 50*37274f3cSDavid van Moolenbroek struct pimstat { 51*37274f3cSDavid van Moolenbroek u_quad_t pims_rcv_total_msgs; /* total PIM messages received */ 52*37274f3cSDavid van Moolenbroek u_quad_t pims_rcv_total_bytes; /* total PIM bytes received */ 53*37274f3cSDavid van Moolenbroek u_quad_t pims_rcv_tooshort; /* rcvd with too few bytes */ 54*37274f3cSDavid van Moolenbroek u_quad_t pims_rcv_badsum; /* rcvd with bad checksum */ 55*37274f3cSDavid van Moolenbroek u_quad_t pims_rcv_badversion; /* rcvd bad PIM version */ 56*37274f3cSDavid van Moolenbroek u_quad_t pims_rcv_registers_msgs; /* rcvd regs. msgs (data only) */ 57*37274f3cSDavid van Moolenbroek u_quad_t pims_rcv_registers_bytes; /* rcvd regs. bytes (data only) */ 58*37274f3cSDavid van Moolenbroek u_quad_t pims_rcv_registers_wrongiif; /* rcvd regs. on wrong iif */ 59*37274f3cSDavid van Moolenbroek u_quad_t pims_rcv_badregisters; /* rcvd invalid registers */ 60*37274f3cSDavid van Moolenbroek u_quad_t pims_snd_registers_msgs; /* sent regs. msgs (data only) */ 61*37274f3cSDavid van Moolenbroek u_quad_t pims_snd_registers_bytes; /* sent regs. bytes (data only) */ 62*37274f3cSDavid van Moolenbroek }; 63*37274f3cSDavid van Moolenbroek 64*37274f3cSDavid van Moolenbroek /* 65*37274f3cSDavid van Moolenbroek * Names for PIM sysctl objects 66*37274f3cSDavid van Moolenbroek */ 67*37274f3cSDavid van Moolenbroek #define PIMCTL_STATS 1 /* statistics (read-only) */ 68*37274f3cSDavid van Moolenbroek #define PIMCTL_MAXID 2 69*37274f3cSDavid van Moolenbroek 70*37274f3cSDavid van Moolenbroek #define PIMCTL_NAMES { \ 71*37274f3cSDavid van Moolenbroek { 0, 0 }, \ 72*37274f3cSDavid van Moolenbroek { "stats", CTLTYPE_STRUCT }, \ 73*37274f3cSDavid van Moolenbroek } 74*37274f3cSDavid van Moolenbroek 75*37274f3cSDavid van Moolenbroek #ifdef _KERNEL 76*37274f3cSDavid van Moolenbroek extern struct pimstat pimstat; 77*37274f3cSDavid van Moolenbroek 78*37274f3cSDavid van Moolenbroek void pim_input(struct mbuf *, ...); 79*37274f3cSDavid van Moolenbroek #endif 80*37274f3cSDavid van Moolenbroek 81*37274f3cSDavid van Moolenbroek #endif /* !_NETINET_PIM_VAR_H_ */ 82