xref: /netbsd-src/sys/netinet/pim_var.h (revision 15652348f341243f3f83f85452ed894a4a83d554)
1*15652348Smaxv /*	$NetBSD: pim_var.h,v 1.4 2018/09/14 05:09:51 maxv Exp $	*/
285111f91Smanu 
385111f91Smanu /*
485111f91Smanu  * Copyright (c) 1998-2000
585111f91Smanu  * University of Southern California/Information Sciences Institute.
685111f91Smanu  * All rights reserved.
785111f91Smanu  *
885111f91Smanu  * Redistribution and use in source and binary forms, with or without
985111f91Smanu  * modification, are permitted provided that the following conditions
1085111f91Smanu  * are met:
1185111f91Smanu  * 1. Redistributions of source code must retain the above copyright
1285111f91Smanu  *    notice, this list of conditions and the following disclaimer.
1385111f91Smanu  * 2. Redistributions in binary form must reproduce the above copyright
1485111f91Smanu  *    notice, this list of conditions and the following disclaimer in the
1585111f91Smanu  *    documentation and/or other materials provided with the distribution.
1685111f91Smanu  * 3. Neither the name of the project nor the names of its contributors
1785111f91Smanu  *    may be used to endorse or promote products derived from this software
1885111f91Smanu  *    without specific prior written permission.
1985111f91Smanu  *
2085111f91Smanu  * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
2185111f91Smanu  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2285111f91Smanu  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2385111f91Smanu  * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
2485111f91Smanu  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2585111f91Smanu  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2685111f91Smanu  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2785111f91Smanu  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2885111f91Smanu  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2985111f91Smanu  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3085111f91Smanu  * SUCH DAMAGE.
3185111f91Smanu  *
3285111f91Smanu  * $FreeBSD: /repoman/r/ncvs/src/sys/netinet/pim_var.h,v 1.1 2003/08/07 18:17:43 hsu Exp $
3385111f91Smanu  */
3485111f91Smanu 
3585111f91Smanu #ifndef _NETINET_PIM_VAR_H_
3685111f91Smanu #define _NETINET_PIM_VAR_H_
3785111f91Smanu 
3885111f91Smanu /*
3985111f91Smanu  * Protocol Independent Multicast (PIM),
4085111f91Smanu  * kernel variables and implementation-specific definitions.
4185111f91Smanu  *
4285111f91Smanu  * Written by George Edmond Eddy (Rusty), ISI, February 1998.
4385111f91Smanu  * Modified by Pavlin Radoslavov, USC/ISI, May 1998, Aug 1999, October 2000.
4485111f91Smanu  * Modified by Hitoshi Asaeda, WIDE, August 1998.
4585111f91Smanu  */
4685111f91Smanu 
4785111f91Smanu /*
4885111f91Smanu  * PIM statistics kept in the kernel
4985111f91Smanu  */
5085111f91Smanu struct pimstat {
5185111f91Smanu 	u_quad_t pims_rcv_total_msgs;	   /* total PIM messages received    */
5285111f91Smanu 	u_quad_t pims_rcv_total_bytes;	   /* total PIM bytes received	     */
5385111f91Smanu 	u_quad_t pims_rcv_tooshort;	   /* rcvd with too few bytes	     */
5485111f91Smanu 	u_quad_t pims_rcv_badsum;	   /* rcvd with bad checksum	     */
5585111f91Smanu 	u_quad_t pims_rcv_badversion;	   /* rcvd bad PIM version	     */
5685111f91Smanu 	u_quad_t pims_rcv_registers_msgs;  /* rcvd regs. msgs (data only)    */
5785111f91Smanu 	u_quad_t pims_rcv_registers_bytes; /* rcvd regs. bytes (data only)   */
5885111f91Smanu 	u_quad_t pims_rcv_registers_wrongiif; /* rcvd regs. on wrong iif     */
5985111f91Smanu 	u_quad_t pims_rcv_badregisters;	   /* rcvd invalid registers	     */
6085111f91Smanu 	u_quad_t pims_snd_registers_msgs;  /* sent regs. msgs (data only)    */
6185111f91Smanu 	u_quad_t pims_snd_registers_bytes; /* sent regs. bytes (data only)   */
6285111f91Smanu };
6385111f91Smanu 
6485111f91Smanu /*
6585111f91Smanu  * Names for PIM sysctl objects
6685111f91Smanu  */
6785111f91Smanu #define PIMCTL_STATS		1	/* statistics (read-only) */
6885111f91Smanu 
6985111f91Smanu #ifdef _KERNEL
7085111f91Smanu extern struct pimstat pimstat;
7185111f91Smanu 
72*15652348Smaxv void	pim_input(struct mbuf *, int, int);
7385111f91Smanu #endif
7485111f91Smanu 
759702e987Selad #endif /* !_NETINET_PIM_VAR_H_ */
76