| /drivers/net/ethernet/mellanox/mlx5/core/esw/ |
| A D | vporttbl.c | 19 struct mlx5_flow_table *fdb; member 37 struct mlx5_flow_table *fdb; in esw_vport_tbl_create() local 47 if (IS_ERR(fdb)) { in esw_vport_tbl_create() 49 PTR_ERR(fdb)); in esw_vport_tbl_create() 52 return fdb; in esw_vport_tbl_create() 101 fdb = ERR_PTR(-ENOMEM); in mlx5_esw_vporttbl_get() 108 fdb = ERR_PTR(-ENOENT); in mlx5_esw_vporttbl_get() 113 if (IS_ERR(fdb)) in mlx5_esw_vporttbl_get() 116 e->fdb = fdb; in mlx5_esw_vporttbl_get() 122 return e->fdb; in mlx5_esw_vporttbl_get() [all …]
|
| A D | legacy.c | 27 struct mlx5_flow_table *fdb; in esw_create_legacy_vepa_table() local 41 if (IS_ERR(fdb)) { in esw_create_legacy_vepa_table() 42 err = PTR_ERR(fdb); in esw_create_legacy_vepa_table() 46 esw->fdb_table.legacy.vepa_fdb = fdb; in esw_create_legacy_vepa_table() 54 if (!esw->fdb_table.legacy.fdb) in esw_destroy_legacy_fdb_table() 65 esw->fdb_table.legacy.fdb = NULL; in esw_destroy_legacy_fdb_table() 78 struct mlx5_flow_table *fdb; in esw_create_legacy_fdb_table() local 102 if (IS_ERR(fdb)) { in esw_create_legacy_fdb_table() 103 err = PTR_ERR(fdb); in esw_create_legacy_fdb_table() 107 esw->fdb_table.legacy.fdb = fdb; in esw_create_legacy_fdb_table() [all …]
|
| A D | bridge.c | 70 struct mlx5_flow_table *fdb; in mlx5_esw_bridge_table_create() local 82 fdb = mlx5_create_flow_table(ns, &ft_attr); in mlx5_esw_bridge_table_create() 83 if (IS_ERR(fdb)) in mlx5_esw_bridge_table_create() 84 esw_warn(dev, "Failed to create bridge FDB Table (err=%ld)\n", PTR_ERR(fdb)); in mlx5_esw_bridge_table_create() 86 return fdb; in mlx5_esw_bridge_table_create()
|
| /drivers/net/ethernet/mellanox/mlx5/core/esw/diag/ |
| A D | bridge_tracepoint.h | 14 TP_PROTO(const struct mlx5_esw_bridge_fdb_entry *fdb), 15 TP_ARGS(fdb), 25 netdev_name(fdb->dev), 27 memcpy(__entry->addr, fdb->key.addr, ETH_ALEN); 28 __entry->vid = fdb->key.vid; 29 __entry->flags = fdb->flags; 42 TP_PROTO(const struct mlx5_esw_bridge_fdb_entry *fdb), 43 TP_ARGS(fdb) 47 TP_PROTO(const struct mlx5_esw_bridge_fdb_entry *fdb), 48 TP_ARGS(fdb) [all …]
|
| /drivers/net/ethernet/ti/ |
| A D | cpsw_switchdev.c | 381 struct switchdev_notifier_fdb_info *fdb; in cpsw_switchdev_event_work() local 388 fdb = &switchdev_work->fdb_info; in cpsw_switchdev_event_work() 391 fdb->addr, fdb->vid, fdb->added_by_user, in cpsw_switchdev_event_work() 392 fdb->offloaded, port); in cpsw_switchdev_event_work() 394 if (!fdb->added_by_user || fdb->is_local) in cpsw_switchdev_event_work() 400 fdb->vid ? ALE_VLAN : 0, fdb->vid); in cpsw_switchdev_event_work() 404 fdb = &switchdev_work->fdb_info; in cpsw_switchdev_event_work() 407 fdb->addr, fdb->vid, fdb->added_by_user, in cpsw_switchdev_event_work() 408 fdb->offloaded, port); in cpsw_switchdev_event_work() 410 if (!fdb->added_by_user || fdb->is_local) in cpsw_switchdev_event_work() [all …]
|
| A D | am65-cpsw-switchdev.c | 371 struct switchdev_notifier_fdb_info *fdb; in am65_cpsw_switchdev_event_work() local 378 fdb = &switchdev_work->fdb_info; in am65_cpsw_switchdev_event_work() 381 fdb->addr, fdb->vid, fdb->added_by_user, in am65_cpsw_switchdev_event_work() 382 fdb->offloaded, port_id); in am65_cpsw_switchdev_event_work() 384 if (!fdb->added_by_user || fdb->is_local) in am65_cpsw_switchdev_event_work() 390 fdb->vid ? ALE_VLAN : 0, fdb->vid); in am65_cpsw_switchdev_event_work() 394 fdb = &switchdev_work->fdb_info; in am65_cpsw_switchdev_event_work() 397 fdb->addr, fdb->vid, fdb->added_by_user, in am65_cpsw_switchdev_event_work() 398 fdb->offloaded, port_id); in am65_cpsw_switchdev_event_work() 400 if (!fdb->added_by_user || fdb->is_local) in am65_cpsw_switchdev_event_work() [all …]
|
| /drivers/net/ethernet/ti/icssg/ |
| A D | icssg_switchdev.c | 130 struct switchdev_notifier_fdb_info *fdb; in prueth_switchdev_event_work() local 137 fdb = &switchdev_work->fdb_info; in prueth_switchdev_event_work() 140 fdb->addr, fdb->vid, fdb->added_by_user, in prueth_switchdev_event_work() 141 fdb->offloaded, port_id); in prueth_switchdev_event_work() 143 if (!fdb->added_by_user) in prueth_switchdev_event_work() 148 ret = icssg_fdb_add_del(emac, fdb->addr, fdb->vid, in prueth_switchdev_event_work() 154 fdb = &switchdev_work->fdb_info; in prueth_switchdev_event_work() 157 fdb->addr, fdb->vid, fdb->added_by_user, in prueth_switchdev_event_work() 158 fdb->offloaded, port_id); in prueth_switchdev_event_work() 160 if (!fdb->added_by_user) in prueth_switchdev_event_work() [all …]
|
| /drivers/net/dsa/qca/ |
| A D | qca8k-common.c | 205 qca8k_fdb_write(priv, fdb->vid, fdb->port_mask, fdb->mac, fdb->aging); in qca8k_fdb_next() 249 struct qca8k_fdb fdb = { 0 }; in qca8k_fdb_search_and_insert() local 264 if (fdb.aging) { in qca8k_fdb_search_and_insert() 269 fdb.aging = aging; in qca8k_fdb_search_and_insert() 273 fdb.port_mask |= port_mask; in qca8k_fdb_search_and_insert() 275 qca8k_fdb_write(priv, vid, fdb.port_mask, mac, fdb.aging); in qca8k_fdb_search_and_insert() 286 struct qca8k_fdb fdb = { 0 }; in qca8k_fdb_search_and_del() local 301 if (!fdb.aging) { in qca8k_fdb_search_and_del() 311 if (fdb.port_mask == port_mask) in qca8k_fdb_search_and_del() 315 fdb.port_mask &= ~port_mask; in qca8k_fdb_search_and_del() [all …]
|
| /drivers/net/ethernet/intel/ice/ |
| A D | ice_trace.h | 245 TP_PROTO(struct ice_esw_br_fdb_entry *fdb), 246 TP_ARGS(fdb), 252 netdev_name(fdb->dev), 254 memcpy(__entry->addr, fdb->data.addr, ETH_ALEN); 255 __entry->vid = fdb->data.vid; 256 __entry->flags = fdb->flags;), 266 TP_PROTO(struct ice_esw_br_fdb_entry *fdb), 267 TP_ARGS(fdb) 272 TP_PROTO(struct ice_esw_br_fdb_entry *fdb), 273 TP_ARGS(fdb)
|
| /drivers/net/vxlan/ |
| A D | vxlan_private.h | 67 static inline struct vxlan_rdst *first_remote_rcu(struct vxlan_fdb *fdb) in first_remote_rcu() argument 69 if (rcu_access_pointer(fdb->nh)) in first_remote_rcu() 71 return list_entry_rcu(fdb->remotes.next, struct vxlan_rdst, list); in first_remote_rcu() 74 static inline struct vxlan_rdst *first_remote_rtnl(struct vxlan_fdb *fdb) in first_remote_rtnl() argument 76 if (rcu_access_pointer(fdb->nh)) in first_remote_rtnl() 78 return list_first_entry(&fdb->remotes, struct vxlan_rdst, list); in first_remote_rtnl() 187 u32 nhid, struct vxlan_fdb **fdb,
|
| A D | vxlan_core.c | 157 const struct vxlan_fdb *fdb, in vxlan_fdb_info() argument 180 nh = rcu_dereference(fdb->nh); in vxlan_fdb_info() 197 ndm->ndm_state = fdb->state; in vxlan_fdb_info() 199 ndm->ndm_flags = fdb->flags; in vxlan_fdb_info() 233 be32_to_cpu(fdb->key.vni))) in vxlan_fdb_info() 302 fdb_info->vni = fdb->key.vni; in vxlan_fdb_switchdev_notifier_info() 308 struct vxlan_fdb *fdb, in vxlan_fdb_switchdev_call_notifiers() argument 842 list_del_rcu(&fdb->nh_list); in vxlan_fdb_nh_update() 845 rcu_assign_pointer(fdb->nh, nh); in vxlan_fdb_nh_update() 890 *fdb = f; in vxlan_fdb_create() [all …]
|
| /drivers/net/dsa/ |
| A D | vitesse-vsc73xx-core.c | 1957 struct vsc73xx_fdb *fdb) in vsc73xx_port_read_mac_table_row() argument 1962 if (!fdb) in vsc73xx_port_read_mac_table_row() 1997 if (!fdb[i].valid) in vsc73xx_port_read_mac_table_row() 2069 struct vsc73xx_fdb fdb[VSC73XX_NUM_BUCKETS]; in vsc73xx_fdb_del_entry() local 2080 if (fdb[bucket].valid && fdb[bucket].port == port && in vsc73xx_fdb_del_entry() 2102 struct vsc73xx_fdb fdb[VSC73XX_NUM_BUCKETS]; in vsc73xx_fdb_add_entry() local 2114 if (!fdb[bucket].valid) in vsc73xx_fdb_add_entry() 2195 if (!fdb[bucket].valid || fdb[bucket].port != port) in vsc73xx_port_fdb_dump() 2199 if (vid_is_dsa_8021q(fdb[bucket].vid)) in vsc73xx_port_fdb_dump() 2200 fdb[bucket].vid = 0; in vsc73xx_port_fdb_dump() [all …]
|
| A D | mt7530.c | 276 mt7530_fdb_read(struct mt7530_priv *priv, struct mt7530_fdb *fdb) in mt7530_fdb_read() argument 289 fdb->vid = (reg[1] >> CVID) & CVID_MASK; in mt7530_fdb_read() 290 fdb->aging = (reg[2] >> AGE_TIMER) & AGE_TIMER_MASK; in mt7530_fdb_read() 291 fdb->port_mask = (reg[2] >> PORT_MAP) & PORT_MAP_MASK; in mt7530_fdb_read() 292 fdb->mac[0] = (reg[0] >> MAC_BYTE_0) & MAC_BYTE_MASK; in mt7530_fdb_read() 293 fdb->mac[1] = (reg[0] >> MAC_BYTE_1) & MAC_BYTE_MASK; in mt7530_fdb_read() 294 fdb->mac[2] = (reg[0] >> MAC_BYTE_2) & MAC_BYTE_MASK; in mt7530_fdb_read() 295 fdb->mac[3] = (reg[0] >> MAC_BYTE_3) & MAC_BYTE_MASK; in mt7530_fdb_read() 296 fdb->mac[4] = (reg[1] >> MAC_BYTE_4) & MAC_BYTE_MASK; in mt7530_fdb_read() 297 fdb->mac[5] = (reg[1] >> MAC_BYTE_5) & MAC_BYTE_MASK; in mt7530_fdb_read() [all …]
|
| /drivers/net/ethernet/mscc/ |
| A D | ocelot.c | 2476 err = ocelot_mact_forget(ocelot, fdb->addr, fdb->vid); in ocelot_migrate_lag_fdbs() 2480 bond->name, fdb->addr, fdb->vid, ERR_PTR(err)); in ocelot_migrate_lag_fdbs() 2483 err = ocelot_mact_learn(ocelot, lag, fdb->addr, fdb->vid, in ocelot_migrate_lag_fdbs() 2488 bond->name, fdb->addr, fdb->vid, ERR_PTR(err)); in ocelot_migrate_lag_fdbs() 2564 fdb = kzalloc(sizeof(*fdb), GFP_KERNEL); in ocelot_lag_fdb_add() 2565 if (!fdb) in ocelot_lag_fdb_add() 2574 fdb->vid = vid; in ocelot_lag_fdb_add() 2575 fdb->bond = bond; in ocelot_lag_fdb_add() 2582 kfree(fdb); in ocelot_lag_fdb_add() 2605 if (!ether_addr_equal(fdb->addr, addr) || fdb->vid != vid || in ocelot_lag_fdb_del() [all …]
|
| /drivers/net/ethernet/freescale/dpaa2/ |
| A D | dpaa2-switch.c | 30 return port_priv->fdb->fdb_id; in dpaa2_switch_port_get_fdb_id() 58 struct dpaa2_switch_fdb *fdb; in dpaa2_switch_port_set_fdb() local 73 if (!fdb) { in dpaa2_switch_port_set_fdb() 78 port_priv->fdb = fdb; in dpaa2_switch_port_set_fdb() 79 port_priv->fdb->in_use = true; in dpaa2_switch_port_set_fdb() 111 port_priv->fdb->in_use = false; in dpaa2_switch_port_set_fdb() 115 port_priv->fdb = other_port_priv->fdb; in dpaa2_switch_port_set_fdb() 3193 fdb->fdb_id = fdb_id; in dpaa2_switch_port_init() 3194 fdb->in_use = true; in dpaa2_switch_port_init() 3195 fdb->bridge_dev = NULL; in dpaa2_switch_port_init() [all …]
|
| A D | dpaa2-switch.h | 157 struct dpaa2_switch_fdb *fdb; member
|
| /drivers/net/ethernet/adi/ |
| A D | adin1110.c | 1356 struct switchdev_notifier_fdb_info *fdb) in adin1110_fdb_add() argument 1368 __func__, fdb->addr, fdb->vid, fdb->added_by_user, in adin1110_fdb_add() 1369 fdb->offloaded, port_priv->nr); in adin1110_fdb_add() 1374 if (fdb->is_local) in adin1110_fdb_add() 1393 return adin1110_write_mac_address(other_port, mac_nr, (u8 *)fdb->addr, in adin1110_fdb_add() 1418 struct switchdev_notifier_fdb_info *fdb) in adin1110_fdb_del() argument 1427 __func__, fdb->addr, fdb->vid, fdb->added_by_user, in adin1110_fdb_del() 1428 fdb->offloaded, port_priv->nr); in adin1110_fdb_del() 1430 if (fdb->is_local) in adin1110_fdb_del() 1438 if (ether_addr_equal(addr, fdb->addr)) { in adin1110_fdb_del()
|
| /drivers/net/ethernet/rocker/ |
| A D | rocker_ofdpa.c | 1902 struct ofdpa_fdb_tbl_entry *fdb; in ofdpa_port_fdb() local 1907 fdb = kzalloc(sizeof(*fdb), GFP_KERNEL); in ofdpa_port_fdb() 1908 if (!fdb) in ofdpa_port_fdb() 1912 fdb->touched = jiffies; in ofdpa_port_fdb() 1913 fdb->key.ofdpa_port = ofdpa_port; in ofdpa_port_fdb() 1914 ether_addr_copy(fdb->key.addr, addr); in ofdpa_port_fdb() 1915 fdb->key.vlan_id = vlan_id; in ofdpa_port_fdb() 1916 fdb->key_crc32 = crc32(~0, &fdb->key, sizeof(fdb->key)); in ofdpa_port_fdb() 1925 kfree(fdb); in ofdpa_port_fdb() 1930 fdb->key_crc32); in ofdpa_port_fdb() [all …]
|
| /drivers/net/ethernet/mellanox/mlx5/core/ |
| A D | eswitch_offloads.c | 670 struct mlx5_flow_table *fdb; in mlx5_eswitch_add_offloaded_rule() local 753 fdb = attr->ft; in mlx5_eswitch_add_offloaded_rule() 760 if (IS_ERR(fdb)) { in mlx5_eswitch_add_offloaded_rule() 761 rule = ERR_CAST(fdb); in mlx5_eswitch_add_offloaded_rule() 1509 struct mlx5_flow_table *fdb; in esw_vport_tbl_get() local 1519 if (IS_ERR(fdb)) in esw_vport_tbl_get() 1526 return PTR_ERR(fdb); in esw_vport_tbl_get() 1691 struct mlx5_flow_table *fdb, in esw_create_meta_send_to_vport_group() argument 1786 struct mlx5_flow_table *fdb, in esw_create_miss_group() argument 1886 if (IS_ERR(fdb)) { in esw_create_offloads_fdb_tables() [all …]
|
| A D | eswitch_offloads_termtbl.c | 245 struct mlx5_flow_table *fdb, in mlx5_eswitch_add_termtbl_rule() argument 300 rule = mlx5_add_flow_rules(fdb, spec, flow_act, dest, num_dest); in mlx5_eswitch_add_termtbl_rule() 332 rule = mlx5_add_flow_rules(fdb, spec, flow_act, dest, num_dest); in mlx5_eswitch_add_termtbl_rule()
|
| A D | eswitch.c | 256 mlx5_add_flow_rules(esw->fdb_table.legacy.fdb, spec, in __esw_fdb_set_vport_rule() 329 if (esw->fdb_table.legacy.fdb && esw->mode == MLX5_ESWITCH_LEGACY) { in esw_add_uc_addr() 422 if (!esw->fdb_table.legacy.fdb) in esw_add_mc_addr() 462 if (!esw->fdb_table.legacy.fdb) in esw_del_mc_addr()
|
| A D | eswitch.h | 244 struct mlx5_flow_table *fdb; member
|
| /drivers/net/ethernet/mellanox/mlx5/core/steering/sws/ |
| A D | dr_domain.c | 433 if (!DR_DOMAIN_SW_STEERING_SUPPORTED(dmn, fdb)) in dr_domain_caps_init()
|
| /drivers/net/ethernet/mellanox/mlx5/core/lib/ |
| A D | macsec_fs.c | 341 struct mlx5_flow_table *fdb = NULL; in macsec_fs_auto_group_table_create() local 351 fdb = mlx5_create_auto_grouped_flow_table(ns, &ft_attr); in macsec_fs_auto_group_table_create() 353 return fdb; in macsec_fs_auto_group_table_create()
|
| /drivers/infiniband/hw/mlx5/ |
| A D | mlx5_ib.h | 305 struct mlx5_ib_flow_prio fdb[MLX5_IB_NUM_FDB_FTS]; member
|