Home
last modified time | relevance | path

Searched refs:fdb_info (Results 1 – 17 of 17) sorted by relevance

/Linux-v5.15/net/bridge/
Dbr.c156 struct switchdev_notifier_fdb_info *fdb_info; in br_switchdev_event() local
167 fdb_info = ptr; in br_switchdev_event()
168 err = br_fdb_external_learn_add(br, p, fdb_info->addr, in br_switchdev_event()
169 fdb_info->vid, false); in br_switchdev_event()
174 br_fdb_offloaded_set(br, p, fdb_info->addr, in br_switchdev_event()
175 fdb_info->vid, true); in br_switchdev_event()
178 fdb_info = ptr; in br_switchdev_event()
179 err = br_fdb_external_learn_del(br, p, fdb_info->addr, in br_switchdev_event()
180 fdb_info->vid, false); in br_switchdev_event()
185 fdb_info = ptr; in br_switchdev_event()
[all …]
/Linux-v5.15/drivers/net/ethernet/microchip/sparx5/
Dsparx5_switchdev.c17 struct switchdev_notifier_fdb_info fdb_info; member
228 struct switchdev_notifier_fdb_info *fdb_info; in sparx5_switchdev_bridge_fdb_event_work() local
239 fdb_info = &switchdev_work->fdb_info; in sparx5_switchdev_bridge_fdb_event_work()
243 if (!fdb_info->added_by_user) in sparx5_switchdev_bridge_fdb_event_work()
245 sparx5_add_mact_entry(sparx5, port, fdb_info->addr, in sparx5_switchdev_bridge_fdb_event_work()
246 fdb_info->vid); in sparx5_switchdev_bridge_fdb_event_work()
249 if (!fdb_info->added_by_user) in sparx5_switchdev_bridge_fdb_event_work()
251 sparx5_del_mact_entry(sparx5, fdb_info->addr, fdb_info->vid); in sparx5_switchdev_bridge_fdb_event_work()
257 kfree(switchdev_work->fdb_info.addr); in sparx5_switchdev_bridge_fdb_event_work()
272 struct switchdev_notifier_fdb_info *fdb_info; in sparx5_switchdev_event() local
[all …]
/Linux-v5.15/include/net/
Dswitchdev.h258 switchdev_fdb_is_dynamically_learned(const struct switchdev_notifier_fdb_info *fdb_info) in switchdev_fdb_is_dynamically_learned() argument
260 return !fdb_info->added_by_user && !fdb_info->is_local; in switchdev_fdb_is_dynamically_learned()
303 const struct switchdev_notifier_fdb_info *fdb_info,
309 const struct switchdev_notifier_fdb_info *fdb_info),
312 const struct switchdev_notifier_fdb_info *fdb_info));
315 const struct switchdev_notifier_fdb_info *fdb_info,
321 const struct switchdev_notifier_fdb_info *fdb_info),
324 const struct switchdev_notifier_fdb_info *fdb_info));
430 const struct switchdev_notifier_fdb_info *fdb_info, in switchdev_handle_fdb_add_to_device() argument
436 const struct switchdev_notifier_fdb_info *fdb_info), in switchdev_handle_fdb_add_to_device() argument
[all …]
Dvxlan.h436 struct switchdev_notifier_vxlan_fdb_info *fdb_info);
445 struct switchdev_notifier_vxlan_fdb_info *fdb_info) in vxlan_fdb_find_uc() argument
/Linux-v5.15/net/switchdev/
Dswitchdev.c433 const struct switchdev_notifier_fdb_info *fdb_info, in __switchdev_handle_fdb_add_to_device() argument
439 const struct switchdev_notifier_fdb_info *fdb_info), in __switchdev_handle_fdb_add_to_device() argument
442 const struct switchdev_notifier_fdb_info *fdb_info)) in __switchdev_handle_fdb_add_to_device()
444 const struct switchdev_notifier_info *info = &fdb_info->info; in __switchdev_handle_fdb_add_to_device()
450 return add_cb(dev, orig_dev, info->ctx, fdb_info); in __switchdev_handle_fdb_add_to_device()
460 return lag_add_cb(dev, orig_dev, info->ctx, fdb_info); in __switchdev_handle_fdb_add_to_device()
485 fdb_info, check_cb, in __switchdev_handle_fdb_add_to_device()
506 return __switchdev_handle_fdb_add_to_device(br, orig_dev, fdb_info, in __switchdev_handle_fdb_add_to_device()
512 const struct switchdev_notifier_fdb_info *fdb_info, in switchdev_handle_fdb_add_to_device() argument
518 const struct switchdev_notifier_fdb_info *fdb_info), in switchdev_handle_fdb_add_to_device() argument
[all …]
/Linux-v5.15/drivers/net/ethernet/mellanox/mlx5/core/en/rep/
Dbridge.c16 struct switchdev_notifier_fdb_info fdb_info; member
309 kfree(fdb_work->fdb_info.addr); in mlx5_esw_bridge_cleanup_switchdev_fdb_work()
317 struct switchdev_notifier_fdb_info *fdb_info = in mlx5_esw_bridge_switchdev_fdb_event_work() local
318 &fdb_work->fdb_info; in mlx5_esw_bridge_switchdev_fdb_event_work()
332 fdb_info); in mlx5_esw_bridge_switchdev_fdb_event_work()
335 fdb_info); in mlx5_esw_bridge_switchdev_fdb_event_work()
344 struct switchdev_notifier_fdb_info *fdb_info, in mlx5_esw_bridge_init_switchdev_fdb_work() argument
355 memcpy(&work->fdb_info, fdb_info, sizeof(work->fdb_info)); in mlx5_esw_bridge_init_switchdev_fdb_work()
362 ether_addr_copy(addr, fdb_info->addr); in mlx5_esw_bridge_init_switchdev_fdb_work()
363 work->fdb_info.addr = addr; in mlx5_esw_bridge_init_switchdev_fdb_work()
[all …]
/Linux-v5.15/drivers/net/ethernet/marvell/prestera/
Dprestera_switchdev.c24 struct switchdev_notifier_fdb_info fdb_info; member
772 struct switchdev_notifier_fdb_info *fdb_info, in prestera_port_fdb_set() argument
788 vid = fdb_info->vid; in prestera_port_fdb_set()
793 err = prestera_fdb_add(port, fdb_info->addr, vid, false); in prestera_port_fdb_set()
795 err = prestera_fdb_del(port, fdb_info->addr, vid); in prestera_port_fdb_set()
802 struct switchdev_notifier_fdb_info *fdb_info; in prestera_fdb_event_work() local
819 fdb_info = &swdev_work->fdb_info; in prestera_fdb_event_work()
820 if (!fdb_info->added_by_user || fdb_info->is_local) in prestera_fdb_event_work()
823 err = prestera_port_fdb_set(port, fdb_info, true); in prestera_fdb_event_work()
827 prestera_fdb_offload_notify(port, fdb_info); in prestera_fdb_event_work()
[all …]
/Linux-v5.15/drivers/net/ethernet/ti/
Dam65-cpsw-switchdev.c20 struct switchdev_notifier_fdb_info fdb_info; member
382 fdb = &switchdev_work->fdb_info; in am65_cpsw_switchdev_event_work()
398 fdb = &switchdev_work->fdb_info; in am65_cpsw_switchdev_event_work()
417 kfree(switchdev_work->fdb_info.addr); in am65_cpsw_switchdev_event_work()
429 struct switchdev_notifier_fdb_info *fdb_info = ptr; in am65_cpsw_switchdev_event() local
453 memcpy(&switchdev_work->fdb_info, ptr, in am65_cpsw_switchdev_event()
454 sizeof(switchdev_work->fdb_info)); in am65_cpsw_switchdev_event()
455 switchdev_work->fdb_info.addr = kzalloc(ETH_ALEN, GFP_ATOMIC); in am65_cpsw_switchdev_event()
456 if (!switchdev_work->fdb_info.addr) in am65_cpsw_switchdev_event()
458 ether_addr_copy((u8 *)switchdev_work->fdb_info.addr, in am65_cpsw_switchdev_event()
[all …]
Dcpsw_switchdev.c22 struct switchdev_notifier_fdb_info fdb_info; member
392 fdb = &switchdev_work->fdb_info; in cpsw_switchdev_event_work()
408 fdb = &switchdev_work->fdb_info; in cpsw_switchdev_event_work()
427 kfree(switchdev_work->fdb_info.addr); in cpsw_switchdev_event_work()
437 struct switchdev_notifier_fdb_info *fdb_info = ptr; in cpsw_switchdev_event() local
463 memcpy(&switchdev_work->fdb_info, ptr, in cpsw_switchdev_event()
464 sizeof(switchdev_work->fdb_info)); in cpsw_switchdev_event()
465 switchdev_work->fdb_info.addr = kzalloc(ETH_ALEN, GFP_ATOMIC); in cpsw_switchdev_event()
466 if (!switchdev_work->fdb_info.addr) in cpsw_switchdev_event()
468 ether_addr_copy((u8 *)switchdev_work->fdb_info.addr, in cpsw_switchdev_event()
[all …]
/Linux-v5.15/drivers/net/ethernet/mellanox/mlx5/core/esw/
Dbridge.h51 struct switchdev_notifier_fdb_info *fdb_info);
54 struct switchdev_notifier_fdb_info *fdb_info);
57 struct switchdev_notifier_fdb_info *fdb_info);
Dbridge.c1265 struct switchdev_notifier_fdb_info *fdb_info) in mlx5_esw_bridge_fdb_update_used() argument
1277 ether_addr_copy(key.addr, fdb_info->addr); in mlx5_esw_bridge_fdb_update_used()
1278 key.vid = fdb_info->vid; in mlx5_esw_bridge_fdb_update_used()
1292 struct switchdev_notifier_fdb_info *fdb_info) in mlx5_esw_bridge_fdb_create() argument
1303 entry = mlx5_esw_bridge_fdb_entry_init(dev, vport_num, esw_owner_vhca_id, fdb_info->addr, in mlx5_esw_bridge_fdb_create()
1304 fdb_info->vid, fdb_info->added_by_user, in mlx5_esw_bridge_fdb_create()
1321 struct switchdev_notifier_fdb_info *fdb_info) in mlx5_esw_bridge_fdb_remove() argument
1334 ether_addr_copy(key.addr, fdb_info->addr); in mlx5_esw_bridge_fdb_remove()
1335 key.vid = fdb_info->vid; in mlx5_esw_bridge_fdb_remove()
/Linux-v5.15/drivers/net/
Dvxlan.c395 struct switchdev_notifier_vxlan_fdb_info *fdb_info) in vxlan_fdb_switchdev_notifier_info() argument
397 fdb_info->info.dev = vxlan->dev; in vxlan_fdb_switchdev_notifier_info()
398 fdb_info->info.extack = extack; in vxlan_fdb_switchdev_notifier_info()
399 fdb_info->remote_ip = rd->remote_ip; in vxlan_fdb_switchdev_notifier_info()
400 fdb_info->remote_port = rd->remote_port; in vxlan_fdb_switchdev_notifier_info()
401 fdb_info->remote_vni = rd->remote_vni; in vxlan_fdb_switchdev_notifier_info()
402 fdb_info->remote_ifindex = rd->remote_ifindex; in vxlan_fdb_switchdev_notifier_info()
403 memcpy(fdb_info->eth_addr, fdb->eth_addr, ETH_ALEN); in vxlan_fdb_switchdev_notifier_info()
404 fdb_info->vni = fdb->vni; in vxlan_fdb_switchdev_notifier_info()
405 fdb_info->offloaded = rd->offloaded; in vxlan_fdb_switchdev_notifier_info()
[all …]
/Linux-v5.15/drivers/net/ethernet/mellanox/mlxsw/
Dspectrum_switchdev.c1414 struct switchdev_notifier_fdb_info *fdb_info, bool adding) in mlxsw_sp_port_fdb_set() argument
1417 struct net_device *orig_dev = fdb_info->info.dev; in mlxsw_sp_port_fdb_set()
1430 fdb_info->vid); in mlxsw_sp_port_fdb_set()
1440 fdb_info->addr, fid_index, in mlxsw_sp_port_fdb_set()
1445 fdb_info->addr, fid_index, in mlxsw_sp_port_fdb_set()
2862 struct switchdev_notifier_fdb_info fdb_info; member
2876 struct switchdev_notifier_fdb_info *fdb_info; in mlxsw_sp_switchdev_bridge_vxlan_fdb_event() local
2882 fdb_info = &switchdev_work->fdb_info; in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
2883 err = vxlan_fdb_find_uc(dev, fdb_info->addr, vni, &vxlan_fdb_info); in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
2903 fdb_info->vid, dev, true); in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
[all …]
/Linux-v5.15/drivers/net/ethernet/freescale/dpaa2/
Ddpaa2-switch.c2206 struct switchdev_notifier_fdb_info fdb_info; member
2216 struct switchdev_notifier_fdb_info *fdb_info; in dpaa2_switch_event_work() local
2220 fdb_info = &switchdev_work->fdb_info; in dpaa2_switch_event_work()
2224 if (!fdb_info->added_by_user || fdb_info->is_local) in dpaa2_switch_event_work()
2226 if (is_unicast_ether_addr(fdb_info->addr)) in dpaa2_switch_event_work()
2228 fdb_info->addr); in dpaa2_switch_event_work()
2231 fdb_info->addr); in dpaa2_switch_event_work()
2234 fdb_info->offloaded = true; in dpaa2_switch_event_work()
2236 &fdb_info->info, NULL); in dpaa2_switch_event_work()
2239 if (!fdb_info->added_by_user || fdb_info->is_local) in dpaa2_switch_event_work()
[all …]
/Linux-v5.15/drivers/net/ethernet/rocker/
Drocker_main.c2710 struct switchdev_notifier_fdb_info fdb_info; member
2733 struct switchdev_notifier_fdb_info *fdb_info; in rocker_switchdev_event_work() local
2739 fdb_info = &switchdev_work->fdb_info; in rocker_switchdev_event_work()
2740 if (!fdb_info->added_by_user || fdb_info->is_local) in rocker_switchdev_event_work()
2742 err = rocker_world_port_fdb_add(rocker_port, fdb_info); in rocker_switchdev_event_work()
2747 rocker_fdb_offload_notify(rocker_port, fdb_info); in rocker_switchdev_event_work()
2750 fdb_info = &switchdev_work->fdb_info; in rocker_switchdev_event_work()
2751 if (!fdb_info->added_by_user || fdb_info->is_local) in rocker_switchdev_event_work()
2753 err = rocker_world_port_fdb_del(rocker_port, fdb_info); in rocker_switchdev_event_work()
2760 kfree(switchdev_work->fdb_info.addr); in rocker_switchdev_event_work()
[all …]
/Linux-v5.15/net/dsa/
Dslave.c2442 const struct switchdev_notifier_fdb_info *fdb_info, in dsa_slave_fdb_event() argument
2447 bool host_addr = fdb_info->is_local; in dsa_slave_fdb_event()
2457 switchdev_fdb_is_dynamically_learned(fdb_info)) in dsa_slave_fdb_event()
2463 if (switchdev_fdb_is_dynamically_learned(fdb_info) && in dsa_slave_fdb_event()
2479 orig_dev->name, fdb_info->addr, fdb_info->vid, in dsa_slave_fdb_event()
2488 ether_addr_copy(switchdev_work->addr, fdb_info->addr); in dsa_slave_fdb_event()
2489 switchdev_work->vid = fdb_info->vid; in dsa_slave_fdb_event()
2502 const struct switchdev_notifier_fdb_info *fdb_info) in dsa_slave_fdb_add_to_device() argument
2504 return dsa_slave_fdb_event(dev, orig_dev, ctx, fdb_info, in dsa_slave_fdb_add_to_device()
2511 const struct switchdev_notifier_fdb_info *fdb_info) in dsa_slave_fdb_del_to_device() argument
[all …]
/Linux-v5.15/drivers/s390/net/
Dqeth_l2_main.c859 struct switchdev_notifier_fdb_info *fdb_info; in qeth_l2_switchdev_event() local
873 fdb_info = container_of(info, in qeth_l2_switchdev_event()
884 fdb_info->addr); in qeth_l2_switchdev_event()