summaryrefslogtreecommitdiffstats
path: root/sys/net/if_tapvar.h
diff options
context:
space:
mode:
authornsayer <nsayer@FreeBSD.org>2000-07-20 17:01:10 +0000
committernsayer <nsayer@FreeBSD.org>2000-07-20 17:01:10 +0000
commit14503a8247dc9e15f6d248a31949e5e8033da4a0 (patch)
treea432fe692d09ec4039d50d441e00afe94a7c54fa /sys/net/if_tapvar.h
parentb7fd852ec4b27e86f5a18ccc623da33062abcfb2 (diff)
downloadFreeBSD-src-14503a8247dc9e15f6d248a31949e5e8033da4a0.zip
FreeBSD-src-14503a8247dc9e15f6d248a31949e5e8033da4a0.tar.gz
Add the tap driver.
The tap driver is used to present a virtual Ethernet interface to the system. Packets presented by the network stack to the interface are made available to a character device in /dev. With tap and the bridge code, you can make remote bridge configurations where both sides of the bridge are separated by userland daemons. This driver also has a special naming hack to allow it to serve a similar purpose to the vmware port. Submitted by: myevmenkin@att.com, vsilyaev@mindspring.com
Diffstat (limited to 'sys/net/if_tapvar.h')
-rw-r--r--sys/net/if_tapvar.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/sys/net/if_tapvar.h b/sys/net/if_tapvar.h
new file mode 100644
index 0000000..c48ff1c
--- /dev/null
+++ b/sys/net/if_tapvar.h
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 1999-2000 by Maksim Yevmenkin <m_evmenkin@yahoo.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * BASED ON:
+ * -------------------------------------------------------------------------
+ *
+ * Copyright (c) 1998 Brian Somers <brian@Awfulhak.org>
+ * All rights reserved.
+ *
+ * Copyright (c) 1988, Julian Onions <jpo@cs.nott.ac.uk>
+ * Nottingham University 1987.
+ */
+
+/*
+ * $FreeBSD$
+ * $Id: if_tapvar.h,v 0.6 2000/07/11 02:16:08 max Exp $
+ */
+
+#ifndef _NET_IF_TAPVAR_H_
+#define _NET_IF_TAPVAR_H_
+
+struct tap_softc {
+ struct arpcom arpcom; /* ethernet common data */
+#define tap_if arpcom.ac_if
+ dev_t tap_dev; /* device */
+
+ u_short tap_flags; /* misc flags */
+#define TAP_OPEN (1 << 0)
+#define TAP_INITED (1 << 1)
+#define TAP_RWAIT (1 << 2)
+#define TAP_ASYNC (1 << 3)
+#define TAP_READY (TAP_OPEN|TAP_INITED)
+
+ pid_t tap_pid; /* PID of process to open */
+ struct sigio *tap_sigio; /* information for async I/O */
+ struct selinfo tap_rsel; /* read select */
+};
+
+#endif /* !_NET_IF_TAPVAR_H_ */
OpenPOWER on IntegriCloud