#ifndef _HFI1_VNIC_H
#define _HFI1_VNIC_H
#include <rdma/opa_vnic.h>
#include "hfi.h"
#include "sdma.h"
#define HFI1_VNIC_MAX_TXQ …
#define HFI1_VNIC_MAX_PAD …
#define HFI1_VNIC_L4_HDR_OFFSET …
#define HFI1_VNIC_GET_L4_HDR(data) …
#define HFI1_VNIC_GET_VESWID(data) …
#define HFI1_VNIC_SC_OFFSET_LOW …
#define HFI1_VNIC_SC_OFFSET_HI …
#define HFI1_VNIC_SC_SHIFT …
#define HFI1_VNIC_MAX_QUEUE …
#define HFI1_NUM_VNIC_CTXT …
struct hfi1_vnic_sdma { … };
struct hfi1_vnic_rx_queue { … };
struct hfi1_vnic_vport_info { … };
#define v_dbg(format, arg...) …
#define v_err(format, arg...) …
#define v_info(format, arg...) …
void hfi1_vnic_setup(struct hfi1_devdata *dd);
int hfi1_vnic_txreq_init(struct hfi1_devdata *dd);
void hfi1_vnic_txreq_deinit(struct hfi1_devdata *dd);
void hfi1_vnic_bypass_rcv(struct hfi1_packet *packet);
void hfi1_vnic_sdma_init(struct hfi1_vnic_vport_info *vinfo);
bool hfi1_vnic_sdma_write_avail(struct hfi1_vnic_vport_info *vinfo,
u8 q_idx);
struct net_device *hfi1_vnic_alloc_rn(struct ib_device *device,
u32 port_num,
enum rdma_netdev_t type,
const char *name,
unsigned char name_assign_type,
void (*setup)(struct net_device *));
int hfi1_vnic_send_dma(struct hfi1_devdata *dd, u8 q_idx,
struct hfi1_vnic_vport_info *vinfo,
struct sk_buff *skb, u64 pbc, u8 plen);
#endif