| /linux/tools/testing/selftests/net/forwarding/ |
| H A D | bridge_locked_port.sh | 105 check_fail $? "Ping worked after locking port, but before adding FDB entry" 107 bridge fdb add `mac_get $h1` dev $swp1 master static 110 check_err $? "Ping did not work after locking port and adding FDB entry" 113 bridge fdb del `mac_get $h1` dev $swp1 master static 116 check_err $? "Ping did not work after unlocking port and removing FDB entry." 135 check_fail $? "Ping through vlan worked after locking port, but before adding FDB entry" 137 bridge fdb add `mac_get $h1` dev $swp1 vlan 100 master static 140 check_err $? "Ping through vlan did not work after locking port and adding FDB entry" 143 bridge fdb del `mac_get $h1` dev $swp1 vlan 100 master static 146 check_err $? "Ping through vlan did not work after unlocking port and removing FDB entry" [all …]
|
| H A D | bridge_fdb_learning_limit.sh | 113 bridge -j fdb show br br0 | \ 128 bridge fdb flush dev br0 132 bridge fdb add "$H1_DEFAULT_MAC" dev "$swp1" master static use 143 # code finished and the FDB entry was created. 152 bridge fdb replace "$mac" dev "$swp1" master static 155 bridge fdb replace "$mac" dev "$swp1" master static use 158 bridge fdb replace "$mac" dev "$swp1" master extern_learn 162 check_err $? "Failed to add a FDB entry of type ${type}" 174 bridge fdb del "$mac" dev "$swp1" master 178 check_err $? "Failed to remove a FDB entry of type ${type}" [all …]
|
| H A 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 …]
|
| H A D | bridge_vlan_aware.sh | 118 # Test that externally learned FDB entries can roam, but not age out 121 bridge fdb add de:ad:be:ef:13:37 dev $swp1 master extern_learn vlan 1 123 bridge fdb show brport $swp1 | grep -q de:ad:be:ef:13:37 124 check_err $? "Did not find FDB entry when should" 126 # Wait for 10 seconds after the ageing time to make sure the FDB entry 131 bridge fdb show brport $swp1 | grep -q de:ad:be:ef:13:37 132 check_err $? "FDB entry was aged out when should not" 136 bridge fdb show brport $swp2 | grep -q de:ad:be:ef:13:37 137 check_err $? "FDB entry did not roam when should" 139 log_test "Externally learned FDB entry - ageing & roaming" [all …]
|
| H A 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 …]
|
| H A D | bridge_sticky_fdb.sh | 51 bridge fdb add $TEST_MAC dev $swp1 master static sticky 52 check_err $? "Could not add fdb entry" 53 bridge fdb del $TEST_MAC dev $swp1 vlan 1 master static sticky 55 bridge -j fdb show br br0 brport $swp1\ 57 check_err $? "Did not find FDB record when should" 59 log_test "Sticky fdb entry"
|
| /linux/tools/testing/selftests/net/ |
| H A D | fdb_flush.sh | 4 # This test is for checking functionality of flushing FDB entries. 99 $BRIDGE fdb add $mac dev $dev $args 110 $BRIDGE fdb add $mac dev $dev $args 120 local entries=$($BRIDGE fdb show dev $dev | grep "$filter" | wc -l) 125 log_test $rc 0 "$dev: Expected $exp_entries FDB entries, got $entries" 140 run_cmd "$BRIDGE fdb flush dev vx10" 141 log_test $? 0 "Flush FDB by dev vx10" 144 log_test $? 0 "Flush FDB by dev vx10 - test vx10 entries" 147 log_test $? 0 "Flush FDB by dev vx10 - test vx20 entries" 162 run_cmd "$BRIDGE fdb flus [all...] |
| H A D | fib_nexthops.sh | 430 $IP nexthop help 2>&1 | grep -q fdb 432 echo "SKIP: iproute2 too old, missing fdb nexthop support" 460 echo "IPv6 fdb groups functional" 469 run_cmd "$IP nexthop add id 61 via 2001:db8:91::2 fdb" 470 run_cmd "$IP nexthop add id 62 via 2001:db8:91::3 fdb" 471 run_cmd "$IP nexthop add id 102 group 61/62 fdb" 472 check_nexthop "id 102" "id 102 group 61/62 fdb" 473 log_test $? 0 "Fdb Nexthop group with multiple nexthops" 477 check_nexthop "id 102" "id 102 group 61/62 fdb" 478 log_test $? 0 "Get Fdb nexthop group by id" [all …]
|
| H A D | test_vxlan_nh.sh | 81 # both the FDB nexthop group and the egress device. 90 run_cmd "ip -n $ns1 nexthop add id 1 via $remote_addr fdb" 91 run_cmd "ip -n $ns1 nexthop add id 10 group 1 fdb" 94 run_cmd "bridge -n $ns1 fdb add 00:11:22:33:44:55 dev vx0 self static nhid 10" 99 check_err $? "FDB nexthop group stats did not increase" 104 # Add a second FDB nexthop group whose nexthop carries a per-nexthop 112 run_cmd "ip -n $ns1 nexthop add id 2 via $remote_addr fdb dst_port 4790" 113 run_cmd "ip -n $ns1 nexthop add id 20 group 2 fdb" 115 run_cmd "bridge -n $ns1 fdb add 00:11:22:33:44:66 dev vx0 \ 123 check_err $? "FDB nexthop group stats did not increase (with port)" [all …]
|
| H A D | test_bridge_backup_port.sh | 230 run_cmd "bridge -n $sw1 fdb replace $dmac dev swp1 master static vlan 10" 349 run_cmd "ip -n $sw1 nexthop replace id 1 via 192.0.2.34 fdb" 350 run_cmd "ip -n $sw1 nexthop replace id 2 via 192.0.2.34 fdb" 351 run_cmd "ip -n $sw1 nexthop replace id 10 group 1/2 fdb" 353 run_cmd "bridge -n $sw1 fdb replace $dmac dev swp1 master static vlan 10" 354 run_cmd "bridge -n $sw1 fdb replace $dmac dev vx0 self static dst 192.0.2.36 src_vni 10010" 360 # regular VXLAN FDB entry. 368 # that they are forwarded by the VXLAN FDB entry. 391 log_test $? 0 "Forwarding using VXLAN FDB entry" 422 log_test $? 0 "No forwarding using VXLAN FDB entr [all...] |
| /linux/tools/testing/selftests/drivers/net/mlxsw/ |
| H A D | vxlan_fdb_veto.sh | 4 # Test vetoing of FDB entries that mlxsw can not offload. This exercises several 67 bridge fdb add 01:02:03:04:05:06 dev vxlan0 self static \ 71 bridge fdb add 01:02:03:04:05:06 dev vxlan0 self static \ 75 log_test "vxlan FDB veto - create" 82 bridge fdb add 00:01:02:03:04:05 dev vxlan0 self static \ 84 check_err $? "valid FDB rejected" 86 bridge fdb replace 00:01:02:03:04:05 dev vxlan0 self static \ 88 check_fail $? "FDB with an explicit port not rejected" 90 bridge fdb replace 00:01:02:03:04:05 dev vxlan0 self static \ 93 check_err $? "FDB with an explicit port rejected without extack" [all …]
|
| H A D | vxlan.sh | 483 bridge fdb append 00:00:00:00:00:00 dev vxlan0 self dst $LOCAL_IP_2 486 bridge fdb show brport vxlan0 489 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self 498 bridge fdb add de:ad:be:ef:13:37 dev vxlan0 self master static \ 502 de:ad:be:ef:13:37 self bridge fdb show brport vxlan0 505 de:ad:be:ef:13:37 self -v bridge fdb show brport vxlan0 510 # Remove FDB entry from the bridge driver and check that corresponding 514 bridge fdb del de:ad:be:ef:13:37 dev vxlan0 master 516 de:ad:be:ef:13:37 self bridge fdb show brport vxlan0 521 # Add the FDB entry back to the bridge driver and make sure it is [all …]
|
| H A D | vxlan_flooding.sh | 164 bridge fdb append 00:00:00:00:00:00 dev vxlan0 self \ 238 # Add FDB entries for remote VTEPs and corresponding tc filters on the 255 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 198.51.100.8 256 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 198.51.100.9 257 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 198.51.100.10 267 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 198.51.100.2 268 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 198.51.100.3 269 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 198.51.100.4 279 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 198.51.100.11 280 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 198.51.100.12 [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
| H A D | vporttbl.c | 19 struct mlx5_flow_table *fdb; member 37 struct mlx5_flow_table *fdb; in esw_vport_tbl_create() local 46 fdb = mlx5_create_auto_grouped_flow_table(ns, &ft_attr); in esw_vport_tbl_create() 47 if (IS_ERR(fdb)) { in esw_vport_tbl_create() 48 esw_warn(esw->dev, "Failed to create per vport FDB Table err %pe\n", in esw_vport_tbl_create() 49 fdb); in esw_vport_tbl_create() 52 return fdb; in esw_vport_tbl_create() 85 struct mlx5_flow_table *fdb; in mlx5_esw_vporttbl_get() local 101 fdb = ERR_PTR(-ENOMEM); in mlx5_esw_vporttbl_get() 107 esw_warn(dev, "Failed to get FDB namespace\n"); in mlx5_esw_vporttbl_get() [all …]
|
| H A D | legacy.c | 27 struct mlx5_flow_table *fdb; in esw_create_legacy_vepa_table() local 32 esw_warn(dev, "Failed to get FDB flow namespace\n"); in esw_create_legacy_vepa_table() 40 fdb = mlx5_create_auto_grouped_flow_table(root_ns, &ft_attr); in esw_create_legacy_vepa_table() 41 if (IS_ERR(fdb)) { in esw_create_legacy_vepa_table() 42 err = PTR_ERR(fdb); in esw_create_legacy_vepa_table() 43 esw_warn(dev, "Failed to create VEPA FDB err %d\n", err); in esw_create_legacy_vepa_table() 46 esw->fdb_table.legacy.vepa_fdb = fdb; in esw_create_legacy_vepa_table() 53 esw_debug(esw->dev, "Destroy FDB Table\n"); in esw_destroy_legacy_fdb_table() 54 if (!esw->fdb_table.legacy.fdb) in esw_destroy_legacy_fdb_table() 63 mlx5_destroy_flow_table(esw->fdb_table.legacy.fdb); in esw_destroy_legacy_fdb_table() [all …]
|
| /linux/drivers/net/ethernet/ti/icssm/ |
| H A D | icssm_prueth_switch.c | 307 icssm_prueth_sw_find_fdb_insert(struct fdb_tbl *fdb, struct prueth *prueth, in icssm_prueth_sw_find_fdb_insert() argument 311 struct fdb_mac_tbl_array __iomem *mac_tbl = fdb->mac_tbl_a; in icssm_prueth_sw_find_fdb_insert() 329 /* MAC is already in FDB, only port is in icssm_prueth_sw_find_fdb_insert() 337 /* MAC and port are the same, touch the fdb */ in icssm_prueth_sw_find_fdb_insert() 445 struct fdb_tbl *fdb; in icssm_prueth_sw_find_free_mac() local 448 fdb = prueth->fdb_tbl; in icssm_prueth_sw_find_free_mac() 449 mt = fdb->mac_tbl_a; in icssm_prueth_sw_find_free_mac() 460 if (fdb->total_entries == FDB_MAC_TBL_MAX_ENTRIES) in icssm_prueth_sw_find_free_mac() 536 struct fdb_tbl *fdb; in icssm_prueth_sw_insert_fdb_entry() local 542 fdb = prueth->fdb_tbl; in icssm_prueth_sw_insert_fdb_entry() [all …]
|
| H A D | icssm_switchdev.c | 91 * icssm_sw_event_work - insert/delete fdb entry 101 struct switchdev_notifier_fdb_info *fdb; in icssm_sw_event_work() local 113 fdb = &switchdev_work->fdb_info; in icssm_sw_event_work() 115 "prueth fdb add: MACID = %pM vid = %u flags = %u -- port %d\n", in icssm_sw_event_work() 116 fdb->addr, fdb->vid, fdb->added_by_user, port); in icssm_sw_event_work() 118 if (!fdb->added_by_user) in icssm_sw_event_work() 121 if (fdb->is_local) in icssm_sw_event_work() 124 icssm_prueth_sw_fdb_add(emac, fdb); in icssm_sw_event_work() 125 icssm_prueth_sw_fdb_offload(emac->ndev, fdb); in icssm_sw_event_work() 128 fdb = &switchdev_work->fdb_info; in icssm_sw_event_work() [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/esw/diag/ |
| H 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; 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/Documentation/networking/dsa/ |
| H A D | configuration.rst | 299 Forwarding database (FDB) management 303 the software FDB of the bridge in sync with the hardware tables, so the two 304 tables are managed separately (``bridge fdb show`` queries both, and depending 305 on whether the ``self`` or ``master`` flags are being used, a ``bridge fdb 306 add`` or ``bridge fdb del`` command acts upon entries from one or both tables). 308 Up until kernel v4.14, DSA only supported user space management of bridge FDB 310 FDB, just the hardware one) using the ``self`` flag (which is optional and can 315 bridge fdb add dev swp0 00:01:02:03:04:05 self static 317 bridge fdb add dev swp0 00:01:02:03:04:05 static 319 Due to a bug, the bridge bypass FDB implementation provided by DSA did not [all …]
|
| /linux/drivers/net/ethernet/ti/ |
| H 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() 396 if (memcmp(priv->mac_addr, (u8 *)fdb->addr, ETH_ALEN) == 0) in cpsw_switchdev_event_work() 399 cpsw_ale_add_ucast(cpsw->ale, (u8 *)fdb->addr, port, in cpsw_switchdev_event_work() 400 fdb->vid ? ALE_VLAN : 0, fdb->vid); in cpsw_switchdev_event_work() 401 cpsw_fdb_offload_notify(priv->ndev, fdb); in cpsw_switchdev_event_work() 404 fdb = &switchdev_work->fdb_info; in cpsw_switchdev_event_work() [all …]
|
| H 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() 386 if (memcmp(port->slave.mac_addr, (u8 *)fdb->addr, ETH_ALEN) == 0) in am65_cpsw_switchdev_event_work() 389 cpsw_ale_add_ucast(cpsw->ale, (u8 *)fdb->addr, port_id, in am65_cpsw_switchdev_event_work() 390 fdb->vid ? ALE_VLAN : 0, fdb->vid); in am65_cpsw_switchdev_event_work() 391 am65_cpsw_fdb_offload_notify(port->ndev, fdb); in am65_cpsw_switchdev_event_work() 394 fdb = &switchdev_work->fdb_info; in am65_cpsw_switchdev_event_work() [all …]
|
| /linux/drivers/net/ethernet/ti/icssg/ |
| H 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() 145 if (!ether_addr_equal(emac->mac_addr, fdb->addr)) in prueth_switchdev_event_work() 148 ret = icssg_fdb_add_del(emac, fdb->addr, fdb->vid, in prueth_switchdev_event_work() 151 prueth_switchdev_fdb_offload_notify(emac->ndev, fdb); 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() [all …]
|
| /linux/tools/testing/selftests/drivers/net/mlxsw/spectrum/ |
| H A D | vxlan_flooding_ipv6.sh | 165 bridge fdb append 00:00:00:00:00:00 dev vxlan0 self \ 222 # Add FDB entries for remote VTEPs and corresponding tc filters on the 239 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 2001:db8:2::12 240 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 2001:db8:2::13 241 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 2001:db8:2::14 242 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 2001:db8:2::15 243 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 2001:db8:2::16 253 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 2001:db8:2::2 254 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 2001:db8:2::3 255 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 2001:db8:2::4 [all …]
|
| /linux/tools/testing/selftests/drivers/net/mlxsw/spectrum-2/ |
| H A D | vxlan_flooding_ipv6.sh | 176 bridge fdb append 00:00:00:00:00:00 dev vxlan0 self \ 239 # Add FDB entries for remote VTEPs and corresponding tc filters on the 256 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 2001:db8:2::10 257 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 2001:db8:2::11 258 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 2001:db8:2::12 259 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 2001:db8:2::13 269 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 2001:db8:2::2 270 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 2001:db8:2::3 271 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 2001:db8:2::4 272 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 2001:db8:2::5 [all …]
|
| /linux/tools/testing/selftests/drivers/net/dsa/ |
| H A D | test_bridge_fdb_stress.sh | 4 # Bridge FDB entries can be offloaded to DSA switches without holding the 8 # This test creates a background task that stresses the FDB by adding and 12 # Since either the FDB dump or the additions/removals can fail, but the 38 bridge fdb add 00:01:02:03:04:05 dev $eth master static 39 bridge fdb del 00:01:02:03:04:05 dev $eth master static 44 bridge fdb show > /dev/null
|