1*3dec9fcdSqs /* 2*3dec9fcdSqs * CDDL HEADER START 3*3dec9fcdSqs * 4*3dec9fcdSqs * The contents of this file are subject to the terms of the 5*3dec9fcdSqs * Common Development and Distribution License (the "License"). 6*3dec9fcdSqs * You may not use this file except in compliance with the License. 7*3dec9fcdSqs * 8*3dec9fcdSqs * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*3dec9fcdSqs * or http://www.opensolaris.org/os/licensing. 10*3dec9fcdSqs * See the License for the specific language governing permissions 11*3dec9fcdSqs * and limitations under the License. 12*3dec9fcdSqs * 13*3dec9fcdSqs * When distributing Covered Code, include this CDDL HEADER in each 14*3dec9fcdSqs * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*3dec9fcdSqs * If applicable, add the following below this CDDL HEADER, with the 16*3dec9fcdSqs * fields enclosed by brackets "[]" replaced with your own identifying 17*3dec9fcdSqs * information: Portions Copyright [yyyy] [name of copyright owner] 18*3dec9fcdSqs * 19*3dec9fcdSqs * CDDL HEADER END 20*3dec9fcdSqs */ 21*3dec9fcdSqs /* 22*3dec9fcdSqs * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 23*3dec9fcdSqs * Use is subject to license terms. 24*3dec9fcdSqs */ 25*3dec9fcdSqs 26*3dec9fcdSqs #ifndef _SYS_HXGE_HXGE_VMAC_H 27*3dec9fcdSqs #define _SYS_HXGE_HXGE_VMAC_H 28*3dec9fcdSqs 29*3dec9fcdSqs #ifdef __cplusplus 30*3dec9fcdSqs extern "C" { 31*3dec9fcdSqs #endif 32*3dec9fcdSqs 33*3dec9fcdSqs #include <hxge_vmac_hw.h> 34*3dec9fcdSqs #include <hpi_vmac.h> 35*3dec9fcdSqs 36*3dec9fcdSqs /* Common MAC statistics */ 37*3dec9fcdSqs typedef struct _hxge_mac_stats { 38*3dec9fcdSqs /* Transciever state informations. */ 39*3dec9fcdSqs uint32_t cap_10gfdx; 40*3dec9fcdSqs 41*3dec9fcdSqs /* Advertised capabilities. */ 42*3dec9fcdSqs uint32_t adv_cap_10gfdx; 43*3dec9fcdSqs 44*3dec9fcdSqs /* Link partner capabilities. */ 45*3dec9fcdSqs uint32_t lp_cap_10gfdx; 46*3dec9fcdSqs 47*3dec9fcdSqs /* Physical link statistics. */ 48*3dec9fcdSqs uint32_t link_speed; 49*3dec9fcdSqs uint32_t link_duplex; 50*3dec9fcdSqs uint32_t link_up; 51*3dec9fcdSqs 52*3dec9fcdSqs /* Promiscous mode */ 53*3dec9fcdSqs boolean_t promisc; 54*3dec9fcdSqs } hxge_mac_stats_t; 55*3dec9fcdSqs 56*3dec9fcdSqs /* VMAC statistics */ 57*3dec9fcdSqs 58*3dec9fcdSqs typedef struct _hxge_vmac_stats { 59*3dec9fcdSqs uint64_t tx_frame_cnt; /* vmac_tx_frame_cnt_t */ 60*3dec9fcdSqs uint64_t tx_byte_cnt; /* vmac_tx_byte_cnt_t */ 61*3dec9fcdSqs 62*3dec9fcdSqs uint64_t rx_frame_cnt; /* vmac_rx_frame_cnt_t */ 63*3dec9fcdSqs uint64_t rx_byte_cnt; /* vmac_rx_byte_cnt_t */ 64*3dec9fcdSqs uint64_t rx_drop_frame_cnt; /* vmac_rx_drop_fr_cnt_t */ 65*3dec9fcdSqs uint64_t rx_drop_byte_cnt; /* vmac_rx_drop_byte_cnt_t */ 66*3dec9fcdSqs uint64_t rx_crc_cnt; /* vmac_rx_crc_cnt_t */ 67*3dec9fcdSqs uint64_t rx_pause_cnt; /* vmac_rx_pause_cnt_t */ 68*3dec9fcdSqs uint64_t rx_bcast_fr_cnt; /* vmac_rx_bcast_fr_cnt_t */ 69*3dec9fcdSqs uint64_t rx_mcast_fr_cnt; /* vmac_rx_mcast_fr_cnt_t */ 70*3dec9fcdSqs } hxge_vmac_stats_t, *p_hxge_vmac_stats_t; 71*3dec9fcdSqs 72*3dec9fcdSqs 73*3dec9fcdSqs typedef struct _hxge_vmac { 74*3dec9fcdSqs boolean_t is_jumbo; 75*3dec9fcdSqs uint64_t tx_config; 76*3dec9fcdSqs uint64_t rx_config; 77*3dec9fcdSqs uint16_t minframesize; 78*3dec9fcdSqs uint16_t maxframesize; 79*3dec9fcdSqs uint16_t maxburstsize; 80*3dec9fcdSqs } hxge_vmac_t; 81*3dec9fcdSqs 82*3dec9fcdSqs 83*3dec9fcdSqs #ifdef __cplusplus 84*3dec9fcdSqs } 85*3dec9fcdSqs #endif 86*3dec9fcdSqs 87*3dec9fcdSqs #endif /* _SYS_HXGE_HXGE_VMAC_H */ 88