Lines Matching refs:vxlan_fdb_info

3227 		struct switchdev_notifier_vxlan_fdb_info vxlan_fdb_info;  member
3239 struct switchdev_notifier_vxlan_fdb_info vxlan_fdb_info; in mlxsw_sp_switchdev_bridge_vxlan_fdb_event() local
3247 err = vxlan_fdb_find_uc(dev, fdb_info->addr, vni, &vxlan_fdb_info); in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
3251 mlxsw_sp_switchdev_vxlan_addr_convert(&vxlan_fdb_info.remote_ip, in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
3257 vxlan_fdb_info.eth_addr, in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
3262 vxlan_fdb_info.offloaded = true; in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
3264 &vxlan_fdb_info.info, NULL); in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
3266 vxlan_fdb_info.eth_addr, in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
3271 vxlan_fdb_info.eth_addr, in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
3275 vxlan_fdb_info.offloaded = false; in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
3277 &vxlan_fdb_info.info, NULL); in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
3390 struct switchdev_notifier_vxlan_fdb_info *vxlan_fdb_info; in mlxsw_sp_switchdev_vxlan_fdb_add() local
3401 vxlan_fdb_info = &switchdev_work->vxlan_fdb_info; in mlxsw_sp_switchdev_vxlan_fdb_add()
3408 fid = mlxsw_sp_fid_lookup_by_vni(mlxsw_sp, vxlan_fdb_info->vni); in mlxsw_sp_switchdev_vxlan_fdb_add()
3412 mlxsw_sp_switchdev_vxlan_addr_convert(&vxlan_fdb_info->remote_ip, in mlxsw_sp_switchdev_vxlan_fdb_add()
3415 if (ether_addr_equal(vxlan_fdb_info->eth_addr, all_zeros_mac)) { in mlxsw_sp_switchdev_vxlan_fdb_add()
3421 vxlan_fdb_info->offloaded = true; in mlxsw_sp_switchdev_vxlan_fdb_add()
3423 &vxlan_fdb_info->info, NULL); in mlxsw_sp_switchdev_vxlan_fdb_add()
3434 if (br_fdb_find_port(br_dev, vxlan_fdb_info->eth_addr, vid) != dev) in mlxsw_sp_switchdev_vxlan_fdb_add()
3437 err = mlxsw_sp_port_fdb_tunnel_uc_op(mlxsw_sp, vxlan_fdb_info->eth_addr, in mlxsw_sp_switchdev_vxlan_fdb_add()
3442 vxlan_fdb_info->offloaded = true; in mlxsw_sp_switchdev_vxlan_fdb_add()
3444 &vxlan_fdb_info->info, NULL); in mlxsw_sp_switchdev_vxlan_fdb_add()
3446 vxlan_fdb_info->eth_addr, vid, dev, true); in mlxsw_sp_switchdev_vxlan_fdb_add()
3462 struct switchdev_notifier_vxlan_fdb_info *vxlan_fdb_info; in mlxsw_sp_switchdev_vxlan_fdb_del() local
3472 vxlan_fdb_info = &switchdev_work->vxlan_fdb_info; in mlxsw_sp_switchdev_vxlan_fdb_del()
3473 if (!vxlan_fdb_info->offloaded) in mlxsw_sp_switchdev_vxlan_fdb_del()
3480 fid = mlxsw_sp_fid_lookup_by_vni(mlxsw_sp, vxlan_fdb_info->vni); in mlxsw_sp_switchdev_vxlan_fdb_del()
3484 mlxsw_sp_switchdev_vxlan_addr_convert(&vxlan_fdb_info->remote_ip, in mlxsw_sp_switchdev_vxlan_fdb_del()
3487 if (ether_addr_equal(vxlan_fdb_info->eth_addr, all_zeros_mac)) { in mlxsw_sp_switchdev_vxlan_fdb_del()
3493 mlxsw_sp_port_fdb_tunnel_uc_op(mlxsw_sp, vxlan_fdb_info->eth_addr, in mlxsw_sp_switchdev_vxlan_fdb_del()
3498 vxlan_fdb_info->eth_addr, vid, dev, false); in mlxsw_sp_switchdev_vxlan_fdb_del()
3545 struct switchdev_notifier_vxlan_fdb_info *vxlan_fdb_info; in mlxsw_sp_switchdev_vxlan_work_prepare() local
3550 vxlan_fdb_info = container_of(info, in mlxsw_sp_switchdev_vxlan_work_prepare()
3554 if (vxlan_fdb_info->remote_port != cfg->dst_port) { in mlxsw_sp_switchdev_vxlan_work_prepare()
3558 if (vxlan_fdb_info->remote_vni != cfg->vni || in mlxsw_sp_switchdev_vxlan_work_prepare()
3559 vxlan_fdb_info->vni != cfg->vni) { in mlxsw_sp_switchdev_vxlan_work_prepare()
3563 if (vxlan_fdb_info->remote_ifindex) { in mlxsw_sp_switchdev_vxlan_work_prepare()
3567 if (is_multicast_ether_addr(vxlan_fdb_info->eth_addr)) { in mlxsw_sp_switchdev_vxlan_work_prepare()
3571 if (vxlan_addr_multicast(&vxlan_fdb_info->remote_ip)) { in mlxsw_sp_switchdev_vxlan_work_prepare()
3576 switchdev_work->vxlan_fdb_info = *vxlan_fdb_info; in mlxsw_sp_switchdev_vxlan_work_prepare()