#include <linux/bitfield.h>
#include <linux/bitmap.h>
#include <linux/etherdevice.h>
#include <linux/lockdep.h>
#include <linux/netdevice.h>
#include <linux/rcupdate.h>
#include <linux/rtnetlink.h>
#include <linux/slab.h>
#include "../nfpcore/nfp.h"
#include "../nfpcore/nfp_cpp.h"
#include "../nfpcore/nfp_nsp.h"
#include "../nfp_app.h"
#include "../nfp_main.h"
#include "../nfp_net.h"
#include "../nfp_net_repr.h"
#include "../nfp_port.h"
#include "main.h"
static u32 nfp_abm_portid(enum nfp_repr_type rtype, unsigned int id)
{ … }
static int
nfp_abm_setup_tc(struct nfp_app *app, struct net_device *netdev,
enum tc_setup_type type, void *type_data)
{ … }
static struct net_device *
nfp_abm_repr_get(struct nfp_app *app, u32 port_id, bool *redir_egress)
{ … }
static int
nfp_abm_spawn_repr(struct nfp_app *app, struct nfp_abm_link *alink,
enum nfp_port_type ptype)
{ … }
static void
nfp_abm_kill_repr(struct nfp_app *app, struct nfp_abm_link *alink,
enum nfp_repr_type rtype)
{ … }
static void
nfp_abm_kill_reprs(struct nfp_abm *abm, struct nfp_abm_link *alink)
{ … }
static void nfp_abm_kill_reprs_all(struct nfp_abm *abm)
{ … }
static enum devlink_eswitch_mode nfp_abm_eswitch_mode_get(struct nfp_app *app)
{ … }
static int nfp_abm_eswitch_set_legacy(struct nfp_abm *abm)
{ … }
static void nfp_abm_eswitch_clean_up(struct nfp_abm *abm)
{ … }
static int nfp_abm_eswitch_set_switchdev(struct nfp_abm *abm)
{ … }
static int nfp_abm_eswitch_mode_set(struct nfp_app *app, u16 mode)
{ … }
static void
nfp_abm_vnic_set_mac(struct nfp_pf *pf, struct nfp_abm *abm, struct nfp_net *nn,
unsigned int id)
{ … }
static int
nfp_abm_vnic_alloc(struct nfp_app *app, struct nfp_net *nn, unsigned int id)
{ … }
static void nfp_abm_vnic_free(struct nfp_app *app, struct nfp_net *nn)
{ … }
static int nfp_abm_vnic_init(struct nfp_app *app, struct nfp_net *nn)
{ … }
static u64 *
nfp_abm_port_get_stats(struct nfp_app *app, struct nfp_port *port, u64 *data)
{ … }
static int
nfp_abm_port_get_stats_count(struct nfp_app *app, struct nfp_port *port)
{ … }
static u8 *
nfp_abm_port_get_stats_strings(struct nfp_app *app, struct nfp_port *port,
u8 *data)
{ … }
static int nfp_abm_fw_init_reset(struct nfp_abm *abm)
{ … }
static int nfp_abm_init(struct nfp_app *app)
{ … }
static void nfp_abm_clean(struct nfp_app *app)
{ … }
const struct nfp_app_type app_abm = …;