/linux-6.3-rc2/drivers/net/ethernet/microchip/lan966x/ |
A D | lan966x_fdb.c | 144 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 …]
|
A D | lan966x_main.h | 474 const struct switchdev_notifier_fdb_info *fdb_info);
|
/linux-6.3-rc2/net/bridge/ |
A D | br.c | 167 fdb_info = ptr; in br_switchdev_event() 169 fdb_info->vid, in br_switchdev_event() 170 fdb_info->locked, false); in br_switchdev_event() 175 br_fdb_offloaded_set(br, p, fdb_info->addr, in br_switchdev_event() 176 fdb_info->vid, fdb_info->offloaded); in br_switchdev_event() 179 fdb_info = ptr; in br_switchdev_event() 181 fdb_info->vid, false); in br_switchdev_event() 186 fdb_info = ptr; in br_switchdev_event() 187 br_fdb_offloaded_set(br, p, fdb_info->addr, in br_switchdev_event() 188 fdb_info->vid, fdb_info->offloaded); in br_switchdev_event() [all …]
|
/linux-6.3-rc2/drivers/net/ethernet/mellanox/mlx5/core/en/rep/ |
A D | bridge.c | 16 struct switchdev_notifier_fdb_info fdb_info; member 346 kfree(fdb_work->fdb_info.addr); in mlx5_esw_bridge_cleanup_switchdev_fdb_work() 355 &fdb_work->fdb_info; in mlx5_esw_bridge_switchdev_fdb_event_work() 369 fdb_info); in mlx5_esw_bridge_switchdev_fdb_event_work() 372 fdb_info); in mlx5_esw_bridge_switchdev_fdb_event_work() 392 memcpy(&work->fdb_info, fdb_info, sizeof(work->fdb_info)); in mlx5_esw_bridge_init_switchdev_fdb_work() 400 work->fdb_info.addr = addr; in mlx5_esw_bridge_init_switchdev_fdb_work() 441 fdb_info = container_of(info, in mlx5_esw_bridge_switchdev_event() 445 fdb_info); in mlx5_esw_bridge_switchdev_event() 454 fdb_info = container_of(info, in mlx5_esw_bridge_switchdev_event() [all …]
|
/linux-6.3-rc2/drivers/net/ethernet/microchip/sparx5/ |
A D | sparx5_switchdev.c | 17 struct switchdev_notifier_fdb_info fdb_info; member 320 fdb_info = &switchdev_work->fdb_info; in sparx5_switchdev_bridge_fdb_event_work() 325 if (fdb_info->vid == 0) in sparx5_switchdev_bridge_fdb_event_work() 328 vid = fdb_info->vid; in sparx5_switchdev_bridge_fdb_event_work() 334 fdb_info->addr, vid); in sparx5_switchdev_bridge_fdb_event_work() 337 fdb_info->addr, vid); in sparx5_switchdev_bridge_fdb_event_work() 345 kfree(switchdev_work->fdb_info.addr); in sparx5_switchdev_bridge_fdb_event_work() 384 fdb_info = container_of(info, in sparx5_switchdev_event() 389 memcpy(&switchdev_work->fdb_info, ptr, in sparx5_switchdev_event() 392 if (!switchdev_work->fdb_info.addr) in sparx5_switchdev_event() [all …]
|
/linux-6.3-rc2/drivers/net/ethernet/ti/ |
A D | am65-cpsw-switchdev.c | 20 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 …]
|
A D | cpsw_switchdev.c | 22 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 …]
|
/linux-6.3-rc2/drivers/net/ethernet/marvell/prestera/ |
A D | prestera_switchdev.c | 24 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.3-rc2/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
A D | bridge.h | 53 struct switchdev_notifier_fdb_info *fdb_info); 56 struct switchdev_notifier_fdb_info *fdb_info); 59 struct switchdev_notifier_fdb_info *fdb_info);
|
A D | bridge.c | 1711 struct switchdev_notifier_fdb_info *fdb_info) in mlx5_esw_bridge_fdb_update_used() argument 1722 entry = mlx5_esw_bridge_fdb_lookup(bridge, fdb_info->addr, fdb_info->vid); in mlx5_esw_bridge_fdb_update_used() 1726 fdb_info->addr, fdb_info->vid, vport_num); in mlx5_esw_bridge_fdb_update_used() 1735 struct switchdev_notifier_fdb_info *fdb_info) in mlx5_esw_bridge_fdb_create() argument 1746 entry = mlx5_esw_bridge_fdb_entry_init(dev, vport_num, esw_owner_vhca_id, fdb_info->addr, in mlx5_esw_bridge_fdb_create() 1747 fdb_info->vid, fdb_info->added_by_user, in mlx5_esw_bridge_fdb_create() 1764 struct switchdev_notifier_fdb_info *fdb_info) in mlx5_esw_bridge_fdb_remove() argument 1776 entry = mlx5_esw_bridge_fdb_lookup(bridge, fdb_info->addr, fdb_info->vid); in mlx5_esw_bridge_fdb_remove() 1780 fdb_info->addr, fdb_info->vid, vport_num); in mlx5_esw_bridge_fdb_remove()
|
/linux-6.3-rc2/include/net/ |
A D | switchdev.h | 285 switchdev_fdb_is_dynamically_learned(const struct switchdev_notifier_fdb_info *fdb_info) in switchdev_fdb_is_dynamically_learned() argument 287 return !fdb_info->added_by_user && !fdb_info->is_local; in switchdev_fdb_is_dynamically_learned() 330 const struct switchdev_notifier_fdb_info *fdb_info, 336 const struct switchdev_notifier_fdb_info *fdb_info)); 457 const struct switchdev_notifier_fdb_info *fdb_info, in switchdev_handle_fdb_event_to_device() argument 463 const struct switchdev_notifier_fdb_info *fdb_info)) in switchdev_handle_fdb_event_to_device()
|
A D | vxlan.h | 487 struct switchdev_notifier_vxlan_fdb_info *fdb_info); 496 struct switchdev_notifier_vxlan_fdb_info *fdb_info) in vxlan_fdb_find_uc() argument
|
/linux-6.3-rc2/drivers/net/vxlan/ |
A D | vxlan_core.c | 344 fdb_info->vni = fdb->vni; in vxlan_fdb_switchdev_notifier_info() 552 &fdb_info); in vxlan_fdb_notify_one() 4490 hash_index = fdb_head_index(vxlan, fdb_info->eth_addr, fdb_info->vni); in vxlan_fdb_offloaded_set() 4494 f = vxlan_find_mac(vxlan, fdb_info->eth_addr, fdb_info->vni); in vxlan_fdb_offloaded_set() 4520 hash_index = fdb_head_index(vxlan, fdb_info->eth_addr, fdb_info->vni); in vxlan_fdb_external_learn_add() 4524 err = vxlan_fdb_update(vxlan, fdb_info->eth_addr, &fdb_info->remote_ip, in vxlan_fdb_external_learn_add() 4547 hash_index = fdb_head_index(vxlan, fdb_info->eth_addr, fdb_info->vni); in vxlan_fdb_external_learn_del() 4550 f = vxlan_find_mac(vxlan, fdb_info->eth_addr, fdb_info->vni); in vxlan_fdb_external_learn_del() 4557 fdb_info->vni, in vxlan_fdb_external_learn_del() 4579 fdb_info = ptr; in vxlan_switchdev_event() [all …]
|
/linux-6.3-rc2/net/switchdev/ |
A D | switchdev.c | 455 const struct switchdev_notifier_fdb_info *fdb_info, in __switchdev_handle_fdb_event_to_device() argument 461 const struct switchdev_notifier_fdb_info *fdb_info)) in __switchdev_handle_fdb_event_to_device() 463 const struct switchdev_notifier_info *info = &fdb_info->info; in __switchdev_handle_fdb_event_to_device() 469 return mod_cb(dev, orig_dev, event, info->ctx, fdb_info); in __switchdev_handle_fdb_event_to_device() 488 event, fdb_info, check_cb, in __switchdev_handle_fdb_event_to_device() 509 return __switchdev_handle_fdb_event_to_device(br, orig_dev, event, fdb_info, in __switchdev_handle_fdb_event_to_device() 515 const struct switchdev_notifier_fdb_info *fdb_info, in switchdev_handle_fdb_event_to_device() argument 521 const struct switchdev_notifier_fdb_info *fdb_info)) in switchdev_handle_fdb_event_to_device() 525 err = __switchdev_handle_fdb_event_to_device(dev, dev, event, fdb_info, in switchdev_handle_fdb_event_to_device()
|
/linux-6.3-rc2/drivers/net/ethernet/mellanox/mlxsw/ |
A D | spectrum_switchdev.c | 1801 fdb_info->vid); in mlxsw_sp_port_fdb_set() 1816 fdb_info->addr, fid_index, in mlxsw_sp_port_fdb_set() 3286 fdb_info = &switchdev_work->fdb_info; in mlxsw_sp_switchdev_bridge_vxlan_fdb_event() 3394 fdb_info = &switchdev_work->fdb_info; in mlxsw_sp_switchdev_bridge_fdb_event_work() 3395 if (!fdb_info->added_by_user || fdb_info->is_local) in mlxsw_sp_switchdev_bridge_fdb_event_work() 3401 fdb_info->addr, in mlxsw_sp_switchdev_bridge_fdb_event_work() 3405 fdb_info = &switchdev_work->fdb_info; in mlxsw_sp_switchdev_bridge_fdb_event_work() 3420 kfree(switchdev_work->fdb_info.addr); in mlxsw_sp_switchdev_bridge_fdb_event_work() 3662 fdb_info = container_of(info, in mlxsw_sp_switchdev_event() 3670 if (!switchdev_work->fdb_info.addr) in mlxsw_sp_switchdev_event() [all …]
|
/linux-6.3-rc2/drivers/net/ethernet/freescale/dpaa2/ |
A D | dpaa2-switch.c | 2245 fdb_info = &switchdev_work->fdb_info; in dpaa2_switch_event_work() 2249 if (!fdb_info->added_by_user || fdb_info->is_local) in dpaa2_switch_event_work() 2253 fdb_info->addr); in dpaa2_switch_event_work() 2256 fdb_info->addr); in dpaa2_switch_event_work() 2259 fdb_info->offloaded = true; in dpaa2_switch_event_work() 2261 &fdb_info->info, NULL); in dpaa2_switch_event_work() 2264 if (!fdb_info->added_by_user || fdb_info->is_local) in dpaa2_switch_event_work() 2274 kfree(switchdev_work->fdb_info.addr); in dpaa2_switch_event_work() 2306 memcpy(&switchdev_work->fdb_info, ptr, in dpaa2_switch_port_event() 2309 if (!switchdev_work->fdb_info.addr) in dpaa2_switch_port_event() [all …]
|
/linux-6.3-rc2/drivers/net/ethernet/rocker/ |
A D | rocker_main.c | 2698 struct switchdev_notifier_fdb_info fdb_info; member 2721 struct switchdev_notifier_fdb_info *fdb_info; in rocker_switchdev_event_work() local 2727 fdb_info = &switchdev_work->fdb_info; in rocker_switchdev_event_work() 2728 if (!fdb_info->added_by_user || fdb_info->is_local) in rocker_switchdev_event_work() 2738 fdb_info = &switchdev_work->fdb_info; in rocker_switchdev_event_work() 2739 if (!fdb_info->added_by_user || fdb_info->is_local) in rocker_switchdev_event_work() 2748 kfree(switchdev_work->fdb_info.addr); in rocker_switchdev_event_work() 2780 memcpy(&switchdev_work->fdb_info, ptr, in rocker_switchdev_event() 2781 sizeof(switchdev_work->fdb_info)); in rocker_switchdev_event() 2783 if (unlikely(!switchdev_work->fdb_info.addr)) { in rocker_switchdev_event() [all …]
|
/linux-6.3-rc2/drivers/net/ethernet/adi/ |
A D | adin1110.c | 168 struct switchdev_notifier_fdb_info fdb_info; member 1459 ret = adin1110_fdb_add(port_priv, &switchdev_work->fdb_info); in adin1110_switchdev_event_work() 1462 &switchdev_work->fdb_info); in adin1110_switchdev_event_work() 1465 adin1110_fdb_del(port_priv, &switchdev_work->fdb_info); in adin1110_switchdev_event_work() 1473 kfree(switchdev_work->fdb_info.addr); in adin1110_switchdev_event_work() 1485 struct switchdev_notifier_fdb_info *fdb_info = ptr; in adin1110_switchdev_event() local 1501 memcpy(&switchdev_work->fdb_info, ptr, in adin1110_switchdev_event() 1502 sizeof(switchdev_work->fdb_info)); in adin1110_switchdev_event() 1505 if (!switchdev_work->fdb_info.addr) in adin1110_switchdev_event() 1508 ether_addr_copy((u8 *)switchdev_work->fdb_info.addr, in adin1110_switchdev_event() [all …]
|
/linux-6.3-rc2/net/dsa/ |
A D | slave.c | 3397 const struct switchdev_notifier_fdb_info *fdb_info) in dsa_slave_fdb_event() argument 3401 bool host_addr = fdb_info->is_local; in dsa_slave_fdb_event() 3410 if (switchdev_fdb_is_dynamically_learned(fdb_info)) { in dsa_slave_fdb_event() 3446 orig_dev->name, fdb_info->addr, fdb_info->vid, in dsa_slave_fdb_event() 3454 ether_addr_copy(switchdev_work->addr, fdb_info->addr); in dsa_slave_fdb_event() 3455 switchdev_work->vid = fdb_info->vid; in dsa_slave_fdb_event()
|
/linux-6.3-rc2/drivers/s390/net/ |
A D | qeth_l2_main.c | 853 struct switchdev_notifier_fdb_info *fdb_info; in qeth_l2_switchdev_event() local 867 fdb_info = container_of(info, in qeth_l2_switchdev_event() 878 fdb_info->addr); in qeth_l2_switchdev_event()
|