#include <linux/netdevice.h>
#include <linux/pci.h>
#include "enic_api.h"
#include "usnic_common_pkt_hdr.h"
#include "usnic_fwd.h"
#include "usnic_log.h"
static int usnic_fwd_devcmd_locked(struct usnic_fwd_dev *ufdev, int vnic_idx,
enum vnic_devcmd_cmd cmd, u64 *a0,
u64 *a1)
{ … }
static int usnic_fwd_devcmd(struct usnic_fwd_dev *ufdev, int vnic_idx,
enum vnic_devcmd_cmd cmd, u64 *a0, u64 *a1)
{ … }
struct usnic_fwd_dev *usnic_fwd_dev_alloc(struct pci_dev *pdev)
{ … }
void usnic_fwd_dev_free(struct usnic_fwd_dev *ufdev)
{ … }
void usnic_fwd_set_mac(struct usnic_fwd_dev *ufdev, const char mac[ETH_ALEN])
{ … }
void usnic_fwd_add_ipaddr(struct usnic_fwd_dev *ufdev, __be32 inaddr)
{ … }
void usnic_fwd_del_ipaddr(struct usnic_fwd_dev *ufdev)
{ … }
void usnic_fwd_carrier_up(struct usnic_fwd_dev *ufdev)
{ … }
void usnic_fwd_carrier_down(struct usnic_fwd_dev *ufdev)
{ … }
void usnic_fwd_set_mtu(struct usnic_fwd_dev *ufdev, unsigned int mtu)
{ … }
static int usnic_fwd_dev_ready_locked(struct usnic_fwd_dev *ufdev)
{ … }
static int validate_filter_locked(struct usnic_fwd_dev *ufdev,
struct filter *filter)
{ … }
static void fill_tlv(struct filter_tlv *tlv, struct filter *filter,
struct filter_action *action)
{ … }
struct usnic_fwd_flow*
usnic_fwd_alloc_flow(struct usnic_fwd_dev *ufdev, struct filter *filter,
struct usnic_filter_action *uaction)
{ … }
int usnic_fwd_dealloc_flow(struct usnic_fwd_flow *flow)
{ … }
int usnic_fwd_enable_qp(struct usnic_fwd_dev *ufdev, int vnic_idx, int qp_idx)
{ … }
int usnic_fwd_disable_qp(struct usnic_fwd_dev *ufdev, int vnic_idx, int qp_idx)
{ … }