/kernel/linux/linux-6.6/drivers/net/ethernet/microchip/lan966x/ |
H A D | lan966x_fdb.c | 9 struct switchdev_notifier_fdb_info fdb_info; member 25 struct switchdev_notifier_fdb_info *fdb_info) in lan966x_fdb_find_entry() 30 if (fdb_entry->vid == fdb_info->vid && in lan966x_fdb_find_entry() 31 ether_addr_equal(fdb_entry->mac, fdb_info->addr)) in lan966x_fdb_find_entry() 39 struct switchdev_notifier_fdb_info *fdb_info) in lan966x_fdb_add_entry() 43 fdb_entry = lan966x_fdb_find_entry(lan966x, fdb_info); in lan966x_fdb_add_entry() 53 ether_addr_copy(fdb_entry->mac, fdb_info->addr); in lan966x_fdb_add_entry() 54 fdb_entry->vid = fdb_info->vid; in lan966x_fdb_add_entry() 60 struct switchdev_notifier_fdb_info *fdb_info) in lan966x_fdb_del_entry() 66 if (fdb_entry->vid == fdb_info in lan966x_fdb_del_entry() 24 lan966x_fdb_find_entry(struct lan966x *lan966x, struct switchdev_notifier_fdb_info *fdb_info) lan966x_fdb_find_entry() argument 38 lan966x_fdb_add_entry(struct lan966x *lan966x, struct switchdev_notifier_fdb_info *fdb_info) lan966x_fdb_add_entry() argument 59 lan966x_fdb_del_entry(struct lan966x *lan966x, struct switchdev_notifier_fdb_info *fdb_info) lan966x_fdb_del_entry() argument 138 struct switchdev_notifier_fdb_info *fdb_info; lan966x_fdb_port_event_work() local 164 struct switchdev_notifier_fdb_info *fdb_info; lan966x_fdb_bridge_event_work() local 204 struct switchdev_notifier_fdb_info *fdb_info; lan966x_fdb_lag_event_work() local 246 lan966x_handle_fdb(struct net_device *dev, struct net_device *orig_dev, unsigned long event, const void *ctx, const struct switchdev_notifier_fdb_info *fdb_info) lan966x_handle_fdb() argument [all...] |
/kernel/linux/linux-6.6/net/bridge/ |
H A D | br.c | 156 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, 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() 180 err = br_fdb_external_learn_del(br, p, fdb_info in br_switchdev_event() [all...] |
/kernel/linux/linux-5.10/net/bridge/ |
H A D | br.c | 156 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 in br_switchdev_event() [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/en/rep/ |
H A D | bridge.c | 16 struct switchdev_notifier_fdb_info fdb_info; member 365 kfree(fdb_work->fdb_info.addr); in mlx5_esw_bridge_cleanup_switchdev_fdb_work() 373 struct switchdev_notifier_fdb_info *fdb_info = in mlx5_esw_bridge_switchdev_fdb_event_work() local 374 &fdb_work->fdb_info; in mlx5_esw_bridge_switchdev_fdb_event_work() 388 fdb_info); in mlx5_esw_bridge_switchdev_fdb_event_work() 391 fdb_info); in mlx5_esw_bridge_switchdev_fdb_event_work() 400 struct switchdev_notifier_fdb_info *fdb_info, in mlx5_esw_bridge_init_switchdev_fdb_work() 411 memcpy(&work->fdb_info, fdb_info, sizeof(work->fdb_info)); in mlx5_esw_bridge_init_switchdev_fdb_work() 399 mlx5_esw_bridge_init_switchdev_fdb_work(struct net_device *dev, bool add, struct switchdev_notifier_fdb_info *fdb_info, struct mlx5_esw_bridge_offloads *br_offloads) mlx5_esw_bridge_init_switchdev_fdb_work() argument 435 struct switchdev_notifier_fdb_info *fdb_info; mlx5_esw_bridge_switchdev_event() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/microchip/sparx5/ |
H A D | sparx5_switchdev.c | 17 struct switchdev_notifier_fdb_info fdb_info; member 304 struct switchdev_notifier_fdb_info *fdb_info; in sparx5_switchdev_bridge_fdb_event_work() local 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() 340 sparx5_del_mact_entry(sparx5, fdb_info->addr, vid); in sparx5_switchdev_bridge_fdb_event_work() 345 kfree(switchdev_work->fdb_info in sparx5_switchdev_bridge_fdb_event_work() 360 struct switchdev_notifier_fdb_info *fdb_info; sparx5_switchdev_event() local [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/ti/ |
H A D | cpsw_switchdev.c | 22 struct switchdev_notifier_fdb_info fdb_info; member 433 fdb = &switchdev_work->fdb_info; in cpsw_switchdev_event_work() 449 fdb = &switchdev_work->fdb_info; in cpsw_switchdev_event_work() 468 kfree(switchdev_work->fdb_info.addr); in cpsw_switchdev_event_work() 478 struct switchdev_notifier_fdb_info *fdb_info = ptr; in cpsw_switchdev_event() local 504 memcpy(&switchdev_work->fdb_info, ptr, in cpsw_switchdev_event() 505 sizeof(switchdev_work->fdb_info)); in cpsw_switchdev_event() 506 switchdev_work->fdb_info.addr = kzalloc(ETH_ALEN, GFP_ATOMIC); in cpsw_switchdev_event() 507 if (!switchdev_work->fdb_info.addr) in cpsw_switchdev_event() 509 ether_addr_copy((u8 *)switchdev_work->fdb_info in cpsw_switchdev_event() [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/ti/ |
H 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 in cpsw_switchdev_event() [all...] |
H 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 in am65_cpsw_switchdev_event() [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/marvell/prestera/ |
H A D | prestera_switchdev.c | 24 struct switchdev_notifier_fdb_info fdb_info; member 766 struct switchdev_notifier_fdb_info *fdb_info, in prestera_port_fdb_set() 782 vid = fdb_info->vid; in prestera_port_fdb_set() 787 err = prestera_hw_fdb_add(port, fdb_info->addr, vid, false); in prestera_port_fdb_set() 789 err = prestera_hw_fdb_del(port, fdb_info->addr, vid); in prestera_port_fdb_set() 796 struct switchdev_notifier_fdb_info *fdb_info; in prestera_fdb_event_work() local 813 fdb_info = &swdev_work->fdb_info; in prestera_fdb_event_work() 814 if (!fdb_info->added_by_user) in prestera_fdb_event_work() 817 err = prestera_port_fdb_set(port, fdb_info, tru in prestera_fdb_event_work() 765 prestera_port_fdb_set(struct prestera_port *port, struct switchdev_notifier_fdb_info *fdb_info, bool adding) prestera_port_fdb_set() argument 842 struct switchdev_notifier_fdb_info *fdb_info; prestera_switchdev_event() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
H A D | bridge.h | 64 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 D | bridge.c | 1731 struct switchdev_notifier_fdb_info *fdb_info) in mlx5_esw_bridge_fdb_update_used() 1740 entry = mlx5_esw_bridge_fdb_lookup(bridge, fdb_info->addr, fdb_info->vid); in mlx5_esw_bridge_fdb_update_used() 1744 fdb_info->addr, fdb_info->vid, vport_num); in mlx5_esw_bridge_fdb_update_used() 1753 struct switchdev_notifier_fdb_info *fdb_info) in mlx5_esw_bridge_fdb_mark_deleted() 1762 entry = mlx5_esw_bridge_fdb_lookup(bridge, fdb_info->addr, fdb_info->vid); in mlx5_esw_bridge_fdb_mark_deleted() 1766 fdb_info->addr, fdb_info in mlx5_esw_bridge_fdb_mark_deleted() 1729 mlx5_esw_bridge_fdb_update_used(struct net_device *dev, u16 vport_num, u16 esw_owner_vhca_id, struct mlx5_esw_bridge_offloads *br_offloads, struct switchdev_notifier_fdb_info *fdb_info) mlx5_esw_bridge_fdb_update_used() argument 1751 mlx5_esw_bridge_fdb_mark_deleted(struct net_device *dev, u16 vport_num, u16 esw_owner_vhca_id, struct mlx5_esw_bridge_offloads *br_offloads, struct switchdev_notifier_fdb_info *fdb_info) mlx5_esw_bridge_fdb_mark_deleted() argument 1773 mlx5_esw_bridge_fdb_create(struct net_device *dev, u16 vport_num, u16 esw_owner_vhca_id, struct mlx5_esw_bridge_offloads *br_offloads, struct switchdev_notifier_fdb_info *fdb_info) mlx5_esw_bridge_fdb_create() argument 1802 mlx5_esw_bridge_fdb_remove(struct net_device *dev, u16 vport_num, u16 esw_owner_vhca_id, struct mlx5_esw_bridge_offloads *br_offloads, struct switchdev_notifier_fdb_info *fdb_info) mlx5_esw_bridge_fdb_remove() argument [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/intel/ice/ |
H A D | ice_eswitch_br.c | 348 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() 509 ice_eswitch_br_fdb_work_alloc(struct switchdev_notifier_fdb_info *fdb_info, in ice_eswitch_br_fdb_work_alloc() argument 521 memcpy(&work->fdb_info, fdb_info, sizeof(work->fdb_info)); in ice_eswitch_br_fdb_work_alloc() 542 struct switchdev_notifier_fdb_info *fdb_info; ice_eswitch_br_switchdev_event() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/marvell/prestera/ |
H A D | prestera_switchdev.c | 24 struct switchdev_notifier_fdb_info fdb_info; member 1217 struct switchdev_notifier_fdb_info *fdb_info, in prestera_port_fdb_set() 1233 vid = fdb_info->vid; in prestera_port_fdb_set() 1238 err = prestera_fdb_add(port, fdb_info->addr, vid, false); in prestera_port_fdb_set() 1240 err = prestera_fdb_del(port, fdb_info->addr, vid); in prestera_port_fdb_set() 1247 struct switchdev_notifier_fdb_info *fdb_info; in prestera_fdb_event_work() local 1264 fdb_info = &swdev_work->fdb_info; in prestera_fdb_event_work() 1265 if (!fdb_info->added_by_user || fdb_info in prestera_fdb_event_work() 1216 prestera_port_fdb_set(struct prestera_port *port, struct switchdev_notifier_fdb_info *fdb_info, bool adding) prestera_port_fdb_set() argument 1293 struct switchdev_notifier_fdb_info *fdb_info; prestera_switchdev_event() local [all...] |
/kernel/linux/linux-6.6/include/net/ |
H A D | switchdev.h | 284 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() 466 const struct switchdev_notifier_fdb_info *fdb_info)) in switchdev_handle_fdb_event_to_device() 459 switchdev_handle_fdb_event_to_device(struct net_device *dev, unsigned long event, const struct switchdev_notifier_fdb_info *fdb_info, bool (*check_cb)(const struct net_device *dev), bool (*foreign_dev_check_cb)(const struct net_device *dev, const struct net_device *foreign_dev), int (*mod_cb)(struct net_device *dev, struct net_device *orig_dev, unsigned long event, const void *ctx, const struct switchdev_notifier_fdb_info *fdb_info)) switchdev_handle_fdb_event_to_device() argument
|
/kernel/linux/linux-5.10/net/dsa/ |
H A D | slave.c | 2055 struct switchdev_notifier_fdb_info fdb_info; member 2065 struct switchdev_notifier_fdb_info *fdb_info; in dsa_slave_switchdev_event_work() local 2072 fdb_info = &switchdev_work->fdb_info; in dsa_slave_switchdev_event_work() 2073 if (!fdb_info->added_by_user) in dsa_slave_switchdev_event_work() 2076 err = dsa_port_fdb_add(dp, fdb_info->addr, fdb_info->vid); in dsa_slave_switchdev_event_work() 2081 fdb_info->offloaded = true; in dsa_slave_switchdev_event_work() 2083 &fdb_info->info, NULL); in dsa_slave_switchdev_event_work() 2087 fdb_info in dsa_slave_switchdev_event_work() 2106 dsa_slave_switchdev_fdb_work_init(struct dsa_switchdev_event_work * switchdev_work, const struct switchdev_notifier_fdb_info * fdb_info) dsa_slave_switchdev_fdb_work_init() argument [all...] |
/kernel/linux/linux-5.10/drivers/net/vxlan/ |
H A D | vxlan_core.c | 394 struct switchdev_notifier_vxlan_fdb_info *fdb_info) in vxlan_fdb_switchdev_notifier_info() 396 fdb_info->info.dev = vxlan->dev; in vxlan_fdb_switchdev_notifier_info() 397 fdb_info->info.extack = extack; in vxlan_fdb_switchdev_notifier_info() 398 fdb_info->remote_ip = rd->remote_ip; in vxlan_fdb_switchdev_notifier_info() 399 fdb_info->remote_port = rd->remote_port; in vxlan_fdb_switchdev_notifier_info() 400 fdb_info->remote_vni = rd->remote_vni; in vxlan_fdb_switchdev_notifier_info() 401 fdb_info->remote_ifindex = rd->remote_ifindex; in vxlan_fdb_switchdev_notifier_info() 402 memcpy(fdb_info->eth_addr, fdb->eth_addr, ETH_ALEN); in vxlan_fdb_switchdev_notifier_info() 403 fdb_info->vni = fdb->vni; in vxlan_fdb_switchdev_notifier_info() 404 fdb_info in vxlan_fdb_switchdev_notifier_info() 390 vxlan_fdb_switchdev_notifier_info(const struct vxlan_dev *vxlan, const struct vxlan_fdb *fdb, const struct vxlan_rdst *rd, struct netlink_ext_ack *extack, struct switchdev_notifier_vxlan_fdb_info *fdb_info) vxlan_fdb_switchdev_notifier_info() argument 568 vxlan_fdb_find_uc(struct net_device *dev, const u8 *mac, __be32 vni, struct switchdev_notifier_vxlan_fdb_info *fdb_info) vxlan_fdb_find_uc() argument 606 struct switchdev_notifier_vxlan_fdb_info fdb_info; vxlan_fdb_notify_one() local 4550 vxlan_fdb_offloaded_set(struct net_device *dev, struct switchdev_notifier_vxlan_fdb_info *fdb_info) vxlan_fdb_offloaded_set() argument 4580 vxlan_fdb_external_learn_add(struct net_device *dev, struct switchdev_notifier_vxlan_fdb_info *fdb_info) vxlan_fdb_external_learn_add() argument 4607 vxlan_fdb_external_learn_del(struct net_device *dev, struct switchdev_notifier_vxlan_fdb_info *fdb_info) vxlan_fdb_external_learn_del() argument 4639 struct switchdev_notifier_vxlan_fdb_info *fdb_info; vxlan_switchdev_event() local [all...] |
/kernel/linux/linux-6.6/drivers/net/vxlan/ |
H A D | vxlan_core.c | 288 struct switchdev_notifier_vxlan_fdb_info *fdb_info) in vxlan_fdb_switchdev_notifier_info() 290 fdb_info->info.dev = vxlan->dev; in vxlan_fdb_switchdev_notifier_info() 291 fdb_info->info.extack = extack; in vxlan_fdb_switchdev_notifier_info() 292 fdb_info->remote_ip = rd->remote_ip; in vxlan_fdb_switchdev_notifier_info() 293 fdb_info->remote_port = rd->remote_port; in vxlan_fdb_switchdev_notifier_info() 294 fdb_info->remote_vni = rd->remote_vni; in vxlan_fdb_switchdev_notifier_info() 295 fdb_info->remote_ifindex = rd->remote_ifindex; in vxlan_fdb_switchdev_notifier_info() 296 memcpy(fdb_info->eth_addr, fdb->eth_addr, ETH_ALEN); in vxlan_fdb_switchdev_notifier_info() 297 fdb_info->vni = fdb->vni; in vxlan_fdb_switchdev_notifier_info() 298 fdb_info in vxlan_fdb_switchdev_notifier_info() 284 vxlan_fdb_switchdev_notifier_info(const struct vxlan_dev *vxlan, const struct vxlan_fdb *fdb, const struct vxlan_rdst *rd, struct netlink_ext_ack *extack, struct switchdev_notifier_vxlan_fdb_info *fdb_info) vxlan_fdb_switchdev_notifier_info() argument 462 vxlan_fdb_find_uc(struct net_device *dev, const u8 *mac, __be32 vni, struct switchdev_notifier_vxlan_fdb_info *fdb_info) vxlan_fdb_find_uc() argument 500 struct switchdev_notifier_vxlan_fdb_info fdb_info; vxlan_fdb_notify_one() local 4544 vxlan_fdb_offloaded_set(struct net_device *dev, struct switchdev_notifier_vxlan_fdb_info *fdb_info) vxlan_fdb_offloaded_set() argument 4574 vxlan_fdb_external_learn_add(struct net_device *dev, struct switchdev_notifier_vxlan_fdb_info *fdb_info) vxlan_fdb_external_learn_add() argument 4601 vxlan_fdb_external_learn_del(struct net_device *dev, struct switchdev_notifier_vxlan_fdb_info *fdb_info) vxlan_fdb_external_learn_del() argument 4633 struct switchdev_notifier_vxlan_fdb_info *fdb_info; vxlan_switchdev_event() local [all...] |
/kernel/linux/linux-5.10/drivers/staging/fsl-dpaa2/ethsw/ |
H A D | ethsw.c | 1298 struct switchdev_notifier_fdb_info fdb_info; member 1308 struct switchdev_notifier_fdb_info *fdb_info; in dpaa2_switch_event_work() local 1312 fdb_info = &switchdev_work->fdb_info; in dpaa2_switch_event_work() 1316 if (!fdb_info->added_by_user) in dpaa2_switch_event_work() 1318 if (is_unicast_ether_addr(fdb_info->addr)) in dpaa2_switch_event_work() 1320 fdb_info->addr); in dpaa2_switch_event_work() 1323 fdb_info->addr); in dpaa2_switch_event_work() 1326 fdb_info->offloaded = true; in dpaa2_switch_event_work() 1328 &fdb_info in dpaa2_switch_event_work() 1353 struct switchdev_notifier_fdb_info *fdb_info = ptr; dpaa2_switch_port_event() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlxsw/ |
H A D | spectrum_switchdev.c | 1856 struct switchdev_notifier_fdb_info *fdb_info, bool adding) in mlxsw_sp_port_fdb_set() 1859 struct net_device *orig_dev = fdb_info->info.dev; in mlxsw_sp_port_fdb_set() 1872 fdb_info->vid); in mlxsw_sp_port_fdb_set() 1882 fdb_info->addr, fid_index, vid, in mlxsw_sp_port_fdb_set() 1887 fdb_info->addr, fid_index, in mlxsw_sp_port_fdb_set() 3379 struct switchdev_notifier_fdb_info fdb_info; member 3393 struct switchdev_notifier_fdb_info *fdb_info; in mlxsw_sp_switchdev_bridge_vxlan_fdb_event() local 3399 fdb_info = &switchdev_work->fdb_info; in mlxsw_sp_switchdev_bridge_vxlan_fdb_event() 3400 err = vxlan_fdb_find_uc(dev, fdb_info in mlxsw_sp_switchdev_bridge_vxlan_fdb_event() 1855 mlxsw_sp_port_fdb_set(struct mlxsw_sp_port *mlxsw_sp_port, struct switchdev_notifier_fdb_info *fdb_info, bool adding) mlxsw_sp_port_fdb_set() argument 3491 struct switchdev_notifier_fdb_info *fdb_info; mlxsw_sp_switchdev_bridge_fdb_event_work() local 3740 struct switchdev_notifier_fdb_info *fdb_info; mlxsw_sp_switchdev_event() local [all...] |
/kernel/linux/linux-6.6/net/switchdev/ |
H A D | switchdev.c | 528 const struct switchdev_notifier_fdb_info *fdb_info, in __switchdev_handle_fdb_event_to_device() 534 const struct switchdev_notifier_fdb_info *fdb_info)) in __switchdev_handle_fdb_event_to_device() 536 const struct switchdev_notifier_info *info = &fdb_info->info; in __switchdev_handle_fdb_event_to_device() 542 return mod_cb(dev, orig_dev, event, info->ctx, fdb_info); in __switchdev_handle_fdb_event_to_device() 561 event, fdb_info, check_cb, in __switchdev_handle_fdb_event_to_device() 582 return __switchdev_handle_fdb_event_to_device(br, orig_dev, event, fdb_info, in __switchdev_handle_fdb_event_to_device() 588 const struct switchdev_notifier_fdb_info *fdb_info, in switchdev_handle_fdb_event_to_device() 594 const struct switchdev_notifier_fdb_info *fdb_info)) in switchdev_handle_fdb_event_to_device() 598 err = __switchdev_handle_fdb_event_to_device(dev, dev, event, fdb_info, in switchdev_handle_fdb_event_to_device() 526 __switchdev_handle_fdb_event_to_device(struct net_device *dev, struct net_device *orig_dev, unsigned long event, const struct switchdev_notifier_fdb_info *fdb_info, bool (*check_cb)(const struct net_device *dev), bool (*foreign_dev_check_cb)(const struct net_device *dev, const struct net_device *foreign_dev), int (*mod_cb)(struct net_device *dev, struct net_device *orig_dev, unsigned long event, const void *ctx, const struct switchdev_notifier_fdb_info *fdb_info)) __switchdev_handle_fdb_event_to_device() argument 587 switchdev_handle_fdb_event_to_device(struct net_device *dev, unsigned long event, const struct switchdev_notifier_fdb_info *fdb_info, bool (*check_cb)(const struct net_device *dev), bool (*foreign_dev_check_cb)(const struct net_device *dev, const struct net_device *foreign_dev), int (*mod_cb)(struct net_device *dev, struct net_device *orig_dev, unsigned long event, const void *ctx, const struct switchdev_notifier_fdb_info *fdb_info)) switchdev_handle_fdb_event_to_device() argument
|
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlxsw/ |
H A D | spectrum_switchdev.c | 1408 struct switchdev_notifier_fdb_info *fdb_info, bool adding) in mlxsw_sp_port_fdb_set() 1411 struct net_device *orig_dev = fdb_info->info.dev; in mlxsw_sp_port_fdb_set() 1424 fdb_info->vid); in mlxsw_sp_port_fdb_set() 1434 fdb_info->addr, fid_index, in mlxsw_sp_port_fdb_set() 1439 fdb_info->addr, fid_index, in mlxsw_sp_port_fdb_set() 2737 struct switchdev_notifier_fdb_info fdb_info; member 2751 struct switchdev_notifier_fdb_info *fdb_info; in mlxsw_sp_switchdev_bridge_vxlan_fdb_event() local 2757 fdb_info = &switchdev_work->fdb_info; in mlxsw_sp_switchdev_bridge_vxlan_fdb_event() 2758 err = vxlan_fdb_find_uc(dev, fdb_info in mlxsw_sp_switchdev_bridge_vxlan_fdb_event() 1407 mlxsw_sp_port_fdb_set(struct mlxsw_sp_port *mlxsw_sp_port, struct switchdev_notifier_fdb_info *fdb_info, bool adding) mlxsw_sp_port_fdb_set() argument 2848 struct switchdev_notifier_fdb_info *fdb_info; mlxsw_sp_switchdev_bridge_fdb_event_work() local 3095 struct switchdev_notifier_fdb_info *fdb_info; mlxsw_sp_switchdev_event() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/rocker/ |
H 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() 2730 err = rocker_world_port_fdb_add(rocker_port, fdb_info); in rocker_switchdev_event_work() 2735 rocker_fdb_offload_notify(rocker_port, fdb_info); in rocker_switchdev_event_work() 2738 fdb_info = &switchdev_work->fdb_info; in rocker_switchdev_event_work() 2759 struct switchdev_notifier_fdb_info *fdb_info = ptr; rocker_switchdev_event() local [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/rocker/ |
H A D | rocker_main.c | 2737 struct switchdev_notifier_fdb_info fdb_info; member 2760 struct switchdev_notifier_fdb_info *fdb_info; in rocker_switchdev_event_work() local 2766 fdb_info = &switchdev_work->fdb_info; in rocker_switchdev_event_work() 2767 if (!fdb_info->added_by_user) in rocker_switchdev_event_work() 2769 err = rocker_world_port_fdb_add(rocker_port, fdb_info); in rocker_switchdev_event_work() 2774 rocker_fdb_offload_notify(rocker_port, fdb_info); in rocker_switchdev_event_work() 2777 fdb_info = &switchdev_work->fdb_info; in rocker_switchdev_event_work() 2778 if (!fdb_info in rocker_switchdev_event_work() 2798 struct switchdev_notifier_fdb_info *fdb_info = ptr; rocker_switchdev_event() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/freescale/dpaa2/ |
H A D | dpaa2-switch.c | 2224 struct switchdev_notifier_fdb_info fdb_info; member 2234 struct switchdev_notifier_fdb_info *fdb_info; in dpaa2_switch_event_work() local 2238 fdb_info = &switchdev_work->fdb_info; in dpaa2_switch_event_work() 2242 if (!fdb_info->added_by_user || fdb_info->is_local) in dpaa2_switch_event_work() 2244 if (is_unicast_ether_addr(fdb_info->addr)) in dpaa2_switch_event_work() 2246 fdb_info->addr); in dpaa2_switch_event_work() 2249 fdb_info->addr); in dpaa2_switch_event_work() 2252 fdb_info in dpaa2_switch_event_work() 2279 struct switchdev_notifier_fdb_info *fdb_info = ptr; dpaa2_switch_port_event() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/adi/ |
H 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() 1503 switchdev_work->fdb_info.addr = kzalloc(ETH_ALEN, GFP_ATOMIC); in adin1110_switchdev_event() 1505 if (!switchdev_work->fdb_info in adin1110_switchdev_event() [all...] |