iphada.h revision 7c478bd95313f5f23a4c958a745db2134aa03244
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (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
* 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]
*
* CDDL HEADER END
*/
/*
* Copyright 2002-2003 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SYS_IPHADA_H
#define _SYS_IPHADA_H
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef __cplusplus
extern "C" {
#endif
/*
* iphada.h header for IP Hardware Acceleration Data Attributes
*
* This is a contract private interface for use by the Sun
* Hardware Accelerated Ethernet driver ONLY.
*/
typedef struct da_ipsec {
int da_type; /* M_CTL message ident */
int da_flag;
} da_ipsec_t;
#define IPHADA_M_CTL 0xA1D53DE5u
/*
* IPSec algorithms capabilities (cip_data in dl_capab_ipsec_t)
*/
typedef struct {
/*
* IPSec sub-capability (follows dl_capability_sub_t)
*/
typedef struct {
/*
* Algorithm types (alg_type field of dl_capab_ipsec_alg_t)
*/
/* alg_prim ciphers */
#define DL_CAPAB_IPSEC_ENCR_DES 0x02
#define DL_CAPAB_IPSEC_ENCR_3DES 0x03
#define DL_CAPAB_IPSEC_ENCR_BLOWFISH 0x07
#define DL_CAPAB_IPSEC_ENCR_AES 0x0c
/* alg_prim authentications */
#define DL_CAPAB_IPSEC_AUTH_MD5HMAC 0x02
#define DL_CAPAB_IPSEC_AUTH_SHA1HMAC 0x03
/* alg_flag values */
/*
* For DL_CT_IPSEC_AH and DL_CT_IPSEC_ESP, the optional dl_key data
* that follows the dl_control_req_t or dl_control_ack_t will be the IPsec
* SPI (Security Parameters Index) value and the destination address.
* This is defined as being unique per protocol.
*/
typedef struct dl_ct_ipsec_key {
/* (AF_INET or AF_INET6) */
/*
* Possible flags for sadb_sa_flags.
*/
/*
* minimal SADB entry content
* This defines the content and format of the dl_data portion of
* the dl_control_req_t or dl_control_ack_t.
*/
typedef struct dl_ct_ipsec {
#ifdef __cplusplus
}
#endif
#endif /* _SYS_IPHADA_H */