FreeBSD kernel BXE device code
ecore_mcast_obj Struct Reference

#include <ecore_sp.h>

Collaboration diagram for ecore_mcast_obj:

Data Fields

struct ecore_raw_obj raw
 
union {
   struct {
      uint64_t   vec [ECORE_MCAST_VEC_SZ]
 
      int   num_bins_set
 
   }   aprox_match
 
   struct {
      ecore_list_t   macs
 
      int   num_macs_set
 
   }   exact_match
 
registry
 
ecore_list_t pending_cmds_head
 
int sched_state
 
int max_cmd_len
 
int total_pending_num
 
uint8_t engine_id
 
int(* config_mcast )(struct bxe_softc *sc, struct ecore_mcast_ramrod_params *p, enum ecore_mcast_cmd cmd)
 
int(* hdl_restore )(struct bxe_softc *sc, struct ecore_mcast_obj *o, int start_bin, int *rdata_idx)
 
int(* enqueue_cmd )(struct bxe_softc *sc, struct ecore_mcast_obj *o, struct ecore_mcast_ramrod_params *p, enum ecore_mcast_cmd cmd)
 
void(* set_one_rule )(struct bxe_softc *sc, struct ecore_mcast_obj *o, int idx, union ecore_mcast_config_data *cfg_data, enum ecore_mcast_cmd cmd)
 
bool(* check_pending )(struct ecore_mcast_obj *o)
 
void(* set_sched )(struct ecore_mcast_obj *o)
 
void(* clear_sched )(struct ecore_mcast_obj *o)
 
bool(* check_sched )(struct ecore_mcast_obj *o)
 
int(* wait_comp )(struct bxe_softc *sc, struct ecore_mcast_obj *o)
 
int(* validate )(struct bxe_softc *sc, struct ecore_mcast_ramrod_params *p, enum ecore_mcast_cmd cmd)
 
void(* revert )(struct bxe_softc *sc, struct ecore_mcast_ramrod_params *p, int old_num_bins)
 
int(* get_registry_size )(struct ecore_mcast_obj *o)
 
void(* set_registry_size )(struct ecore_mcast_obj *o, int n)
 

Detailed Description

Definition at line 1005 of file ecore_sp.h.

Field Documentation

◆ 

◆ check_pending

bool(* ecore_mcast_obj::check_pending) (struct ecore_mcast_obj *o)

Checks if there are more mcast MACs to be set or a previous command is still pending.

Definition at line 1076 of file ecore_sp.h.

Referenced by bxe_handle_mcast_eqe(), and ecore_init_mcast_obj().

◆ check_sched

bool(* ecore_mcast_obj::check_sched) (struct ecore_mcast_obj *o)

◆ clear_sched

void(* ecore_mcast_obj::clear_sched) (struct ecore_mcast_obj *o)

Definition at line 1082 of file ecore_sp.h.

Referenced by ecore_init_mcast_obj(), ecore_mcast_setup_e1(), and ecore_mcast_setup_e2().

◆ config_mcast

int(* ecore_mcast_obj::config_mcast) (struct bxe_softc *sc, struct ecore_mcast_ramrod_params *p, enum ecore_mcast_cmd cmd)
Parameters
cmdcommand to execute (ECORE_MCAST_CMD_X, see above)

Definition at line 1046 of file ecore_sp.h.

Referenced by ecore_config_mcast(), and ecore_init_mcast_obj().

◆ engine_id

uint8_t ecore_mcast_obj::engine_id

Definition at line 1041 of file ecore_sp.h.

Referenced by ecore_init_mcast_obj(), and ecore_mcast_set_one_rule_e2().

◆ enqueue_cmd

int(* ecore_mcast_obj::enqueue_cmd) (struct bxe_softc *sc, struct ecore_mcast_obj *o, struct ecore_mcast_ramrod_params *p, enum ecore_mcast_cmd cmd)

Definition at line 1064 of file ecore_sp.h.

Referenced by ecore_config_mcast(), and ecore_init_mcast_obj().

◆ 

◆ get_registry_size

int(* ecore_mcast_obj::get_registry_size) (struct ecore_mcast_obj *o)

◆ hdl_restore

int(* ecore_mcast_obj::hdl_restore) (struct bxe_softc *sc, struct ecore_mcast_obj *o, int start_bin, int *rdata_idx)

Fills the ramrod data during the RESTORE flow.

Parameters
sc
o
start_idxRegistry index to start from
rdata_idxIndex in the ramrod data to start from
Returns
-1 if we handled the whole registry or index of the last handled registry element.

Definition at line 1061 of file ecore_sp.h.

Referenced by ecore_init_mcast_obj(), ecore_mcast_handle_current_cmd(), ecore_mcast_handle_pending_cmds_e1(), and ecore_mcast_hdl_pending_restore_e2().

◆ macs

ecore_list_t ecore_mcast_obj::macs

◆ max_cmd_len

◆ num_bins_set

int ecore_mcast_obj::num_bins_set

Number of BINs to clear. Should be updated immediately when a command arrives in order to properly create DEL commands.

Definition at line 1018 of file ecore_sp.h.

Referenced by ecore_mcast_get_registry_size_aprox(), and ecore_mcast_set_registry_size_aprox().

◆ num_macs_set

int ecore_mcast_obj::num_macs_set

◆ pending_cmds_head

◆ raw

◆ 

◆ revert

void(* ecore_mcast_obj::revert) (struct bxe_softc *sc, struct ecore_mcast_ramrod_params *p, int old_num_bins)

Restore the values of internal counters in case of a failure.

Definition at line 1100 of file ecore_sp.h.

Referenced by ecore_config_mcast(), and ecore_init_mcast_obj().

◆ sched_state

int ecore_mcast_obj::sched_state

◆ set_one_rule

◆ set_registry_size

void(* ecore_mcast_obj::set_registry_size) (struct ecore_mcast_obj *o, int n)

◆ set_sched

void(* ecore_mcast_obj::set_sched) (struct ecore_mcast_obj *o)

Set/Clear/Check SCHEDULED state of the object

Definition at line 1081 of file ecore_sp.h.

Referenced by ecore_init_mcast_obj(), and ecore_mcast_enqueue_cmd().

◆ total_pending_num

◆ validate

int(* ecore_mcast_obj::validate) (struct bxe_softc *sc, struct ecore_mcast_ramrod_params *p, enum ecore_mcast_cmd cmd)

Handle the internal object counters needed for proper commands handling. Checks that the provided parameters are feasible.

Definition at line 1093 of file ecore_sp.h.

Referenced by ecore_config_mcast(), and ecore_init_mcast_obj().

◆ vec

◆ wait_comp

int(* ecore_mcast_obj::wait_comp) (struct bxe_softc *sc, struct ecore_mcast_obj *o)

Definition at line 1086 of file ecore_sp.h.

Referenced by ecore_config_mcast(), and ecore_init_mcast_obj().


The documentation for this struct was generated from the following file: