xref: /titanic_51/usr/src/uts/common/sys/mac_ipv4_impl.h (revision 2b24ab6b3865caeede9eeb9db6b83e1d89dcd1ea)
1*2b24ab6bSSebastien Roy /*
2*2b24ab6bSSebastien Roy  * CDDL HEADER START
3*2b24ab6bSSebastien Roy  *
4*2b24ab6bSSebastien Roy  * The contents of this file are subject to the terms of the
5*2b24ab6bSSebastien Roy  * Common Development and Distribution License (the "License").
6*2b24ab6bSSebastien Roy  * You may not use this file except in compliance with the License.
7*2b24ab6bSSebastien Roy  *
8*2b24ab6bSSebastien Roy  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*2b24ab6bSSebastien Roy  * or http://www.opensolaris.org/os/licensing.
10*2b24ab6bSSebastien Roy  * See the License for the specific language governing permissions
11*2b24ab6bSSebastien Roy  * and limitations under the License.
12*2b24ab6bSSebastien Roy  *
13*2b24ab6bSSebastien Roy  * When distributing Covered Code, include this CDDL HEADER in each
14*2b24ab6bSSebastien Roy  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*2b24ab6bSSebastien Roy  * If applicable, add the following below this CDDL HEADER, with the
16*2b24ab6bSSebastien Roy  * fields enclosed by brackets "[]" replaced with your own identifying
17*2b24ab6bSSebastien Roy  * information: Portions Copyright [yyyy] [name of copyright owner]
18*2b24ab6bSSebastien Roy  *
19*2b24ab6bSSebastien Roy  * CDDL HEADER END
20*2b24ab6bSSebastien Roy  */
21*2b24ab6bSSebastien Roy /*
22*2b24ab6bSSebastien Roy  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
23*2b24ab6bSSebastien Roy  * Use is subject to license terms.
24*2b24ab6bSSebastien Roy  */
25*2b24ab6bSSebastien Roy 
26*2b24ab6bSSebastien Roy #ifndef	_SYS_MAC_IPV4_IMPL_H
27*2b24ab6bSSebastien Roy #define	_SYS_MAC_IPV4_IMPL_H
28*2b24ab6bSSebastien Roy 
29*2b24ab6bSSebastien Roy /*
30*2b24ab6bSSebastien Roy  * IPv4 tunneling MAC Plugin
31*2b24ab6bSSebastien Roy  */
32*2b24ab6bSSebastien Roy 
33*2b24ab6bSSebastien Roy #include <sys/mac.h>
34*2b24ab6bSSebastien Roy 
35*2b24ab6bSSebastien Roy #ifdef	__cplusplus
36*2b24ab6bSSebastien Roy extern "C" {
37*2b24ab6bSSebastien Roy #endif
38*2b24ab6bSSebastien Roy 
39*2b24ab6bSSebastien Roy /*
40*2b24ab6bSSebastien Roy  * In addition to the mac_ipv4 plugin, the mac_6to4, and mac_ipv6 plugins
41*2b24ab6bSSebastien Roy  * use the following functions.
42*2b24ab6bSSebastien Roy  */
43*2b24ab6bSSebastien Roy int mac_ipv4_unicst_verify(const void *, void *);
44*2b24ab6bSSebastien Roy int mac_ipv4_multicst_verify(const void *, void *);
45*2b24ab6bSSebastien Roy boolean_t mac_ipv4_sap_verify(uint32_t, uint32_t *, void *);
46*2b24ab6bSSebastien Roy mblk_t *mac_ipv4_header(const void *, const void *, uint32_t, void *, mblk_t *,
47*2b24ab6bSSebastien Roy     size_t);
48*2b24ab6bSSebastien Roy int mac_ipv4_header_info(mblk_t *, void *, mac_header_info_t *);
49*2b24ab6bSSebastien Roy boolean_t mac_ipv4_pdata_verify(void *, size_t);
50*2b24ab6bSSebastien Roy 
51*2b24ab6bSSebastien Roy #ifdef	__cplusplus
52*2b24ab6bSSebastien Roy }
53*2b24ab6bSSebastien Roy #endif
54*2b24ab6bSSebastien Roy 
55*2b24ab6bSSebastien Roy #endif /* _SYS_MAC_IPV4_IMPL_H */
56