#include <linux/etherdevice.h>
#include <linux/ethtool.h>
#include "fbnic.h"
#include "fbnic_netdev.h"
#include "fbnic_rpc.h"
void fbnic_reset_indir_tbl(struct fbnic_net *fbn)
{ … }
void fbnic_rss_key_fill(u32 *buffer)
{ … }
#define RX_HASH_OPT_L4 …
#define RX_HASH_OPT_L3 …
#define RX_HASH_OPT_L2 …
void fbnic_rss_init_en_mask(struct fbnic_net *fbn)
{ … }
void fbnic_rss_disable_hw(struct fbnic_dev *fbd)
{ … }
#define FBNIC_FH_2_RSSEM_BIT(_fh, _rssem, _val) …
static u16 fbnic_flow_hash_2_rss_en_mask(struct fbnic_net *fbn, int flow_type)
{ … }
void fbnic_rss_reinit_hw(struct fbnic_dev *fbd, struct fbnic_net *fbn)
{ … }
void fbnic_bmc_rpc_all_multi_config(struct fbnic_dev *fbd,
bool enable_host)
{ … }
void fbnic_bmc_rpc_init(struct fbnic_dev *fbd)
{ … }
#define FBNIC_ACT1_INIT(_l4, _udp, _ip, _v6) …
void fbnic_rss_reinit(struct fbnic_dev *fbd, struct fbnic_net *fbn)
{ … }
struct fbnic_mac_addr *__fbnic_uc_sync(struct fbnic_dev *fbd,
const unsigned char *addr)
{ … }
struct fbnic_mac_addr *__fbnic_mc_sync(struct fbnic_dev *fbd,
const unsigned char *addr)
{ … }
int __fbnic_xc_unsync(struct fbnic_mac_addr *mac_addr, unsigned int tcam_idx)
{ … }
void fbnic_sift_macda(struct fbnic_dev *fbd)
{ … }
static void fbnic_clear_macda_entry(struct fbnic_dev *fbd, unsigned int idx)
{ … }
static void fbnic_clear_macda(struct fbnic_dev *fbd)
{ … }
static void fbnic_write_macda_entry(struct fbnic_dev *fbd, unsigned int idx,
struct fbnic_mac_addr *mac_addr)
{ … }
void fbnic_write_macda(struct fbnic_dev *fbd)
{ … }
static void fbnic_clear_act_tcam(struct fbnic_dev *fbd, unsigned int idx)
{ … }
void fbnic_clear_rules(struct fbnic_dev *fbd)
{ … }
static void fbnic_delete_act_tcam(struct fbnic_dev *fbd, unsigned int idx)
{ … }
static void fbnic_update_act_tcam(struct fbnic_dev *fbd, unsigned int idx)
{ … }
void fbnic_write_rules(struct fbnic_dev *fbd)
{ … }