#ifndef _VNIC_ENIC_H_
#define _VNIC_ENIC_H_
#define INTR_COALESCE_USEC_TO_HW(usec) ((usec) * 2 / 3)
#define INTR_COALESCE_HW_TO_USEC(usec) ((usec) * 3 / 2)
struct vnic_enet_config {
u32 flags;
u32 wq_desc_count;
u32 rq_desc_count;
u16 mtu;
u16 intr_timer_deprecated;
u8 intr_timer_type;
u8 intr_mode;
char devname[16];
u32 intr_timer_usec;
u16 loop_tag;
u16 vf_rq_count;
u16 num_arfs;
u64 mem_paddr;
u16 rdma_qp_id;
u16 rdma_qp_count;
u16 rdma_resgrp;
u32 rdma_mr_id;
u32 rdma_mr_count;
u32 max_pkt_size;
};
#define VENETF_TSO 0x1
#define VENETF_LRO 0x2
#define VENETF_RXCSUM 0x4
#define VENETF_TXCSUM 0x8
#define VENETF_RSS 0x10
#define VENETF_RSSHASH_IPV4 0x20
#define VENETF_RSSHASH_TCPIPV4 0x40
#define VENETF_RSSHASH_IPV6 0x80
#define VENETF_RSSHASH_TCPIPV6 0x100
#define VENETF_RSSHASH_IPV6_EX 0x200
#define VENETF_RSSHASH_TCPIPV6_EX 0x400
#define VENETF_LOOP 0x800
#define VENETF_FAILOVER 0x1000
#define VENETF_USPACE_NIC 0x2000
#define VENETF_VMQ 0x4000
#define VENETF_ARFS 0x8000
#define VENETF_VXLAN 0x10000
#define VENETF_NVGRE 0x20000
#define VENETF_GRPINTR 0x40000
#define VENETF_NICSWITCH 0x80000
#define VENETF_RSSHASH_UDPIPV4 0x100000
#define VENETF_RSSHASH_UDPIPV6 0x200000
#define VENET_INTR_TYPE_MIN 0
#define VENET_INTR_TYPE_IDLE 1
#define VENET_INTR_MODE_ANY 0
#define VENET_INTR_MODE_MSI 1
#define VENET_INTR_MODE_INTX 2
#endif