/Linux-v5.15/net/bridge/ |
D | br_fdb.c | 76 const struct net_bridge_fdb_entry *fdb) in has_expired() argument 78 return !test_bit(BR_FDB_STATIC, &fdb->flags) && in has_expired() 79 !test_bit(BR_FDB_ADDED_BY_EXT_LEARN, &fdb->flags) && in has_expired() 80 time_before_eq(fdb->updated + hold_time(br), jiffies); in has_expired() 109 struct net_bridge_fdb_entry *fdb; in br_fdb_find() local 114 fdb = fdb_find_rcu(&br->fdb_hash_tbl, addr, vid); in br_fdb_find() 117 return fdb; in br_fdb_find() 434 struct net_bridge_fdb_entry *fdb; in br_fdb_test_addr() local 445 fdb = br_fdb_find_rcu(port->br, addr, 0); in br_fdb_test_addr() 446 if (fdb) in br_fdb_test_addr() [all …]
|
D | br_switchdev.c | 127 const struct net_bridge_fdb_entry *fdb, int type) in br_switchdev_fdb_notify() argument 129 const struct net_bridge_port *dst = READ_ONCE(fdb->dst); in br_switchdev_fdb_notify() 131 .addr = fdb->key.addr.addr, in br_switchdev_fdb_notify() 132 .vid = fdb->key.vlan_id, in br_switchdev_fdb_notify() 133 .added_by_user = test_bit(BR_FDB_ADDED_BY_USER, &fdb->flags), in br_switchdev_fdb_notify() 134 .is_local = test_bit(BR_FDB_LOCAL, &fdb->flags), in br_switchdev_fdb_notify() 135 .offloaded = test_bit(BR_FDB_OFFLOADED, &fdb->flags), in br_switchdev_fdb_notify()
|
/Linux-v5.15/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
D | vporttbl.c | 19 struct mlx5_flow_table *fdb; member 29 struct mlx5_flow_table *fdb; in esw_vport_tbl_create() local 38 fdb = mlx5_create_auto_grouped_flow_table(ns, &ft_attr); in esw_vport_tbl_create() 39 if (IS_ERR(fdb)) { in esw_vport_tbl_create() 41 PTR_ERR(fdb)); in esw_vport_tbl_create() 44 return fdb; in esw_vport_tbl_create() 77 struct mlx5_flow_table *fdb; in mlx5_esw_vporttbl_get() local 92 fdb = ERR_PTR(-ENOMEM); in mlx5_esw_vporttbl_get() 99 fdb = ERR_PTR(-ENOENT); in mlx5_esw_vporttbl_get() 103 fdb = esw_vport_tbl_create(esw, ns, attr->vport_ns); in mlx5_esw_vporttbl_get() [all …]
|
D | legacy.c | 26 struct mlx5_flow_table *fdb; in esw_create_legacy_vepa_table() local 39 fdb = mlx5_create_auto_grouped_flow_table(root_ns, &ft_attr); in esw_create_legacy_vepa_table() 40 if (IS_ERR(fdb)) { in esw_create_legacy_vepa_table() 41 err = PTR_ERR(fdb); in esw_create_legacy_vepa_table() 45 esw->fdb_table.legacy.vepa_fdb = fdb; in esw_create_legacy_vepa_table() 53 if (!esw->fdb_table.legacy.fdb) in esw_destroy_legacy_fdb_table() 62 mlx5_destroy_flow_table(esw->fdb_table.legacy.fdb); in esw_destroy_legacy_fdb_table() 64 esw->fdb_table.legacy.fdb = NULL; in esw_destroy_legacy_fdb_table() 77 struct mlx5_flow_table *fdb; in esw_create_legacy_fdb_table() local 101 fdb = mlx5_create_flow_table(root_ns, &ft_attr); in esw_create_legacy_fdb_table() [all …]
|
/Linux-v5.15/drivers/net/ethernet/mellanox/mlx5/core/esw/diag/ |
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; 30 __entry->used = jiffies_to_msecs(jiffies - fdb->lastuse) 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), [all …]
|
/Linux-v5.15/drivers/net/ethernet/ti/ |
D | am65-cpsw-switchdev.c | 375 struct switchdev_notifier_fdb_info *fdb; in am65_cpsw_switchdev_event_work() local 382 fdb = &switchdev_work->fdb_info; in am65_cpsw_switchdev_event_work() 385 fdb->addr, fdb->vid, fdb->added_by_user, in am65_cpsw_switchdev_event_work() 386 fdb->offloaded, port_id); in am65_cpsw_switchdev_event_work() 388 if (!fdb->added_by_user || fdb->is_local) in am65_cpsw_switchdev_event_work() 390 if (memcmp(port->slave.mac_addr, (u8 *)fdb->addr, ETH_ALEN) == 0) in am65_cpsw_switchdev_event_work() 393 cpsw_ale_add_ucast(cpsw->ale, (u8 *)fdb->addr, port_id, in am65_cpsw_switchdev_event_work() 394 fdb->vid ? ALE_VLAN : 0, fdb->vid); in am65_cpsw_switchdev_event_work() 395 am65_cpsw_fdb_offload_notify(port->ndev, fdb); in am65_cpsw_switchdev_event_work() 398 fdb = &switchdev_work->fdb_info; in am65_cpsw_switchdev_event_work() [all …]
|
D | cpsw_switchdev.c | 385 struct switchdev_notifier_fdb_info *fdb; in cpsw_switchdev_event_work() local 392 fdb = &switchdev_work->fdb_info; in cpsw_switchdev_event_work() 395 fdb->addr, fdb->vid, fdb->added_by_user, in cpsw_switchdev_event_work() 396 fdb->offloaded, port); in cpsw_switchdev_event_work() 398 if (!fdb->added_by_user || fdb->is_local) in cpsw_switchdev_event_work() 400 if (memcmp(priv->mac_addr, (u8 *)fdb->addr, ETH_ALEN) == 0) in cpsw_switchdev_event_work() 403 cpsw_ale_add_ucast(cpsw->ale, (u8 *)fdb->addr, port, in cpsw_switchdev_event_work() 404 fdb->vid ? ALE_VLAN : 0, fdb->vid); in cpsw_switchdev_event_work() 405 cpsw_fdb_offload_notify(priv->ndev, fdb); in cpsw_switchdev_event_work() 408 fdb = &switchdev_work->fdb_info; in cpsw_switchdev_event_work() [all …]
|
/Linux-v5.15/tools/testing/selftests/drivers/net/mlxsw/ |
D | vxlan_flooding.sh | 164 bridge fdb append 00:00:00:00:00:00 dev vxlan0 self \ 238 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 198.51.100.8 239 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 198.51.100.9 240 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 198.51.100.10 250 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 198.51.100.2 251 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 198.51.100.3 252 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 198.51.100.4 262 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 198.51.100.11 263 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 198.51.100.12 264 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 198.51.100.13 [all …]
|
D | vxlan_fdb_veto.sh | 52 bridge fdb add 01:02:03:04:05:06 dev vxlan0 self static \ 56 bridge fdb add 01:02:03:04:05:06 dev vxlan0 self static \ 67 bridge fdb add 00:01:02:03:04:05 dev vxlan0 self static \ 71 bridge fdb replace 00:01:02:03:04:05 dev vxlan0 self static \ 75 bridge fdb replace 00:01:02:03:04:05 dev vxlan0 self static \ 87 bridge fdb add 00:00:00:00:00:00 dev vxlan0 self static \ 91 bridge fdb append 00:00:00:00:00:00 dev vxlan0 self static \ 95 bridge fdb append 00:00:00:00:00:00 dev vxlan0 self static \
|
D | vxlan.sh | 472 bridge fdb append 00:00:00:00:00:00 dev vxlan0 self dst 198.51.100.2 475 bridge fdb show brport vxlan0 478 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self 487 bridge fdb add de:ad:be:ef:13:37 dev vxlan0 self master static \ 491 de:ad:be:ef:13:37 self bridge fdb show brport vxlan0 494 de:ad:be:ef:13:37 self -v bridge fdb show brport vxlan0 503 bridge fdb del de:ad:be:ef:13:37 dev vxlan0 master 505 de:ad:be:ef:13:37 self bridge fdb show brport vxlan0 514 bridge fdb add de:ad:be:ef:13:37 dev vxlan0 master static 516 de:ad:be:ef:13:37 self bridge fdb show brport vxlan0 [all …]
|
/Linux-v5.15/tools/testing/selftests/net/forwarding/ |
D | vxlan_bridge_1q.sh | 190 bridge fdb append dev vx10 00:00:00:00:00:00 dst 192.0.2.34 self 191 bridge fdb append dev vx10 00:00:00:00:00:00 dst 192.0.2.50 self 193 bridge fdb append dev vx20 00:00:00:00:00:00 dst 192.0.2.34 self 194 bridge fdb append dev vx20 00:00:00:00:00:00 dst 192.0.2.50 self 199 bridge fdb del dev vx20 00:00:00:00:00:00 dst 192.0.2.50 self 200 bridge fdb del dev vx20 00:00:00:00:00:00 dst 192.0.2.34 self 202 bridge fdb del dev vx10 00:00:00:00:00:00 dst 192.0.2.50 self 203 bridge fdb del dev vx10 00:00:00:00:00:00 dst 192.0.2.34 self 277 bridge fdb append dev vx10 00:00:00:00:00:00 dst 192.0.2.17 self 278 bridge fdb append dev vx10 00:00:00:00:00:00 dst $other_in_addr self [all …]
|
D | vxlan_bridge_1d.sh | 148 bridge fdb append dev vx1 00:00:00:00:00:00 dst 192.0.2.34 self 149 bridge fdb append dev vx1 00:00:00:00:00:00 dst 192.0.2.50 self 157 bridge fdb del dev vx1 00:00:00:00:00:00 dst 192.0.2.50 self 158 bridge fdb del dev vx1 00:00:00:00:00:00 dst 192.0.2.34 self 212 bridge fdb append dev vx2 00:00:00:00:00:00 dst 192.0.2.17 self 213 bridge fdb append dev vx2 00:00:00:00:00:00 dst $other_in_addr self 308 bridge fdb del dev vx1 00:00:00:00:00:00 dst 192.0.2.50 self 309 bridge fdb del dev vx1 00:00:00:00:00:00 dst 192.0.2.34 self 315 bridge fdb append dev vx1 00:00:00:00:00:00 dst 192.0.2.34 self 316 bridge fdb append dev vx1 00:00:00:00:00:00 dst 192.0.2.50 self [all …]
|
D | bridge_vlan_aware.sh | 120 bridge fdb add de:ad:be:ef:13:37 dev $swp1 master extern_learn vlan 1 122 bridge fdb show brport $swp1 | grep -q de:ad:be:ef:13:37 130 bridge fdb show brport $swp1 | grep -q de:ad:be:ef:13:37 135 bridge fdb show brport $swp2 | grep -q de:ad:be:ef:13:37 140 bridge fdb del de:ad:be:ef:13:37 dev $swp2 master vlan 1 &> /dev/null 141 bridge fdb del de:ad:be:ef:13:37 dev $swp1 master vlan 1 &> /dev/null
|
D | bridge_sticky_fdb.sh | 51 bridge fdb add $TEST_MAC dev $swp1 master static sticky 53 bridge fdb del $TEST_MAC dev $swp1 vlan 1 master static sticky 55 bridge -j fdb show br br0 brport $swp1\
|
D | q_in_vni.sh | 164 bridge fdb append dev vx100 00:00:00:00:00:00 dst 192.0.2.34 self 165 bridge fdb append dev vx100 00:00:00:00:00:00 dst 192.0.2.50 self 170 bridge fdb del dev vx100 00:00:00:00:00:00 dst 192.0.2.50 self 171 bridge fdb del dev vx100 00:00:00:00:00:00 dst 192.0.2.34 self 234 bridge fdb append dev vx100 00:00:00:00:00:00 dst 192.0.2.17 self 235 bridge fdb append dev vx100 00:00:00:00:00:00 dst $other_in_addr self
|
D | dual_vxlan_bridge.sh | 174 bridge fdb append dev vx100 00:00:00:00:00:00 dst 192.0.2.34 self 175 bridge fdb append dev vx200 00:00:00:00:00:00 dst 192.0.2.50 self 180 bridge fdb del dev vx200 00:00:00:00:00:00 dst 192.0.2.50 self 181 bridge fdb del dev vx100 00:00:00:00:00:00 dst 192.0.2.34 self 251 bridge fdb append dev $vxlan_name 00:00:00:00:00:00 dst 192.0.2.17 self 252 bridge fdb append dev $vxlan_name 00:00:00:00:00:00 dst $other_in_addr self
|
D | mirror_gre_vlan_bridge_1q.sh | 273 bridge fdb del dev $swp3 $h3mac vlan 555 master 2>/dev/null 274 bridge fdb add dev $swp2 $h3mac vlan 555 master static 278 if ! bridge fdb sh dev $swp2 vlan 555 master \ 290 bridge fdb del dev $swp2 $h3mac vlan 555 master 2>/dev/null
|
D | vxlan_symmetric.sh | 238 bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 10 239 bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 20 250 bridge fdb del 00:00:5e:00:01:01 dev br1 self local vlan 20 251 bridge fdb del 00:00:5e:00:01:01 dev br1 self local vlan 10 409 bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 10 410 bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 20 452 bridge fdb add $mac1 dev vx10 self master extern_learn static \ 454 bridge fdb add $mac2 dev vx20 self master extern_learn static \ 482 bridge fdb add $mac dev vx4001 self master extern_learn static \
|
D | vxlan_asymmetric.sh | 216 bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 10 217 bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 20 228 bridge fdb del 00:00:5e:00:01:01 dev br1 self local vlan 20 229 bridge fdb del 00:00:5e:00:01:01 dev br1 self local vlan 10 366 bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 10 367 bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 20 409 bridge fdb add $mac1 dev vx10 self master extern_learn static \ 411 bridge fdb add $mac2 dev vx20 self master extern_learn static \
|
/Linux-v5.15/tools/testing/selftests/net/ |
D | test_vxlan_fdb_changelink.sh | 9 local N=$(bridge fdb sh dev vx | grep 00:00:00:00:00:00 | wc -l) 21 bridge fdb ap dev vx 00:00:00:00:00:00 dst 192.0.2.20 self permanent 22 bridge fdb ap dev vx 00:00:00:00:00:00 dst 192.0.2.30 self permanent
|
/Linux-v5.15/Documentation/networking/dsa/ |
D | configuration.rst | 301 tables are managed separately (``bridge fdb show`` queries both, and depending 302 on whether the ``self`` or ``master`` flags are being used, a ``bridge fdb 303 add`` or ``bridge fdb del`` command acts upon entries from one or both tables). 312 bridge fdb add dev swp0 00:01:02:03:04:05 self static 314 bridge fdb add dev swp0 00:01:02:03:04:05 static 325 bridge fdb add dev swp0 00:01:02:03:04:05 static 327 bridge fdb add dev swp0 00:01:02:03:04:05 local 330 bridge fdb add dev swp0 00:01:02:03:04:05 344 bridge fdb add dev swp0 00:01:02:03:04:05 master static 354 bridge fdb add dev swp0 00:01:02:03:04:05 master static [all …]
|
/Linux-v5.15/drivers/net/dsa/ |
D | qca8k.c | 307 qca8k_fdb_read(struct qca8k_priv *priv, struct qca8k_fdb *fdb) in qca8k_fdb_read() argument 322 fdb->vid = (reg[2] >> QCA8K_ATU_VID_S) & QCA8K_ATU_VID_M; in qca8k_fdb_read() 324 fdb->aging = reg[2] & QCA8K_ATU_STATUS_M; in qca8k_fdb_read() 326 fdb->port_mask = (reg[1] >> QCA8K_ATU_PORT_S) & QCA8K_ATU_PORT_M; in qca8k_fdb_read() 328 fdb->mac[0] = (reg[1] >> QCA8K_ATU_ADDR0_S) & 0xff; in qca8k_fdb_read() 329 fdb->mac[1] = reg[1] & 0xff; in qca8k_fdb_read() 330 fdb->mac[2] = (reg[0] >> QCA8K_ATU_ADDR2_S) & 0xff; in qca8k_fdb_read() 331 fdb->mac[3] = (reg[0] >> QCA8K_ATU_ADDR3_S) & 0xff; in qca8k_fdb_read() 332 fdb->mac[4] = (reg[0] >> QCA8K_ATU_ADDR4_S) & 0xff; in qca8k_fdb_read() 333 fdb->mac[5] = reg[0] & 0xff; in qca8k_fdb_read() [all …]
|
/Linux-v5.15/drivers/net/ethernet/freescale/dpaa2/ |
D | dpaa2-switch.c | 31 return port_priv->fdb->fdb_id; in dpaa2_switch_port_get_fdb_id() 59 struct dpaa2_switch_fdb *fdb; in dpaa2_switch_port_set_fdb() local 67 fdb = dpaa2_switch_fdb_get_unused(port_priv->ethsw_data); in dpaa2_switch_port_set_fdb() 74 if (!fdb) { in dpaa2_switch_port_set_fdb() 75 port_priv->fdb->bridge_dev = NULL; in dpaa2_switch_port_set_fdb() 79 port_priv->fdb = fdb; in dpaa2_switch_port_set_fdb() 80 port_priv->fdb->in_use = true; in dpaa2_switch_port_set_fdb() 81 port_priv->fdb->bridge_dev = NULL; in dpaa2_switch_port_set_fdb() 112 port_priv->fdb->in_use = false; in dpaa2_switch_port_set_fdb() 113 port_priv->fdb->bridge_dev = NULL; in dpaa2_switch_port_set_fdb() [all …]
|
/Linux-v5.15/drivers/net/ |
D | vxlan.c | 180 static inline struct vxlan_rdst *first_remote_rcu(struct vxlan_fdb *fdb) in first_remote_rcu() argument 182 if (rcu_access_pointer(fdb->nh)) in first_remote_rcu() 184 return list_entry_rcu(fdb->remotes.next, struct vxlan_rdst, list); in first_remote_rcu() 187 static inline struct vxlan_rdst *first_remote_rtnl(struct vxlan_fdb *fdb) in first_remote_rtnl() argument 189 if (rcu_access_pointer(fdb->nh)) in first_remote_rtnl() 191 return list_first_entry(&fdb->remotes, struct vxlan_rdst, list); in first_remote_rtnl() 258 const struct vxlan_fdb *fdb, in vxlan_fdb_info() argument 281 nh = rcu_dereference(fdb->nh); in vxlan_fdb_info() 295 send_eth = !is_zero_ether_addr(fdb->eth_addr); in vxlan_fdb_info() 298 ndm->ndm_state = fdb->state; in vxlan_fdb_info() [all …]
|
/Linux-v5.15/Documentation/networking/ |
D | vxlan.rst | 52 # bridge fdb add to 00:17:42:8a:b4:05 dst 192.19.0.2 dev vxlan0 56 # bridge fdb delete 00:17:42:8a:b4:05 dev vxlan0 60 # bridge fdb show dev vxlan0
|