Lines Matching refs:fid

99 		       const struct mlxsw_sp_fid *fid);
108 u16 fid;
600 struct mlxsw_sp_fid *fid = mlxsw_sp_port_vlan->fid;
602 if (fid && mlxsw_sp_fid_index(fid) == fid_index)
730 return mlxsw_sp_fid_flood_set(mlxsw_sp_port_vlan->fid,
779 err = mlxsw_sp_fid_flood_set(mlxsw_sp_port_vlan->fid,
793 mlxsw_sp_fid_flood_set(mlxsw_sp_port_vlan->fid, packet_type,
1130 mdb_entry->key.fid, local_port, true);
1149 mdb_entry->key.fid, local_port, false);
1175 mdb_entry->key.fid, local_port, false);
1194 mdb_entry->key.fid, local_port, true);
1213 mdb_entry->key.fid, local_port, false);
1238 mdb_entry->key.fid, local_port, false);
1353 struct mlxsw_sp_fid *fid;
1357 fid = bridge_device->ops->fid_get(bridge_device, vid, extack);
1358 if (IS_ERR(fid))
1359 return PTR_ERR(fid);
1361 err = mlxsw_sp_fid_flood_set(fid, MLXSW_SP_FLOOD_TYPE_UC, local_port,
1366 err = mlxsw_sp_fid_flood_set(fid, MLXSW_SP_FLOOD_TYPE_MC, local_port,
1371 err = mlxsw_sp_fid_flood_set(fid, MLXSW_SP_FLOOD_TYPE_BC, local_port,
1376 err = mlxsw_sp_fid_port_vid_map(fid, mlxsw_sp_port, vid);
1380 mlxsw_sp_port_vlan->fid = fid;
1385 mlxsw_sp_fid_flood_set(fid, MLXSW_SP_FLOOD_TYPE_BC, local_port, false);
1387 mlxsw_sp_fid_flood_set(fid, MLXSW_SP_FLOOD_TYPE_MC, local_port, false);
1389 mlxsw_sp_fid_flood_set(fid, MLXSW_SP_FLOOD_TYPE_UC, local_port, false);
1391 mlxsw_sp_fid_put(fid);
1399 struct mlxsw_sp_fid *fid = mlxsw_sp_port_vlan->fid;
1403 mlxsw_sp_port_vlan->fid = NULL;
1404 mlxsw_sp_fid_port_vid_unmap(fid, mlxsw_sp_port, vid);
1405 mlxsw_sp_fid_flood_set(fid, MLXSW_SP_FLOOD_TYPE_BC, local_port, false);
1406 mlxsw_sp_fid_flood_set(fid, MLXSW_SP_FLOOD_TYPE_MC, local_port, false);
1407 mlxsw_sp_fid_flood_set(fid, MLXSW_SP_FLOOD_TYPE_UC, local_port, false);
1408 mlxsw_sp_fid_put(fid);
1480 struct mlxsw_sp_fid *fid = mlxsw_sp_port_vlan->fid;
1486 if (WARN_ON(mlxsw_sp_fid_type(fid) != MLXSW_SP_FID_TYPE_8021Q &&
1487 mlxsw_sp_fid_type(fid) != MLXSW_SP_FID_TYPE_8021D))
1501 mlxsw_sp_fid_index(fid));
1504 mlxsw_sp_fid_index(fid));
1648 const char *mac, u16 fid, __be32 addr, bool adding)
1663 fid, MLXSW_REG_SFD_REC_ACTION_NOP, uip);
1678 const char *mac, u16 fid,
1690 mlxsw_reg_sfd_uc_tunnel_pack6(sfd_pl, 0, mac, fid,
1706 const char *mac, u16 fid,
1716 err = mlxsw_sp_port_fdb_tun_uc_op6_sfd_write(mlxsw_sp, mac, fid,
1721 err = mlxsw_sp_nve_ipv6_addr_map_replace(mlxsw_sp, mac, fid, addr);
1731 mlxsw_sp_port_fdb_tun_uc_op6_sfd_write(mlxsw_sp, mac, fid, kvdl_index,
1739 const char *mac, u16 fid,
1742 mlxsw_sp_nve_ipv6_addr_map_del(mlxsw_sp, mac, fid);
1743 mlxsw_sp_port_fdb_tun_uc_op6_sfd_write(mlxsw_sp, mac, fid, 0, false);
1749 u16 fid, const struct in6_addr *addr, bool adding)
1752 return mlxsw_sp_port_fdb_tun_uc_op6_add(mlxsw_sp, mac, fid,
1755 mlxsw_sp_port_fdb_tun_uc_op6_del(mlxsw_sp, mac, fid, addr);
1760 const char *mac, u16 fid,
1767 return mlxsw_sp_port_fdb_tun_uc_op4(mlxsw_sp, dynamic, mac, fid,
1770 return mlxsw_sp_port_fdb_tun_uc_op6(mlxsw_sp, mac, fid,
1779 const char *mac, u16 fid, u16 vid,
1793 mlxsw_reg_sfd_uc_pack(sfd_pl, 0, policy, mac, fid, vid, action,
1809 const char *mac, u16 fid, u16 vid,
1812 return __mlxsw_sp_port_fdb_uc_op(mlxsw_sp, local_port, mac, fid, vid,
1817 int mlxsw_sp_rif_fdb_op(struct mlxsw_sp *mlxsw_sp, const char *mac, u16 fid,
1820 return __mlxsw_sp_port_fdb_uc_op(mlxsw_sp, 0, mac, fid, 0, adding,
1826 const char *mac, u16 fid, u16 lag_vid,
1839 mac, fid, MLXSW_REG_SFD_REC_ACTION_NOP,
1876 fid_index = mlxsw_sp_fid_index(mlxsw_sp_port_vlan->fid);
1905 mdb_entry->key.fid, MLXSW_REG_SFD_REC_ACTION_NOP,
2024 const unsigned char *addr, u16 fid, u16 local_port)
2035 mdb_entry->key.fid = fid;
2105 const unsigned char *addr, u16 fid, u16 local_port)
2111 key.fid = fid;
2126 return mlxsw_sp_mc_mdb_entry_init(mlxsw_sp, bridge_device, addr, fid,
2200 fid_index = mlxsw_sp_fid_index(mlxsw_sp_port_vlan->fid);
2353 fid_index = mlxsw_sp_fid_index(mlxsw_sp_port_vlan->fid);
2356 key.fid = fid_index;
2383 if (mdb_entry->key.fid != fid_index)
2476 if (mlxsw_sp_port->default_vlan->fid)
2522 struct mlxsw_sp_fid *fid;
2535 fid = mlxsw_sp_fid_8021q_get(mlxsw_sp, vid);
2536 if (IS_ERR(fid)) {
2538 return PTR_ERR(fid);
2541 if (mlxsw_sp_fid_vni_is_set(fid)) {
2547 err = mlxsw_sp_nve_fid_enable(mlxsw_sp, fid, &params, extack);
2555 mlxsw_sp_fid_put(fid);
2611 const struct mlxsw_sp_fid *fid)
2613 return mlxsw_sp_fid_8021q_vid(fid);
2664 if (mlxsw_sp_port_vlan->fid)
2713 struct mlxsw_sp_fid *fid;
2716 fid = mlxsw_sp_fid_8021d_get(mlxsw_sp, bridge_device->dev->ifindex);
2717 if (IS_ERR(fid)) {
2722 if (mlxsw_sp_fid_vni_is_set(fid)) {
2728 err = mlxsw_sp_nve_fid_enable(mlxsw_sp, fid, &params, extack);
2736 mlxsw_sp_fid_put(fid);
2764 const struct mlxsw_sp_fid *fid)
2951 struct mlxsw_sp_fid *fid;
2954 fid = mlxsw_sp_fid_lookup_by_vni(mlxsw_sp, vxlan->cfg.vni);
2955 if (!fid)
2958 mlxsw_sp_nve_fid_disable(mlxsw_sp, fid);
2962 mlxsw_sp_fid_put(fid);
2963 mlxsw_sp_fid_put(fid);
3053 u16 local_port, vid, fid, evid = 0;
3059 mlxsw_reg_sfn_mac_unpack(sfn_pl, rec_index, mac, &fid, &local_port);
3069 mlxsw_sp_port_vlan = mlxsw_sp_port_vlan_find_by_fid(mlxsw_sp_port, fid);
3092 err = mlxsw_sp_port_fdb_uc_op(mlxsw_sp, local_port, mac, fid, evid,
3125 u16 vid, fid;
3129 mlxsw_reg_sfn_mac_lag_unpack(sfn_pl, rec_index, mac, &fid, &lag_id);
3136 mlxsw_sp_port_vlan = mlxsw_sp_port_vlan_find_by_fid(mlxsw_sp_port, fid);
3159 err = mlxsw_sp_port_fdb_uc_lag_op(mlxsw_sp, lag_id, mac, fid, lag_vid,
3182 const struct mlxsw_sp_fid *fid,
3192 err = mlxsw_sp_fid_nve_ifindex(fid, &nve_ifindex);
3196 err = mlxsw_sp_fid_vni(fid, p_vni);
3226 *p_vid = bridge_device->ops->fid_vid(bridge_device, fid);
3240 struct mlxsw_sp_fid *fid;
3250 fid = mlxsw_sp_fid_lookup_by_index(mlxsw_sp, fid_index);
3251 if (!fid)
3260 err = __mlxsw_sp_fdb_notify_mac_uc_tunnel_process(mlxsw_sp, fid, adding,
3279 mlxsw_sp_fid_put(fid);
3286 mlxsw_sp_fid_put(fid);
3390 struct mlxsw_sp_fid *fid, __be32 vni)
3411 mlxsw_sp_fid_index(fid),
3425 mlxsw_sp_fid_index(fid),
3443 struct mlxsw_sp_fid *fid;
3470 fid = bridge_device->ops->fid_lookup(bridge_device,
3472 if (!fid)
3475 err = mlxsw_sp_fid_vni(fid, &vni);
3479 mlxsw_sp_switchdev_bridge_vxlan_fdb_event(mlxsw_sp, switchdev_work, fid,
3483 mlxsw_sp_fid_put(fid);
3549 struct mlxsw_sp_fid *fid;
3560 fid = mlxsw_sp_fid_lookup_by_vni(mlxsw_sp, vxlan_fdb_info->vni);
3561 if (!fid)
3568 err = mlxsw_sp_nve_flood_ip_add(mlxsw_sp, fid, proto, &addr);
3570 mlxsw_sp_fid_put(fid);
3576 mlxsw_sp_fid_put(fid);
3585 vid = bridge_device->ops->fid_vid(bridge_device, fid);
3590 mlxsw_sp_fid_index(fid), proto,
3601 mlxsw_sp_fid_put(fid);
3607 mlxsw_sp_fid_put(fid);
3621 struct mlxsw_sp_fid *fid;
3632 fid = mlxsw_sp_fid_lookup_by_vni(mlxsw_sp, vxlan_fdb_info->vni);
3633 if (!fid)
3640 mlxsw_sp_nve_flood_ip_del(mlxsw_sp, fid, proto, &addr);
3641 mlxsw_sp_fid_put(fid);
3646 mlxsw_sp_fid_index(fid), proto, &addr,
3648 vid = bridge_device->ops->fid_vid(bridge_device, fid);
3653 mlxsw_sp_fid_put(fid);
3829 struct mlxsw_sp_fid *fid;
3851 fid = mlxsw_sp_fid_lookup_by_vni(mlxsw_sp, vni);
3852 if (!fid) {
3864 old_vid = mlxsw_sp_fid_8021q_vid(fid);
3867 mlxsw_sp_fid_put(fid);
3871 mlxsw_sp_fid_put(fid);
3879 mlxsw_sp_fid_put(fid);
3887 mlxsw_sp_fid_put(fid);
3913 struct mlxsw_sp_fid *fid;
3918 fid = mlxsw_sp_fid_lookup_by_vni(mlxsw_sp, vni);
3919 if (!fid)
3923 if (mlxsw_sp_fid_8021q_vid(fid) != vid)
3929 mlxsw_sp_fid_put(fid);