Lines Matching refs: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()
778 struct mfc_cache *mfc = (struct mfc_cache *) c; in mlxsw_sp_mr_route4_validate() local
783 if (mfc->mfc_origin == htonl(INADDR_ANY) && in mlxsw_sp_mr_route4_validate()
784 mfc->mfc_mcastgrp == htonl(INADDR_ANY)) { in mlxsw_sp_mr_route4_validate()
796 const struct mfc_cache *mfc = (struct mfc_cache *) c; in mlxsw_sp_mr_route4_key() local
799 starg = (mfc->mfc_origin == htonl(INADDR_ANY)); in mlxsw_sp_mr_route4_key()
804 key->group.addr4 = mfc->mfc_mcastgrp; in mlxsw_sp_mr_route4_key()
806 key->source.addr4 = mfc->mfc_origin; in mlxsw_sp_mr_route4_key()
825 struct mfc6_cache *mfc = (struct mfc6_cache *) c; in mlxsw_sp_mr_route6_validate() local
830 if (ipv6_addr_any(&mfc->mf6c_origin) && in mlxsw_sp_mr_route6_validate()
831 ipv6_addr_any(&mfc->mf6c_mcastgrp)) { in mlxsw_sp_mr_route6_validate()
843 const struct mfc6_cache *mfc = (struct mfc6_cache *) c; in mlxsw_sp_mr_route6_key() local
848 key->group.addr6 = mfc->mf6c_mcastgrp; in mlxsw_sp_mr_route6_key()
850 key->source.addr6 = mfc->mf6c_origin; in mlxsw_sp_mr_route6_key()
851 if (!ipv6_addr_any(&mfc->mf6c_origin)) in mlxsw_sp_mr_route6_key()
1006 if (mr_route->mfc->mfc_un.res.pkt != packets) in mlxsw_sp_mr_route_stats_update()
1007 mr_route->mfc->mfc_un.res.lastuse = jiffies; in mlxsw_sp_mr_route_stats_update()
1008 mr_route->mfc->mfc_un.res.pkt = packets; in mlxsw_sp_mr_route_stats_update()
1009 mr_route->mfc->mfc_un.res.bytes = bytes; in mlxsw_sp_mr_route_stats_update()