#include <linux/pci.h>
#include <linux/if_vlan.h>
#include "liquidio_common.h"
#include "octeon_droq.h"
#include "octeon_iq.h"
#include "response_manager.h"
#include "octeon_device.h"
#include "octeon_nic.h"
#include "octeon_main.h"
#include "octeon_network.h"
#include "lio_vf_rep.h"
static int lio_vf_rep_open(struct net_device *ndev);
static int lio_vf_rep_stop(struct net_device *ndev);
static netdev_tx_t lio_vf_rep_pkt_xmit(struct sk_buff *skb,
struct net_device *ndev);
static void lio_vf_rep_tx_timeout(struct net_device *netdev, unsigned int txqueue);
static int lio_vf_rep_phys_port_name(struct net_device *dev,
char *buf, size_t len);
static void lio_vf_rep_get_stats64(struct net_device *dev,
struct rtnl_link_stats64 *stats64);
static int lio_vf_rep_change_mtu(struct net_device *ndev, int new_mtu);
static int lio_vf_get_port_parent_id(struct net_device *dev,
struct netdev_phys_item_id *ppid);
static const struct net_device_ops lio_vf_rep_ndev_ops = …;
static int
lio_vf_rep_send_soft_command(struct octeon_device *oct,
void *req, int req_size,
void *resp, int resp_size)
{ … }
static int
lio_vf_rep_open(struct net_device *ndev)
{ … }
static int
lio_vf_rep_stop(struct net_device *ndev)
{ … }
static void
lio_vf_rep_tx_timeout(struct net_device *ndev, unsigned int txqueue)
{ … }
static void
lio_vf_rep_get_stats64(struct net_device *dev,
struct rtnl_link_stats64 *stats64)
{ … }
static int
lio_vf_rep_change_mtu(struct net_device *ndev, int new_mtu)
{ … }
static int
lio_vf_rep_phys_port_name(struct net_device *dev,
char *buf, size_t len)
{ … }
static struct net_device *
lio_vf_rep_get_ndev(struct octeon_device *oct, int ifidx)
{ … }
static void
lio_vf_rep_copy_packet(struct octeon_device *oct,
struct sk_buff *skb,
int len)
{ … }
static int
lio_vf_rep_pkt_recv(struct octeon_recv_info *recv_info, void *buf)
{ … }
static void
lio_vf_rep_packet_sent_callback(struct octeon_device *oct,
u32 status, void *buf)
{ … }
static netdev_tx_t
lio_vf_rep_pkt_xmit(struct sk_buff *skb, struct net_device *ndev)
{ … }
static int lio_vf_get_port_parent_id(struct net_device *dev,
struct netdev_phys_item_id *ppid)
{ … }
static void
lio_vf_rep_fetch_stats(struct work_struct *work)
{ … }
int
lio_vf_rep_create(struct octeon_device *oct)
{ … }
void
lio_vf_rep_destroy(struct octeon_device *oct)
{ … }
static int
lio_vf_rep_netdev_event(struct notifier_block *nb,
unsigned long event, void *ptr)
{ … }
static struct notifier_block lio_vf_rep_netdev_notifier = …;
int
lio_vf_rep_modinit(void)
{ … }
void
lio_vf_rep_modexit(void)
{ … }