1 #ifndef NODNIC_NODNICDATASTRUCTURES_H_ 2 #define NODNIC_NODNICDATASTRUCTURES_H_ 25 #include "../../mlx_utils/include/public/mlx_utils.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 158 typedef struct _nodnic_port_data_flow_gw nodnic_port_data_flow_gw;
159 struct _nodnic_port_data_flow_gw {
219 nodnic_port_data_flow_gw *data_flow_gw;
mlx_status(* send_doorbell)(IN nodnic_port_priv *port_priv, IN struct nodnic_ring *ring, IN mlx_uint16 index)
struct nodnic_doorbell arm_cq_doorbell
mlx_uint8 log_pkey_table_size
struct nodnic_send_ring send
struct _nodnic_qp_db __attribute((packed))
nodnic_device_priv * device
nodnic_qp_db * qp_doorbell_record
mlx_uint8 support_rx_pi_dma
mlx_status(* set_dma)(IN nodnic_port_priv *port_priv, IN mlx_boolean value)
mlx_void * cq_virt
cq entries
struct nodnic_send_wqbb * wqe_virt
mlx_physical_address wqe_physical
Work queue entries.
mlx_physical_address doorbell_physical
pseudo_bit_t reserved2[0x00005]
mlx_uint32 num_wqes
Next work queue entry index.
mlx_physical_address eq_physical
pseudo_bit_t value[0x00020]
mlx_mac_address mac_filters[5]
nodnic_hardware_format hardware_format
mlx_boolean is_initiailzied
mlx_boolean network_state
nodnic_device_capabilites device_cap
struct _nodnic_uar_priv nodnic_uar
struct nodnic_doorbell recv_doorbell
mlx_uint8 force_align[NODNIC_WQBB_SIZE]
nodnic_queue_pair_type type
mlx_uint8 support_bar_cq_ctrl
struct nodnic_recv_ring receive
mlx_status(* recv_doorbell)(IN nodnic_port_priv *port_priv, IN struct nodnic_ring *ring, IN mlx_uint16 index)
mlx_uint8 nodnic_revision
nodnic_port_type port_type
struct nodnic_doorbell send_doorbell
mlx_uint8 support_uar_tx_db
FILE_LICENCE(GPL2_OR_LATER)
mlx_boolean support_promisc_filter
mlx_uint8 log_uar_page_size
mlx_uint8 log_max_ring_size
mlx_boolean support_promisc_multicast_filter
mlx_physical_address cq_physical
nodnic_arm_cq_db * arm_cq_doorbell_record
unsigned long mlx_physical_address
mlx_uint8 log_working_buffer_size
mlx_size wq_size
Size of work queue.
mlx_boolean support_mac_filters