1#ifndef NODNIC_NODNICDATASTRUCTURES_H_
2#define NODNIC_NODNICDATASTRUCTURES_H_
28#define NODNIC_MEMORY_ALIGN 0x1000
30#define NODNIC_MAX_MAC_FILTERS 5
31#define NODNIC_MAX_MGID_FILTERS 4
49#define NODNIC_PORT_OPENED 0b00000001
50#define NODNIC_PORT_DISABLING_DMA 0b00000010
72#define RECV_WQE_SIZE 16
73#define NODNIC_WQBB_SIZE 64
158typedef struct _nodnic_port_data_flow_gw nodnic_port_data_flow_gw;
159struct _nodnic_port_data_flow_gw {
219 nodnic_port_data_flow_gw *data_flow_gw;
pseudo_bit_t value[0x00020]
pseudo_bit_t reserved2[0x00005]
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
struct _nodnic_device_priv nodnic_device_priv
struct _nodnic_qp_db nodnic_qp_db
struct _nodnic_port_priv nodnic_port_priv
struct _nodnic_qp nodnic_qp
struct _nodnic_device_capabilites nodnic_device_capabilites
struct _nodnic_arm_cq_db nodnic_arm_cq_db
struct _nodnic_uar_priv nodnic_uar
struct _nodnic_cq nodnic_cq
@ NODNIC_PORT_TYPE_UNKNOWN
struct _nodnic_eq nodnic_eq
unsigned long mlx_physical_address
struct tx_ring_info __attribute
mlx_void * cq_virt
cq entries
struct nodnic_doorbell arm_cq_doorbell
mlx_physical_address cq_physical
mlx_boolean support_promisc_multicast_filter
mlx_boolean support_promisc_filter
mlx_uint8 support_bar_cq_ctrl
mlx_uint8 support_rx_pi_dma
mlx_uint8 log_uar_page_size
mlx_uint8 log_pkey_table_size
mlx_uint8 support_uar_tx_db
mlx_uint8 log_max_ring_size
mlx_uint8 log_working_buffer_size
mlx_boolean support_mac_filters
mlx_uint8 nodnic_revision
mlx_boolean is_initiailzied
nodnic_hardware_format hardware_format
nodnic_device_capabilites device_cap
mlx_physical_address eq_physical
nodnic_port_type port_type
nodnic_arm_cq_db * arm_cq_doorbell_record
mlx_status(* recv_doorbell)(IN nodnic_port_priv *port_priv, IN struct nodnic_ring *ring, IN mlx_uint16 index)
mlx_mac_address mac_filters[5]
mlx_boolean network_state
mlx_status(* set_dma)(IN nodnic_port_priv *port_priv, IN mlx_boolean value)
mlx_status(* send_doorbell)(IN nodnic_port_priv *port_priv, IN struct nodnic_ring *ring, IN mlx_uint16 index)
nodnic_device_priv * device
struct nodnic_send_ring send
struct nodnic_recv_ring receive
nodnic_queue_pair_type type
mlx_physical_address doorbell_physical
nodnic_qp_db * qp_doorbell_record
struct nodnic_ring nodnic_ring
struct nodnic_doorbell send_doorbell
mlx_physical_address wqe_physical
Work queue entries.
mlx_size wq_size
Size of work queue.
mlx_uint32 num_wqes
Next work queue entry index.
struct nodnic_doorbell recv_doorbell
struct nodnic_ring nodnic_ring
struct nodnic_send_wqbb * wqe_virt
mlx_uint8 force_align[NODNIC_WQBB_SIZE]