Home
last modified time | relevance | path

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

/linux-6.15/drivers/net/ethernet/microchip/lan966x/
H A Dlan966x_fdb.c144 fdb_info = &fdb_work->fdb_info; in lan966x_fdb_port_event_work()
151 fdb_info->vid); in lan966x_fdb_port_event_work()
157 fdb_info->vid); in lan966x_fdb_port_event_work()
169 fdb_info = &fdb_work->fdb_info; in lan966x_fdb_bridge_event_work()
183 fdb_info->vid)) in lan966x_fdb_bridge_event_work()
187 fdb_info->vid); in lan966x_fdb_bridge_event_work()
192 fdb_info->vid)) in lan966x_fdb_bridge_event_work()
213 fdb_info = &fdb_work->fdb_info; in lan966x_fdb_lag_event_work()
225 lan966x_mac_del_entry(lan966x, fdb_info->addr, fdb_info->vid); in lan966x_fdb_lag_event_work()
274 memcpy(&fdb_work->fdb_info, fdb_info, sizeof(fdb_work->fdb_info)); in lan966x_handle_fdb()
[all …]
H A Dlan966x_main.h515 const struct switchdev_notifier_fdb_info *fdb_info);
/linux-6.15/net/bridge/
H A Dbr.c174 fdb_info = ptr; in br_switchdev_event()
176 fdb_info->vid, in br_switchdev_event()
177 fdb_info->locked, false); in br_switchdev_event()
182 br_fdb_offloaded_set(br, p, fdb_info->addr, in br_switchdev_event()
183 fdb_info->vid, fdb_info->offloaded); in br_switchdev_event()
186 fdb_info = ptr; in br_switchdev_event()
188 fdb_info->vid, false); in br_switchdev_event()
193 fdb_info = ptr; in br_switchdev_event()
194 br_fdb_offloaded_set(br, p, fdb_info->addr, in br_switchdev_event()
195 fdb_info->vid, fdb_info->offloaded); in br_switchdev_event()
[all …]
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en/rep/
H A Dbridge.c369 &fdb_work->fdb_info; in mlx5_esw_bridge_switchdev_fdb_event_work()
383 fdb_info); in mlx5_esw_bridge_switchdev_fdb_event_work()
386 fdb_info); in mlx5_esw_bridge_switchdev_fdb_event_work()
406 memcpy(&work->fdb_info, fdb_info, sizeof(work->fdb_info)); in mlx5_esw_bridge_init_switchdev_fdb_work()
414 work->fdb_info.addr = addr; in mlx5_esw_bridge_init_switchdev_fdb_work()
458 fdb_info = container_of(info, in mlx5_esw_bridge_switchdev_event()
462 fdb_info); in mlx5_esw_bridge_switchdev_event()
469 fdb_info = container_of(info, in mlx5_esw_bridge_switchdev_event()
478 fdb_info); in mlx5_esw_bridge_switchdev_event()
482 fdb_info = container_of(info, in mlx5_esw_bridge_switchdev_event()
[all …]
/linux-6.15/drivers/net/ethernet/microchip/sparx5/
H A Dsparx5_switchdev.c17 struct switchdev_notifier_fdb_info fdb_info; member
332 fdb_info = &switchdev_work->fdb_info; in sparx5_switchdev_bridge_fdb_event_work()
337 if (fdb_info->vid == 0) in sparx5_switchdev_bridge_fdb_event_work()
340 vid = fdb_info->vid; in sparx5_switchdev_bridge_fdb_event_work()
347 fdb_info->addr, vid); in sparx5_switchdev_bridge_fdb_event_work()
350 fdb_info->addr, vid); in sparx5_switchdev_bridge_fdb_event_work()
358 kfree(switchdev_work->fdb_info.addr); in sparx5_switchdev_bridge_fdb_event_work()
397 fdb_info = container_of(info, in sparx5_switchdev_event()
402 memcpy(&switchdev_work->fdb_info, ptr, in sparx5_switchdev_event()
405 if (!switchdev_work->fdb_info.addr) in sparx5_switchdev_event()
[all …]
/linux-6.15/drivers/net/ethernet/ti/icssg/
H A Dicssg_switchdev.c21 struct switchdev_notifier_fdb_info fdb_info; member
137 fdb = &switchdev_work->fdb_info; in prueth_switchdev_event_work()
154 fdb = &switchdev_work->fdb_info; in prueth_switchdev_event_work()
172 kfree(switchdev_work->fdb_info.addr); in prueth_switchdev_event_work()
182 struct switchdev_notifier_fdb_info *fdb_info = ptr; in prueth_switchdev_event() local
207 memcpy(&switchdev_work->fdb_info, ptr, in prueth_switchdev_event()
208 sizeof(switchdev_work->fdb_info)); in prueth_switchdev_event()
209 switchdev_work->fdb_info.addr = kzalloc(ETH_ALEN, GFP_ATOMIC); in prueth_switchdev_event()
210 if (!switchdev_work->fdb_info.addr) in prueth_switchdev_event()
212 ether_addr_copy((u8 *)switchdev_work->fdb_info.addr, in prueth_switchdev_event()
[all …]
/linux-6.15/drivers/net/ethernet/ti/
H A Dcpsw_switchdev.c22 struct switchdev_notifier_fdb_info fdb_info; member
388 fdb = &switchdev_work->fdb_info; in cpsw_switchdev_event_work()
404 fdb = &switchdev_work->fdb_info; in cpsw_switchdev_event_work()
423 kfree(switchdev_work->fdb_info.addr); in cpsw_switchdev_event_work()
433 struct switchdev_notifier_fdb_info *fdb_info = ptr; in cpsw_switchdev_event() local
459 memcpy(&switchdev_work->fdb_info, ptr, in cpsw_switchdev_event()
460 sizeof(switchdev_work->fdb_info)); in cpsw_switchdev_event()
461 switchdev_work->fdb_info.addr = kzalloc(ETH_ALEN, GFP_ATOMIC); in cpsw_switchdev_event()
462 if (!switchdev_work->fdb_info.addr) in cpsw_switchdev_event()
464 ether_addr_copy((u8 *)switchdev_work->fdb_info.addr, in cpsw_switchdev_event()
[all …]
H A Dam65-cpsw-switchdev.c20 struct switchdev_notifier_fdb_info fdb_info; member
378 fdb = &switchdev_work->fdb_info; in am65_cpsw_switchdev_event_work()
394 fdb = &switchdev_work->fdb_info; in am65_cpsw_switchdev_event_work()
413 kfree(switchdev_work->fdb_info.addr); in am65_cpsw_switchdev_event_work()
425 struct switchdev_notifier_fdb_info *fdb_info = ptr; in am65_cpsw_switchdev_event() local
449 memcpy(&switchdev_work->fdb_info, ptr, in am65_cpsw_switchdev_event()
450 sizeof(switchdev_work->fdb_info)); in am65_cpsw_switchdev_event()
451 switchdev_work->fdb_info.addr = kzalloc(ETH_ALEN, GFP_ATOMIC); in am65_cpsw_switchdev_event()
452 if (!switchdev_work->fdb_info.addr) in am65_cpsw_switchdev_event()
454 ether_addr_copy((u8 *)switchdev_work->fdb_info.addr, in am65_cpsw_switchdev_event()
[all …]
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/esw/
H A Dbridge.h64 struct switchdev_notifier_fdb_info *fdb_info);
67 struct switchdev_notifier_fdb_info *fdb_info);
70 struct switchdev_notifier_fdb_info *fdb_info);
73 struct switchdev_notifier_fdb_info *fdb_info);
H A Dbridge.c1733 struct switchdev_notifier_fdb_info *fdb_info) in mlx5_esw_bridge_fdb_update_used() argument
1742 entry = mlx5_esw_bridge_fdb_lookup(bridge, fdb_info->addr, fdb_info->vid); in mlx5_esw_bridge_fdb_update_used()
1746 fdb_info->addr, fdb_info->vid, vport_num); in mlx5_esw_bridge_fdb_update_used()
1755 struct switchdev_notifier_fdb_info *fdb_info) in mlx5_esw_bridge_fdb_mark_deleted() argument
1764 entry = mlx5_esw_bridge_fdb_lookup(bridge, fdb_info->addr, fdb_info->vid); in mlx5_esw_bridge_fdb_mark_deleted()
1768 fdb_info->addr, fdb_info->vid, vport_num); in mlx5_esw_bridge_fdb_mark_deleted()
1777 struct switchdev_notifier_fdb_info *fdb_info) in mlx5_esw_bridge_fdb_create() argument
1789 fdb_info->vid, fdb_info->added_by_user, in mlx5_esw_bridge_fdb_create()
1806 struct switchdev_notifier_fdb_info *fdb_info) in mlx5_esw_bridge_fdb_remove() argument
1816 entry = mlx5_esw_bridge_fdb_lookup(bridge, fdb_info->addr, fdb_info->vid); in mlx5_esw_bridge_fdb_remove()
[all …]
/linux-6.15/drivers/net/ethernet/marvell/prestera/
H A Dprestera_switchdev.c24 struct switchdev_notifier_fdb_info fdb_info; member
1233 vid = fdb_info->vid; in prestera_port_fdb_set()
1264 fdb_info = &swdev_work->fdb_info; in prestera_fdb_event_work()
1265 if (!fdb_info->added_by_user || fdb_info->is_local) in prestera_fdb_event_work()
1276 fdb_info = &swdev_work->fdb_info; in prestera_fdb_event_work()
1284 kfree(swdev_work->fdb_info.addr); in prestera_fdb_event_work()
1326 fdb_info = container_of(info, in prestera_switchdev_event()
1331 memcpy(&swdev_work->fdb_info, ptr, in prestera_switchdev_event()
1332 sizeof(swdev_work->fdb_info)); in prestera_switchdev_event()
1335 if (!swdev_work->fdb_info.addr) in prestera_switchdev_event()
[all …]
/linux-6.15/include/net/
H A Dswitchdev.h284 switchdev_fdb_is_dynamically_learned(const struct switchdev_notifier_fdb_info *fdb_info) in switchdev_fdb_is_dynamically_learned() argument
286 return !fdb_info->added_by_user && !fdb_info->is_local; in switchdev_fdb_is_dynamically_learned()
333 const struct switchdev_notifier_fdb_info *fdb_info,
339 const struct switchdev_notifier_fdb_info *fdb_info));
460 const struct switchdev_notifier_fdb_info *fdb_info, in switchdev_handle_fdb_event_to_device() argument
466 const struct switchdev_notifier_fdb_info *fdb_info)) in switchdev_handle_fdb_event_to_device()
H A Dvxlan.h502 struct switchdev_notifier_vxlan_fdb_info *fdb_info);
511 struct switchdev_notifier_vxlan_fdb_info *fdb_info) in vxlan_fdb_find_uc() argument
/linux-6.15/drivers/net/ethernet/intel/ice/
H A Dice_eswitch_br.c348 struct switchdev_notifier_fdb_info fdb_info = { in ice_eswitch_br_fdb_offload_notify() local
354 call_switchdev_notifiers(val, dev, &fdb_info.info, NULL); in ice_eswitch_br_fdb_offload_notify()
470 kfree(fdb_work->fdb_info.addr); in ice_eswitch_br_fdb_work_dealloc()
478 bool added_by_user = fdb_work->fdb_info.added_by_user; in ice_eswitch_br_fdb_event_work()
479 const unsigned char *mac = fdb_work->fdb_info.addr; in ice_eswitch_br_fdb_event_work()
480 u16 vid = fdb_work->fdb_info.vid; in ice_eswitch_br_fdb_event_work()
521 memcpy(&work->fdb_info, fdb_info, sizeof(work->fdb_info)); in ice_eswitch_br_fdb_work_alloc()
529 ether_addr_copy(mac, fdb_info->addr); in ice_eswitch_br_fdb_work_alloc()
530 work->fdb_info.addr = mac; in ice_eswitch_br_fdb_work_alloc()
542 struct switchdev_notifier_fdb_info *fdb_info; in ice_eswitch_br_switchdev_event() local
[all …]
H A Dice_eswitch_br.h82 struct switchdev_notifier_fdb_info fdb_info; member
/linux-6.15/drivers/net/vxlan/
H A Dvxlan_core.c297 fdb_info->vni = fdb->vni; in vxlan_fdb_switchdev_notifier_info()
509 &fdb_info); in vxlan_fdb_notify_one()
4789 hash_index = fdb_head_index(vxlan, fdb_info->eth_addr, fdb_info->vni); in vxlan_fdb_offloaded_set()
4793 f = __vxlan_find_mac(vxlan, fdb_info->eth_addr, fdb_info->vni); in vxlan_fdb_offloaded_set()
4819 hash_index = fdb_head_index(vxlan, fdb_info->eth_addr, fdb_info->vni); in vxlan_fdb_external_learn_add()
4823 err = vxlan_fdb_update(vxlan, fdb_info->eth_addr, &fdb_info->remote_ip, in vxlan_fdb_external_learn_add()
4846 hash_index = fdb_head_index(vxlan, fdb_info->eth_addr, fdb_info->vni); in vxlan_fdb_external_learn_del()
4849 f = __vxlan_find_mac(vxlan, fdb_info->eth_addr, fdb_info->vni); in vxlan_fdb_external_learn_del()
4856 fdb_info->vni, in vxlan_fdb_external_learn_del()
4878 fdb_info = ptr; in vxlan_switchdev_event()
[all …]
/linux-6.15/net/switchdev/
H A Dswitchdev.c630 const struct switchdev_notifier_fdb_info *fdb_info, in __switchdev_handle_fdb_event_to_device() argument
636 const struct switchdev_notifier_fdb_info *fdb_info)) in __switchdev_handle_fdb_event_to_device()
638 const struct switchdev_notifier_info *info = &fdb_info->info; in __switchdev_handle_fdb_event_to_device()
644 return mod_cb(dev, orig_dev, event, info->ctx, fdb_info); in __switchdev_handle_fdb_event_to_device()
663 event, fdb_info, check_cb, in __switchdev_handle_fdb_event_to_device()
684 return __switchdev_handle_fdb_event_to_device(br, orig_dev, event, fdb_info, in __switchdev_handle_fdb_event_to_device()
690 const struct switchdev_notifier_fdb_info *fdb_info, in switchdev_handle_fdb_event_to_device() argument
696 const struct switchdev_notifier_fdb_info *fdb_info)) in switchdev_handle_fdb_event_to_device()
700 err = __switchdev_handle_fdb_event_to_device(dev, dev, event, fdb_info, in switchdev_handle_fdb_event_to_device()
/linux-6.15/drivers/net/ethernet/mellanox/mlxsw/
H A Dspectrum_switchdev.c1872 fdb_info->vid); in mlxsw_sp_port_fdb_set()
1887 fdb_info->addr, fid_index, in mlxsw_sp_port_fdb_set()
3425 fdb_info = &switchdev_work->fdb_info; in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
3533 fdb_info = &switchdev_work->fdb_info; in mlxsw_sp_switchdev_bridge_fdb_event_work()
3534 if (!fdb_info->added_by_user || fdb_info->is_local) in mlxsw_sp_switchdev_bridge_fdb_event_work()
3540 fdb_info->addr, in mlxsw_sp_switchdev_bridge_fdb_event_work()
3544 fdb_info = &switchdev_work->fdb_info; in mlxsw_sp_switchdev_bridge_fdb_event_work()
3559 kfree(switchdev_work->fdb_info.addr); in mlxsw_sp_switchdev_bridge_fdb_event_work()
3799 fdb_info = container_of(info, in mlxsw_sp_switchdev_event()
3807 if (!switchdev_work->fdb_info.addr) in mlxsw_sp_switchdev_event()
[all …]
/linux-6.15/drivers/net/ethernet/freescale/dpaa2/
H A Ddpaa2-switch.c2274 fdb_info = &switchdev_work->fdb_info; in dpaa2_switch_event_work()
2278 if (!fdb_info->added_by_user || fdb_info->is_local) in dpaa2_switch_event_work()
2282 fdb_info->addr); in dpaa2_switch_event_work()
2285 fdb_info->addr); in dpaa2_switch_event_work()
2288 fdb_info->offloaded = true; in dpaa2_switch_event_work()
2290 &fdb_info->info, NULL); in dpaa2_switch_event_work()
2293 if (!fdb_info->added_by_user || fdb_info->is_local) in dpaa2_switch_event_work()
2303 kfree(switchdev_work->fdb_info.addr); in dpaa2_switch_event_work()
2335 memcpy(&switchdev_work->fdb_info, ptr, in dpaa2_switch_port_event()
2338 if (!switchdev_work->fdb_info.addr) in dpaa2_switch_port_event()
[all …]
/linux-6.15/drivers/net/ethernet/rocker/
H A Drocker_main.c2697 struct switchdev_notifier_fdb_info fdb_info; member
2720 struct switchdev_notifier_fdb_info *fdb_info; in rocker_switchdev_event_work() local
2726 fdb_info = &switchdev_work->fdb_info; in rocker_switchdev_event_work()
2727 if (!fdb_info->added_by_user || fdb_info->is_local) in rocker_switchdev_event_work()
2737 fdb_info = &switchdev_work->fdb_info; in rocker_switchdev_event_work()
2738 if (!fdb_info->added_by_user || fdb_info->is_local) in rocker_switchdev_event_work()
2747 kfree(switchdev_work->fdb_info.addr); in rocker_switchdev_event_work()
2779 memcpy(&switchdev_work->fdb_info, ptr, in rocker_switchdev_event()
2780 sizeof(switchdev_work->fdb_info)); in rocker_switchdev_event()
2782 if (unlikely(!switchdev_work->fdb_info.addr)) { in rocker_switchdev_event()
[all …]
/linux-6.15/drivers/net/ethernet/adi/
H A Dadin1110.c168 struct switchdev_notifier_fdb_info fdb_info; member
1461 ret = adin1110_fdb_add(port_priv, &switchdev_work->fdb_info); in adin1110_switchdev_event_work()
1464 &switchdev_work->fdb_info); in adin1110_switchdev_event_work()
1467 adin1110_fdb_del(port_priv, &switchdev_work->fdb_info); in adin1110_switchdev_event_work()
1475 kfree(switchdev_work->fdb_info.addr); in adin1110_switchdev_event_work()
1487 struct switchdev_notifier_fdb_info *fdb_info = ptr; in adin1110_switchdev_event() local
1503 memcpy(&switchdev_work->fdb_info, ptr, in adin1110_switchdev_event()
1504 sizeof(switchdev_work->fdb_info)); in adin1110_switchdev_event()
1507 if (!switchdev_work->fdb_info.addr) in adin1110_switchdev_event()
1510 ether_addr_copy((u8 *)switchdev_work->fdb_info.addr, in adin1110_switchdev_event()
[all …]
/linux-6.15/net/dsa/
H A Duser.c3686 const struct switchdev_notifier_fdb_info *fdb_info) in dsa_user_fdb_event() argument
3690 bool host_addr = fdb_info->is_local; in dsa_user_fdb_event()
3699 if (switchdev_fdb_is_dynamically_learned(fdb_info)) { in dsa_user_fdb_event()
3735 orig_dev->name, fdb_info->addr, fdb_info->vid, in dsa_user_fdb_event()
3743 ether_addr_copy(switchdev_work->addr, fdb_info->addr); in dsa_user_fdb_event()
3744 switchdev_work->vid = fdb_info->vid; in dsa_user_fdb_event()
/linux-6.15/drivers/s390/net/
H A Dqeth_l2_main.c854 struct switchdev_notifier_fdb_info *fdb_info; in qeth_l2_switchdev_event() local
868 fdb_info = container_of(info, in qeth_l2_switchdev_event()
879 fdb_info->addr); in qeth_l2_switchdev_event()