Lines Matching full:mfc
56 const struct mr_mfc *mfc);
59 struct mr_mfc *mfc);
84 struct mr_mfc *mfc; member
113 vifi_t ivif = mr_route->mfc->mfc_parent; in mlxsw_sp_mr_route_ivif_in_evifs()
115 return mr_route->mfc->mfc_un.res.ttls[ivif] != 255; in mlxsw_sp_mr_route_ivif_in_evifs()
300 struct mr_mfc *mfc) in mlxsw_sp_mr_route_create() argument
315 mr_cache_hold(mfc); in mlxsw_sp_mr_route_create()
316 mr_route->mfc = mfc; in mlxsw_sp_mr_route_create()
317 mr_table->ops->key_create(mr_table, &mr_route->key, mr_route->mfc); in mlxsw_sp_mr_route_create()
321 if (mfc->mfc_un.res.ttls[i] != 255) { in mlxsw_sp_mr_route_create()
332 &mr_table->vifs[mfc->mfc_parent]); in mlxsw_sp_mr_route_create()
337 mr_cache_put(mfc); in mlxsw_sp_mr_route_create()
350 mr_cache_put(mr_route->mfc); in mlxsw_sp_mr_route_destroy()
360 mr_route->mfc->mfc_flags |= MFC_OFFLOAD; in mlxsw_sp_mr_mfc_offload_set()
362 mr_route->mfc->mfc_flags &= ~MFC_OFFLOAD; in mlxsw_sp_mr_mfc_offload_set()
387 struct mr_mfc *mfc, bool replace) in mlxsw_sp_mr_route_add() argument
393 if (!mr_table->ops->is_route_valid(mr_table, mfc)) in mlxsw_sp_mr_route_add()
397 mr_route = mlxsw_sp_mr_route_create(mr_table, mfc); in mlxsw_sp_mr_route_add()
463 struct mr_mfc *mfc) in mlxsw_sp_mr_route_del() argument
468 mr_table->ops->key_create(mr_table, &key, mfc); in mlxsw_sp_mr_route_del()
781 struct mfc_cache *mfc = (struct mfc_cache *) c; in mlxsw_sp_mr_route4_validate() local
786 if (mfc->mfc_origin == htonl(INADDR_ANY) && in mlxsw_sp_mr_route4_validate()
787 mfc->mfc_mcastgrp == htonl(INADDR_ANY)) { in mlxsw_sp_mr_route4_validate()
799 const struct mfc_cache *mfc = (struct mfc_cache *) c; in mlxsw_sp_mr_route4_key() local
802 starg = (mfc->mfc_origin == htonl(INADDR_ANY)); in mlxsw_sp_mr_route4_key()
807 key->group.addr4 = mfc->mfc_mcastgrp; in mlxsw_sp_mr_route4_key()
809 key->source.addr4 = mfc->mfc_origin; in mlxsw_sp_mr_route4_key()
828 struct mfc6_cache *mfc = (struct mfc6_cache *) c; in mlxsw_sp_mr_route6_validate() local
833 if (ipv6_addr_any(&mfc->mf6c_origin) && in mlxsw_sp_mr_route6_validate()
834 ipv6_addr_any(&mfc->mf6c_mcastgrp)) { in mlxsw_sp_mr_route6_validate()
846 const struct mfc6_cache *mfc = (struct mfc6_cache *) c; in mlxsw_sp_mr_route6_key() local
851 key->group.addr6 = mfc->mf6c_mcastgrp; in mlxsw_sp_mr_route6_key()
853 key->source.addr6 = mfc->mf6c_origin; in mlxsw_sp_mr_route6_key()
854 if (!ipv6_addr_any(&mfc->mf6c_origin)) in mlxsw_sp_mr_route6_key()
1009 if (mr_route->mfc->mfc_un.res.pkt != packets) in mlxsw_sp_mr_route_stats_update()
1010 mr_route->mfc->mfc_un.res.lastuse = jiffies; in mlxsw_sp_mr_route_stats_update()
1011 mr_route->mfc->mfc_un.res.pkt = packets; in mlxsw_sp_mr_route_stats_update()
1012 mr_route->mfc->mfc_un.res.bytes = bytes; in mlxsw_sp_mr_route_stats_update()