#include <linux/bitfield.h>
#include <linux/netdevice.h>
#include <linux/skbuff.h>
#include <linux/workqueue.h>
#include <net/dst_metadata.h>
#include "main.h"
#include "../nfp_net.h"
#include "../nfp_net_repr.h"
#include "./cmsg.h"
static struct nfp_flower_cmsg_hdr *
nfp_flower_cmsg_get_hdr(struct sk_buff *skb)
{ … }
struct sk_buff *
nfp_flower_cmsg_alloc(struct nfp_app *app, unsigned int size,
enum nfp_flower_cmsg_type_port type, gfp_t flag)
{ … }
struct sk_buff *
nfp_flower_cmsg_mac_repr_start(struct nfp_app *app, unsigned int num_ports)
{ … }
void
nfp_flower_cmsg_mac_repr_add(struct sk_buff *skb, unsigned int idx,
unsigned int nbi, unsigned int nbi_port,
unsigned int phys_port)
{ … }
int nfp_flower_cmsg_portmod(struct nfp_repr *repr, bool carrier_ok,
unsigned int mtu, bool mtu_only)
{ … }
int nfp_flower_cmsg_portreify(struct nfp_repr *repr, bool exists)
{ … }
static bool
nfp_flower_process_mtu_ack(struct nfp_app *app, struct sk_buff *skb)
{ … }
static void
nfp_flower_cmsg_portmod_rx(struct nfp_app *app, struct sk_buff *skb)
{ … }
static void
nfp_flower_cmsg_portreify_rx(struct nfp_app *app, struct sk_buff *skb)
{ … }
static void
nfp_flower_cmsg_merge_hint_rx(struct nfp_app *app, struct sk_buff *skb)
{ … }
static void
nfp_flower_cmsg_process_one_rx(struct nfp_app *app, struct sk_buff *skb)
{ … }
void nfp_flower_cmsg_process_rx(struct work_struct *work)
{ … }
static void
nfp_flower_queue_ctl_msg(struct nfp_app *app, struct sk_buff *skb, int type)
{ … }
void nfp_flower_cmsg_rx(struct nfp_app *app, struct sk_buff *skb)
{ … }