Copyright (c) 2004 Sun Microsystems, Inc. All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
The vni pseudo device is a multi-threaded, loadable, clonable, STREAMS pseudo-device supporting the connectionless Data Link Provider Interface dlpi(7P) Style 2. Note that DLPI is intended to interact with IP, meaning that DLPI access to applications is not supported. (For example, snoop fails on the vni interface.)
The vni device is a software-only interface and does not send or receive data. The device provides a DLPI upper interface that identifies itself to IP with a private media type. It can be configured via ifconfig(1M) and can have IP addresses assigned to it, making aliases possible.
The vni pseudo device is particularly useful in hosting an IP address when used in conjunction with the 'usesrc' ifconfig option (see ifconfig(1M) for examples). The logical instances of the device can also be used to host addresses as an alternative to hosting them over the loopback interface.
Multicast is not supported on this device. More specifically, the following options return an error when used with an address specified on vni: IP_MULTICAST_IF, IP_ADD_MEMBERSHIP, IP_DROP_MEMBERSHIP, IPV6_MULTICAST_IF, IPV6_JOIN_GROUP, IPV6_LEAVE_GROUP. In addition, broadcast is not supported.
Because there is no physical hardware configured below it, no traffic can be received through nor transmitted on a virtual interface. All packet transmission and reception is accomplished with existing physical interfaces and tunnels. Because applications that deal with packet transmission and reception (such as packet filters) cannot filter traffic on virtual interfaces, you cannot set up a packet filter on a virtual interface. Instead, you should configure the policy rules to apply to the physical interfaces and tunnels, and if necessary, use the virtual IP addresses themselves as part of the rule configuration. Also, note that the virtual interface cannot be part of an IP multipathing (IPMP) group.
64-bit ELF kernel driver
ifconfig(1M), in.mpathd(1M), ip(7P), ip6(7P)