mlxsw_sp_rif
int mlxsw_sp_fid_rif_set(struct mlxsw_sp_fid *fid, struct mlxsw_sp_rif *rif);
struct mlxsw_sp_rif *mlxsw_sp_fid_rif(const struct mlxsw_sp_fid *fid);
u16 mlxsw_sp_rif_index(const struct mlxsw_sp_rif *rif);
int mlxsw_sp_rif_subport_port(const struct mlxsw_sp_rif *rif,
struct mlxsw_sp_rif;
struct mlxsw_sp_rif *rif)
struct mlxsw_sp_rif *rif = mlxsw_sp_nexthop_rif(nh);
struct mlxsw_sp_rif *rif,
struct mlxsw_sp_rif *rif = mlxsw_sp_rif_by_index(mlxsw_sp, i);
struct mlxsw_sp_rif *rif = mlxsw_sp_rif_by_index(mlxsw_sp, i);
struct mlxsw_sp_rif *rif,
struct mlxsw_sp_rif *rif)
struct mlxsw_sp_rif *rif)
struct mlxsw_sp_rif *rif,
struct mlxsw_sp_rif *rif = mlxsw_sp_rif_by_index(mlxsw_sp, i);
struct mlxsw_sp_rif *rif = mlxsw_sp_rif_by_index(mlxsw_sp, i);
struct mlxsw_sp_rif *rif = mlxsw_sp_rif_by_index(mlxsw_sp, i);
const struct mlxsw_sp_rif *rif)
struct mlxsw_sp_rif *rif;
const struct mlxsw_sp_rif *rif)
struct mlxsw_sp_rif *rif;
struct mlxsw_sp_rif *mlxsw_sp_fid_rif(const struct mlxsw_sp_fid *fid)
const struct mlxsw_sp_rif *rif)
const struct mlxsw_sp_rif *rif,
const struct mlxsw_sp_rif *rif)
const struct mlxsw_sp_rif *rif)
const struct mlxsw_sp_rif *rif)
const struct mlxsw_sp_rif *rif)
const struct mlxsw_sp_rif *rif)
int mlxsw_sp_fid_rif_set(struct mlxsw_sp_fid *fid, struct mlxsw_sp_rif *rif)
const struct mlxsw_sp_rif *rif);
const struct mlxsw_sp_rif *rif;
const struct mlxsw_sp_rif *rif)
unsigned long vif_flags, const struct mlxsw_sp_rif *rif)
const struct mlxsw_sp_rif *rif)
const struct mlxsw_sp_rif *rif)
const struct mlxsw_sp_rif *rif)
const struct mlxsw_sp_rif *rif, int mtu)
const struct mlxsw_sp_rif *rif);
const struct mlxsw_sp_rif *rif);
const struct mlxsw_sp_rif *rif);
const struct mlxsw_sp_rif *rif, int mtu);
static int mlxsw_sp_macvlan_replay(struct mlxsw_sp_rif *rif,
struct mlxsw_sp_rif *rif = (struct mlxsw_sp_rif *)priv->data;
static int mlxsw_sp_rif_macvlan_flush(struct mlxsw_sp_rif *rif)
static void mlxsw_sp_rif_subport_setup(struct mlxsw_sp_rif *rif,
static int mlxsw_sp_rif_subport_op(struct mlxsw_sp_rif *rif, bool enable)
static int mlxsw_sp_rif_subport_configure(struct mlxsw_sp_rif *rif,
static void mlxsw_sp_rif_subport_deconfigure(struct mlxsw_sp_rif *rif)
mlxsw_sp_rif_subport_fid_get(struct mlxsw_sp_rif *rif,
static int mlxsw_sp_rif_fid_op(struct mlxsw_sp_rif *rif, u16 fid, bool enable)
static int mlxsw_sp_rif_fid_configure(struct mlxsw_sp_rif *rif,
static void mlxsw_sp_rif_fid_deconfigure(struct mlxsw_sp_rif *rif)
mlxsw_sp_rif_fid_fid_get(struct mlxsw_sp_rif *rif,
static void mlxsw_sp_rif_fid_fdb_del(struct mlxsw_sp_rif *rif, const char *mac)
.rif_size = sizeof(struct mlxsw_sp_rif),
mlxsw_sp_rif_vlan_fid_get(struct mlxsw_sp_rif *rif,
static void mlxsw_sp_rif_vlan_fdb_del(struct mlxsw_sp_rif *rif, const char *mac)
static int mlxsw_sp_rif_vlan_op(struct mlxsw_sp_rif *rif, u16 vid, u16 efid,
static int mlxsw_sp_rif_vlan_configure(struct mlxsw_sp_rif *rif, u16 efid,
static void mlxsw_sp_rif_vlan_deconfigure(struct mlxsw_sp_rif *rif)
static int mlxsw_sp1_rif_vlan_configure(struct mlxsw_sp_rif *rif,
.rif_size = sizeof(struct mlxsw_sp_rif),
static int mlxsw_sp2_rif_vlan_configure(struct mlxsw_sp_rif *rif,
.rif_size = sizeof(struct mlxsw_sp_rif),
mlxsw_sp_rif_ipip_lb_rif(struct mlxsw_sp_rif *rif)
mlxsw_sp_rif_ipip_lb_setup(struct mlxsw_sp_rif *rif,
mlxsw_sp1_rif_ipip_lb_configure(struct mlxsw_sp_rif *rif,
static void mlxsw_sp1_rif_ipip_lb_deconfigure(struct mlxsw_sp_rif *rif)
mlxsw_sp_rif_ipip_lb_ul_rif_op(struct mlxsw_sp_rif *ul_rif, bool enable)
static struct mlxsw_sp_rif *
struct mlxsw_sp_rif *ul_rif;
static void mlxsw_sp_ul_rif_destroy(struct mlxsw_sp_rif *ul_rif)
static struct mlxsw_sp_rif *
static void mlxsw_sp_ul_rif_put(struct mlxsw_sp_rif *ul_rif)
struct mlxsw_sp_rif *ul_rif;
struct mlxsw_sp_rif *ul_rif;
mlxsw_sp2_rif_ipip_lb_configure(struct mlxsw_sp_rif *rif,
struct mlxsw_sp_rif *ul_rif;
static void mlxsw_sp2_rif_ipip_lb_deconfigure(struct mlxsw_sp_rif *rif)
struct mlxsw_sp_rif *ul_rif;
mlxsw_sp->router->rifs = kzalloc_objs(struct mlxsw_sp_rif *, max_rifs);
struct mlxsw_sp_rif common;
static struct mlxsw_sp_rif *
struct mlxsw_sp_rif *lb_rif;
struct mlxsw_sp_rif *rif;
struct mlxsw_sp_rif common;
void (*setup)(struct mlxsw_sp_rif *rif,
int (*configure)(struct mlxsw_sp_rif *rif,
void (*deconfigure)(struct mlxsw_sp_rif *rif);
struct mlxsw_sp_fid * (*fid_get)(struct mlxsw_sp_rif *rif,
void (*fdb_del)(struct mlxsw_sp_rif *rif, const char *mac);
static struct mlxsw_sp_rif *
static void mlxsw_sp_rif_destroy(struct mlxsw_sp_rif *rif);
struct mlxsw_sp_rif *rif = &lb_rif->common;
struct mlxsw_sp_rif *rif);
struct mlxsw_sp_rif *old_rif,
struct mlxsw_sp_rif *new_rif,
mlxsw_sp_rif_p_counter_get(struct mlxsw_sp_rif *rif,
mlxsw_sp_rif_counter_valid_get(struct mlxsw_sp_rif *rif,
mlxsw_sp_rif_counter_valid_set(struct mlxsw_sp_rif *rif,
mlxsw_sp_rif_neigh_next(struct mlxsw_sp_rif *rif,
struct mlxsw_sp_rif *rif;
struct mlxsw_sp_rif *rif,
mlxsw_sp_rif_counter_fetch_clear(struct mlxsw_sp_rif *rif,
struct mlxsw_sp_rif *rif)
struct mlxsw_sp_rif *rif;
struct mlxsw_sp_rif *rif)
static struct mlxsw_sp_rif *
int mlxsw_sp_rif_counter_alloc(struct mlxsw_sp_rif *rif,
struct mlxsw_sp_rif *mlxsw_sp_nexthop_rif(struct mlxsw_sp_nexthop *nh)
void mlxsw_sp_rif_counter_free(struct mlxsw_sp_rif *rif,
struct mlxsw_sp_rif *rif = mlxsw_sp_nexthop_rif(nh);
static void mlxsw_sp_rif_counters_alloc(struct mlxsw_sp_rif *rif)
static void mlxsw_sp_rif_counters_free(struct mlxsw_sp_rif *rif)
struct mlxsw_sp_rif *rif)
struct mlxsw_sp_rif *rif)
struct mlxsw_sp_rif *rif)
struct mlxsw_sp_rif *ul_rif;
struct mlxsw_sp_rif *rif = mlxsw_sp_nhgi_rif(fib_entry->nh_group->nhgi);
struct mlxsw_sp_rif *rif;
struct mlxsw_sp_rif *rif;
static struct mlxsw_sp_rif *
struct mlxsw_sp_rif *rif)
struct mlxsw_sp_rif *rif)
mlxsw_sp_rif_should_config(struct mlxsw_sp_rif *rif, struct net_device *dev,
static struct mlxsw_sp_rif *mlxsw_sp_rif_alloc(size_t rif_size, u16 rif_index,
struct mlxsw_sp_rif *rif;
static void mlxsw_sp_rif_free(struct mlxsw_sp_rif *rif)
struct mlxsw_sp_rif *mlxsw_sp_rif_by_index(const struct mlxsw_sp *mlxsw_sp,
u16 mlxsw_sp_rif_index(const struct mlxsw_sp_rif *rif)
mlxsw_sp_router_port_l3_stats_enabled(struct mlxsw_sp_rif *rif)
mlxsw_sp_router_port_l3_stats_enable(struct mlxsw_sp_rif *rif)
mlxsw_sp_router_port_l3_stats_disable(struct mlxsw_sp_rif *rif)
mlxsw_sp_router_port_l3_stats_report_used(struct mlxsw_sp_rif *rif,
mlxsw_sp_router_port_l3_stats_fetch(struct mlxsw_sp_rif *rif,
mlxsw_sp_router_port_l3_stats_report_delta(struct mlxsw_sp_rif *rif,
int mlxsw_sp_rif_dev_ifindex(const struct mlxsw_sp_rif *rif)
bool mlxsw_sp_rif_has_dev(const struct mlxsw_sp_rif *rif)
bool mlxsw_sp_rif_dev_is(const struct mlxsw_sp_rif *rif,
static void mlxsw_sp_rif_push_l3_stats(struct mlxsw_sp_rif *rif)
static struct mlxsw_sp_rif *
struct mlxsw_sp_rif *rif;
static void mlxsw_sp_rif_destroy(struct mlxsw_sp_rif *rif)
struct mlxsw_sp_rif *rif;
struct mlxsw_sp_rif *old_rif;
struct mlxsw_sp_rif *new_rif;
mlxsw_sp_rif_subport_rif(const struct mlxsw_sp_rif *rif)
int mlxsw_sp_rif_subport_port(const struct mlxsw_sp_rif *rif,
static struct mlxsw_sp_rif *
struct mlxsw_sp_rif *rif;
static void mlxsw_sp_rif_subport_put(struct mlxsw_sp_rif *rif)
static bool mlxsw_sp_rif_mac_profile_is_shared(const struct mlxsw_sp_rif *rif)
static int mlxsw_sp_rif_mac_profile_edit(struct mlxsw_sp_rif *rif,
struct mlxsw_sp_rif *rif,
struct mlxsw_sp_rif *rif;
struct mlxsw_sp_rif *rif = mlxsw_sp_fid_rif(fid);
struct mlxsw_sp_rif *rif;
static struct net_device *mlxsw_sp_rif_dev(const struct mlxsw_sp_rif *rif)
struct mlxsw_sp_rif *rif;
struct mlxsw_sp_rif *rif;
struct mlxsw_sp_rif *rif;
struct mlxsw_sp_rif *rif;
struct mlxsw_sp_rif *rif;
struct mlxsw_sp_rif *rif;
struct mlxsw_sp_rif *rif,
static int mlxsw_sp_router_port_pre_changeaddr_event(struct mlxsw_sp_rif *rif,
mlxsw_sp_router_port_offload_xstats_cmd(struct mlxsw_sp_rif *rif,
struct mlxsw_sp_rif *rif;
struct mlxsw_sp_rif *rif;
struct mlxsw_sp_rif *rif;
struct mlxsw_sp_rif *rif;
struct mlxsw_sp_rif *rif,
void mlxsw_sp_rif_counter_free(struct mlxsw_sp_rif *rif,
int mlxsw_sp_rif_counter_alloc(struct mlxsw_sp_rif *rif,
mlxsw_sp_rif_neigh_next(struct mlxsw_sp_rif *rif,
struct mlxsw_sp_rif *mlxsw_sp_nexthop_rif(struct mlxsw_sp_nexthop *nh);
struct mlxsw_sp_rif **rifs;
struct mlxsw_sp_rif *mlxsw_sp_rif_by_index(const struct mlxsw_sp *mlxsw_sp,
int mlxsw_sp_rif_dev_ifindex(const struct mlxsw_sp_rif *rif);
bool mlxsw_sp_rif_has_dev(const struct mlxsw_sp_rif *rif);
bool mlxsw_sp_rif_dev_is(const struct mlxsw_sp_rif *rif,