Files
Kyle Evans a1174b3b11 tun(4)/tap(4): allow devices to be configured as transient
Transient tunnel devices are removed immediately after last close, so
that an application that's created the tunnel could eliminate the need
to manually destroy the tunnel whose lifetime it's already managing.

Reviewed by:	zlei
Differential Revision:	https://reviews.freebsd.org/D44200
2025-08-21 09:22:44 -05:00

50 lines
1.5 KiB
C

/* $NetBSD: if_tun.h,v 1.5 1994/06/29 06:36:27 cgd Exp $ */
/*-
* Copyright (c) 1988, Julian Onions <[email protected]>
* Nottingham University 1987.
*
* This source may be freely distributed, however I would be interested
* in any changes that are made.
*
* This driver takes packets off the IP i/f and hands them up to a
* user process to have its wicked way with. This driver has it's
* roots in a similar driver written by Phil Cockcroft (formerly) at
* UCL. This driver is based much more on read/write/select mode of
* operation though.
*/
#ifndef _NET_IF_TUN_H_
#define _NET_IF_TUN_H_
/* Refer to if_tunvar.h for the softc stuff */
/* Maximum transmit packet size (default) */
#define TUNMTU 1500
/* Maximum receive packet size (hard limit) */
#define TUNMRU 65535
struct tuninfo {
int baudrate; /* linespeed */
unsigned short mtu; /* maximum transmission unit */
u_char type; /* ethernet, tokenring, etc. */
u_char dummy; /* place holder */
};
/* ioctl's for get/set debug */
#define TUNSDEBUG _IOW('t', 90, int)
#define TUNGDEBUG _IOR('t', 89, int)
#define TUNSIFINFO _IOW('t', 91, struct tuninfo)
#define TUNGIFINFO _IOR('t', 92, struct tuninfo)
#define TUNSLMODE _IOW('t', 93, int)
#define TUNGIFNAME _IOR('t', 93, struct ifreq)
#define TUNSIFMODE _IOW('t', 94, int)
#define TUNSIFPID _IO('t', 95)
#define TUNSIFHEAD _IOW('t', 96, int)
#define TUNGIFHEAD _IOR('t', 97, int)
#define TUNSTRANSIENT _IOW('t', 98, int)
#define TUNGTRANSIENT _IOR('t', 99, int)
#endif /* !_NET_IF_TUN_H_ */