1*86d7f5d3SJohn Marino /* 2*86d7f5d3SJohn Marino * Copyright 1998 Massachusetts Institute of Technology 3*86d7f5d3SJohn Marino * 4*86d7f5d3SJohn Marino * Permission to use, copy, modify, and distribute this software and 5*86d7f5d3SJohn Marino * its documentation for any purpose and without fee is hereby 6*86d7f5d3SJohn Marino * granted, provided that both the above copyright notice and this 7*86d7f5d3SJohn Marino * permission notice appear in all copies, that both the above 8*86d7f5d3SJohn Marino * copyright notice and this permission notice appear in all 9*86d7f5d3SJohn Marino * supporting documentation, and that the name of M.I.T. not be used 10*86d7f5d3SJohn Marino * in advertising or publicity pertaining to distribution of the 11*86d7f5d3SJohn Marino * software without specific, written prior permission. M.I.T. makes 12*86d7f5d3SJohn Marino * no representations about the suitability of this software for any 13*86d7f5d3SJohn Marino * purpose. It is provided "as is" without express or implied 14*86d7f5d3SJohn Marino * warranty. 15*86d7f5d3SJohn Marino * 16*86d7f5d3SJohn Marino * THIS SOFTWARE IS PROVIDED BY M.I.T. ``AS IS''. M.I.T. DISCLAIMS 17*86d7f5d3SJohn Marino * ALL EXPRESS OR IMPLIED WARRANTIES WITH REGARD TO THIS SOFTWARE, 18*86d7f5d3SJohn Marino * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 19*86d7f5d3SJohn Marino * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT 20*86d7f5d3SJohn Marino * SHALL M.I.T. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 21*86d7f5d3SJohn Marino * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 22*86d7f5d3SJohn Marino * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 23*86d7f5d3SJohn Marino * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 24*86d7f5d3SJohn Marino * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 25*86d7f5d3SJohn Marino * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 26*86d7f5d3SJohn Marino * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27*86d7f5d3SJohn Marino * SUCH DAMAGE. 28*86d7f5d3SJohn Marino * 29*86d7f5d3SJohn Marino * $FreeBSD: src/sys/net/if_vlan_var.h,v 1.5.2.3 2001/12/04 20:01:54 brooks Exp $ 30*86d7f5d3SJohn Marino * $DragonFly: src/sys/net/vlan/if_vlan_var.h,v 1.4 2008/03/10 10:47:57 sephe Exp $ 31*86d7f5d3SJohn Marino */ 32*86d7f5d3SJohn Marino 33*86d7f5d3SJohn Marino #ifndef _NET_IF_VLAN_VAR_H_ 34*86d7f5d3SJohn Marino #define _NET_IF_VLAN_VAR_H_ 35*86d7f5d3SJohn Marino 36*86d7f5d3SJohn Marino struct ether_vlan_header { 37*86d7f5d3SJohn Marino u_char evl_dhost[ETHER_ADDR_LEN]; 38*86d7f5d3SJohn Marino u_char evl_shost[ETHER_ADDR_LEN]; 39*86d7f5d3SJohn Marino u_int16_t evl_encap_proto; 40*86d7f5d3SJohn Marino u_int16_t evl_tag; 41*86d7f5d3SJohn Marino u_int16_t evl_proto; 42*86d7f5d3SJohn Marino }; 43*86d7f5d3SJohn Marino 44*86d7f5d3SJohn Marino #define EVL_VLANOFTAG(tag) ((tag) & 4095) 45*86d7f5d3SJohn Marino #define EVL_PRIOFTAG(tag) (((tag) >> 13) & 7) 46*86d7f5d3SJohn Marino #define EVL_ENCAPLEN 4 /* length in octets of encapsulation */ 47*86d7f5d3SJohn Marino 48*86d7f5d3SJohn Marino /* sysctl(3) tags, for compatibility purposes */ 49*86d7f5d3SJohn Marino #define VLANCTL_PROTO 1 50*86d7f5d3SJohn Marino #define VLANCTL_MAX 2 51*86d7f5d3SJohn Marino 52*86d7f5d3SJohn Marino /* 53*86d7f5d3SJohn Marino * Configuration structure for SIOCSETVLAN and SIOCGETVLAN ioctls. 54*86d7f5d3SJohn Marino */ 55*86d7f5d3SJohn Marino struct vlanreq { 56*86d7f5d3SJohn Marino char vlr_parent[IFNAMSIZ]; 57*86d7f5d3SJohn Marino u_short vlr_tag; 58*86d7f5d3SJohn Marino }; 59*86d7f5d3SJohn Marino #define SIOCSETVLAN SIOCSIFGENERIC 60*86d7f5d3SJohn Marino #define SIOCGETVLAN SIOCGIFGENERIC 61*86d7f5d3SJohn Marino 62*86d7f5d3SJohn Marino #endif /* _NET_IF_VLAN_VAR_H_ */ 63