#ifndef _FUNETH_H
#define _FUNETH_H
#include <uapi/linux/if_ether.h>
#include <uapi/linux/net_tstamp.h>
#include <linux/mutex.h>
#include <linux/seqlock.h>
#include <linux/xarray.h>
#include <net/devlink.h>
#include "fun_dev.h"
#define ADMIN_SQE_SIZE …
#define ADMIN_CQE_SIZE …
#define ADMIN_RSP_MAX_LEN …
#define FUN_MAX_MTU …
#define SQ_DEPTH …
#define CQ_DEPTH …
#define RQ_DEPTH …
#define CQ_INTCOAL_USEC …
#define CQ_INTCOAL_NPKT …
#define SQ_INTCOAL_USEC …
#define SQ_INTCOAL_NPKT …
#define INVALID_LPORT …
#define FUN_PORT_CAP_PAUSE_MASK …
struct fun_vport_info { … };
struct fun_ethdev { … };
static inline struct fun_ethdev *to_fun_ethdev(struct fun_dev *p)
{ … }
struct fun_qset { … };
struct funeth_priv { … };
void fun_set_ethtool_ops(struct net_device *netdev);
int fun_port_write_cmd(struct funeth_priv *fp, int key, u64 data);
int fun_port_read_cmd(struct funeth_priv *fp, int key, u64 *data);
int fun_create_and_bind_tx(struct funeth_priv *fp, u32 sqid);
int fun_replace_queues(struct net_device *dev, struct fun_qset *newqs,
struct netlink_ext_ack *extack);
int fun_change_num_queues(struct net_device *dev, unsigned int ntx,
unsigned int nrx);
void fun_set_ring_count(struct net_device *netdev, unsigned int ntx,
unsigned int nrx);
int fun_config_rss(struct net_device *dev, int algo, const u8 *key,
const u32 *qtable, u8 op);
#endif