blob: 79f9b3e146f7112cf0a9fe38a8486f7c238e4fa7 [file] [log] [blame]
/*
* Copyright (c) 2005-2009 Brocade Communications Systems, Inc.
* All rights reserved
* www.brocade.com
*
* Linux driver for Brocade Fibre Channel Host Bus Adapter.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License (GPL) Version 2 as
* published by the Free Software Foundation
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*/
#ifndef __BFA_DEFS_ETHPORT_H__
#define __BFA_DEFS_ETHPORT_H__
#include <defs/bfa_defs_status.h>
#include <protocol/types.h>
#include <cna/pstats/phyport_defs.h>
#include <cna/pstats/ethport_defs.h>
struct bna_tx_info_s {
u32 miniport_state;
u32 adapter_state;
u64 tx_count;
u64 tx_wi;
u64 tx_sg;
u64 tx_tcp_chksum;
u64 tx_udp_chksum;
u64 tx_ip_chksum;
u64 tx_lsov1;
u64 tx_lsov2;
u64 tx_max_sg_len ;
};
struct bna_rx_queue_info_s {
u16 q_id ;
u16 buf_size ;
u16 buf_count ;
u16 rsvd ;
u64 rx_count ;
u64 rx_dropped ;
u64 rx_unsupported ;
u64 rx_internal_err ;
u64 rss_count ;
u64 vlan_count ;
u64 rx_tcp_chksum ;
u64 rx_udp_chksum ;
u64 rx_ip_chksum ;
u64 rx_hds ;
};
struct bna_rx_q_set_s {
u16 q_set_type;
u32 miniport_state;
u32 adapter_state;
struct bna_rx_queue_info_s rx_queue[2];
};
struct bna_port_stats_s {
struct bna_tx_info_s tx_stats;
u16 qset_count ;
struct bna_rx_q_set_s rx_qset[8];
};
struct bfa_ethport_stats_s {
struct bna_stats_txf txf_stats[1];
struct bna_stats_rxf rxf_stats[1];
struct bnad_drv_stats drv_stats;
};
/**
* Ethernet port events
* Arguments below are in BFAL context from Mgmt
* BFA_PORT_AEN_ETH_LINKUP: [in]: mac [out]: mac
* BFA_PORT_AEN_ETH_LINKDOWN: [in]: mac [out]: mac
* BFA_PORT_AEN_ETH_ENABLE: [in]: mac [out]: mac
* BFA_PORT_AEN_ETH_DISABLE: [in]: mac [out]: mac
*
*/
enum bfa_ethport_aen_event {
BFA_ETHPORT_AEN_LINKUP = 1, /* Base Port Ethernet link up event */
BFA_ETHPORT_AEN_LINKDOWN = 2, /* Base Port Ethernet link down event */
BFA_ETHPORT_AEN_ENABLE = 3, /* Base Port Ethernet link enable event */
BFA_ETHPORT_AEN_DISABLE = 4, /* Base Port Ethernet link disable
* event */
};
struct bfa_ethport_aen_data_s {
mac_t mac; /* MAC address of the physical port */
};
#endif /* __BFA_DEFS_ETHPORT_H__ */