| /linux/net/bridge/ |
| H A D | br_fdb.c | 69 const struct net_bridge_fdb_entry *fdb) in has_expired() argument 71 return !test_bit(BR_FDB_STATIC, &fdb->flags) && in has_expired() 72 !test_bit(BR_FDB_ADDED_BY_EXT_LEARN, &fdb->flags) && in has_expired() 73 time_before_eq(READ_ONCE(fdb->updated) + hold_time(br), jiffies); in has_expired() 77 const struct net_bridge_fdb_entry *fdb) in fdb_to_nud() argument 79 if (test_bit(BR_FDB_LOCAL, &fdb->flags)) in fdb_to_nud() 81 else if (test_bit(BR_FDB_STATIC, &fdb->flags)) in fdb_to_nud() 83 else if (has_expired(br, fdb)) in fdb_to_nud() 90 const struct net_bridge_fdb_entry *fdb, in fdb_fill_info() argument 93 const struct net_bridge_port *dst = READ_ONCE(fdb->dst); in fdb_fill_info() [all …]
|
| H A D | br_switchdev.c | 130 const struct net_bridge_fdb_entry *fdb, in br_switchdev_fdb_populate() argument 133 const struct net_bridge_port *p = READ_ONCE(fdb->dst); in br_switchdev_fdb_populate() 135 item->addr = fdb->key.addr.addr; in br_switchdev_fdb_populate() 136 item->vid = fdb->key.vlan_id; in br_switchdev_fdb_populate() 137 item->added_by_user = test_bit(BR_FDB_ADDED_BY_USER, &fdb->flags); in br_switchdev_fdb_populate() 138 item->offloaded = test_bit(BR_FDB_OFFLOADED, &fdb->flags); in br_switchdev_fdb_populate() 139 item->is_local = test_bit(BR_FDB_LOCAL, &fdb->flags); in br_switchdev_fdb_populate() 147 const struct net_bridge_fdb_entry *fdb, int type) in br_switchdev_fdb_notify() argument 151 if (test_bit(BR_FDB_LOCKED, &fdb->flags)) in br_switchdev_fdb_notify() 160 if (test_bit(BR_FDB_ADDED_BY_USER, &fdb->flags) && in br_switchdev_fdb_notify() [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() 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() 108 fdb = ERR_PTR(-ENOENT); in mlx5_esw_vporttbl_get() 112 fdb = esw_vport_tbl_create(esw, ns, attr->vport_ns); in mlx5_esw_vporttbl_get() [all …]
|
| H A D | legacy.c | 27 struct mlx5_flow_table *fdb; in esw_create_legacy_vepa_table() local 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() 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() 63 mlx5_destroy_flow_table(esw->fdb_table.legacy.fdb); in esw_destroy_legacy_fdb_table() 65 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 100 fdb = mlx5_create_flow_table(root_ns, &ft_attr); in esw_create_legacy_fdb_table() [all …]
|
| /linux/tools/testing/selftests/net/forwarding/ |
| H A D | bridge_locked_port.sh | 107 bridge fdb add `mac_get $h1` dev $swp1 master static 113 bridge fdb del `mac_get $h1` dev $swp1 master static 137 bridge fdb add `mac_get $h1` dev $swp1 vlan 100 master static 143 bridge fdb del `mac_get $h1` dev $swp1 vlan 100 master static 166 bridge fdb add `mac_get $h1` dev $swp1 master static 171 bridge fdb del `mac_get $h1` dev $swp1 master static 192 bridge fdb get `mac_get $h1` br br0 vlan 1 &> /dev/null 200 bridge fdb get `mac_get $h1` br br0 vlan 1 | grep "dev $swp1" | grep -q "locked" 203 bridge fdb replace `mac_get $h1` dev $swp1 master static 208 bridge fdb get `mac_get $h1` br br0 vlan 1 | grep "dev $swp1" | grep -q "locked" [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 | 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 | vxlan_bridge_1q_ipv6.sh | 205 bridge fdb append dev vx10 00:00:00:00:00:00 dst 2001:db8:4::1 self 206 bridge fdb append dev vx10 00:00:00:00:00:00 dst 2001:db8:5::1 self 208 bridge fdb append dev vx20 00:00:00:00:00:00 dst 2001:db8:4::1 self 209 bridge fdb append dev vx20 00:00:00:00:00:00 dst 2001:db8:5::1 self 214 bridge fdb del dev vx20 00:00:00:00:00:00 dst 2001:db8:5::1 self 215 bridge fdb del dev vx20 00:00:00:00:00:00 dst 2001:db8:4::1 self 217 bridge fdb del dev vx10 00:00:00:00:00:00 dst 2001:db8:5::1 self 218 bridge fdb del dev vx10 00:00:00:00:00:00 dst 2001:db8:4::1 self 296 bridge fdb append dev vx10 00:00:00:00:00:00 dst 2001:db8:3::1 self 297 bridge fdb append dev vx10 00:00:00:00:00:00 dst $other_in_addr self [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 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 174 bridge fdb del "$mac" dev "$swp1" master
|
| H A D | vxlan_bridge_1q_mc_ul.sh | 657 bridge fdb add dev vx10 \ 666 bridge -6 fdb add dev vx20 \ 676 bridge fdb del dev vx10 00:00:00:00:00:00 677 bridge fdb add dev vx10 00:00:00:00:00:00 self static dst "$GROUP4" 693 bridge -6 fdb del dev vx20 00:00:00:00:00:00 694 bridge -6 fdb add dev vx20 00:00:00:00:00:00 self static dst "$GROUP6" 706 bridge fdb del dev vx10 00:00:00:00:00:00 707 bridge fdb add dev vx10 00:00:00:00:00:00 self static dst "$GROUP4" 717 bridge fdb del dev vx10 00:00:00:00:00:00 718 bridge fdb add dev vx10 00:00:00:00:00:00 self static dst "$GROUP4" [all …]
|
| H A D | bridge_vlan_aware.sh | 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 131 bridge fdb show brport $swp1 | grep -q de:ad:be:ef:13:37 136 bridge fdb show brport $swp2 | grep -q de:ad:be:ef:13:37 141 bridge fdb del de:ad:be:ef:13:37 dev $swp2 master vlan 1 &> /dev/null 142 bridge fdb del de:ad:be:ef:13:37 dev $swp1 master vlan 1 &> /dev/null 167 bridge -j fdb show $swp1 | \
|
| /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 \ 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 256 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 2001:db8:2::5 [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/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() 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() 550 err = icssm_prueth_sw_fdb_spin_lock(fdb); in icssm_prueth_sw_insert_fdb_entry() 556 if (fdb->total_entries == FDB_MAC_TBL_MAX_ENTRIES) { in icssm_prueth_sw_insert_fdb_entry() [all …]
|
| H A D | icssm_switchdev.c | 101 struct switchdev_notifier_fdb_info *fdb; in icssm_sw_event_work() local 113 fdb = &switchdev_work->fdb_info; 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() 131 fdb->addr, fdb->vid, fdb->added_by_user, port); in icssm_sw_event_work() 133 if (fdb->is_local) in icssm_sw_event_work() [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-2/ |
| H A D | vxlan_flooding_ipv6.sh | 176 bridge fdb append 00:00:00:00:00:00 dev vxlan0 self \ 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 282 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 2001:db8:2::14 [all …]
|
| /linux/tools/testing/selftests/net/ |
| H A D | fdb_flush.sh | 131 $BRIDGE fdb add $mac dev $dev $args 142 $BRIDGE fdb add $mac dev $dev $args 152 local entries=$($BRIDGE fdb show dev $dev | grep "$filter" | wc -l) 287 $IP nexthop add id 10 via 192.0.2.1 fdb 288 $IP nexthop add id $nhid_1 group 10 fdb 290 $IP nexthop add id 20 via 192.0.2.2 fdb 291 $IP nexthop add id $nhid_2 group 20 fdb 522 $IP nexthop add id 10 via 192.0.2.1 fdb 523 $IP nexthop add id $nhid group 10 fdb 568 $BRIDGE fdb append $mac dev vx10 dst 192.0.2.1 vni $vni \ [all …]
|
| /linux/tools/testing/selftests/drivers/net/mlxsw/ |
| 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 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 525 bridge fdb add de:ad:be:ef:13:37 dev vxlan0 master static 527 de:ad:be:ef:13:37 self bridge fdb show brport vxlan0 [all …]
|
| H A D | vxlan_flooding.sh | 164 bridge fdb append 00:00:00:00:00:00 dev vxlan0 self \ 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 281 bridge fdb del 00:00:00:00:00:00 dev vxlan0 self dst 198.51.100.13 [all …]
|
| H A D | vxlan_fdb_veto.sh | 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 \ 82 bridge fdb add 00:01:02:03:04:05 dev vxlan0 self static \ 86 bridge fdb replace 00:01:02:03:04:05 dev vxlan0 self static \ 90 bridge fdb replace 00:01:02:03:04:05 dev vxlan0 self static \ 102 bridge fdb add 00:00:00:00:00:00 dev vxlan0 self static \ 106 bridge fdb append 00:00:00:00:00:00 dev vxlan0 self static \ 110 bridge fdb append 00:00:00:00:00:00 dev vxlan0 self static \
|
| /linux/tools/testing/selftests/drivers/net/bonding/ |
| H A D | lag_lib.sh | 53 (grep_bridge_fdb "$ucaddr" bridge fdb show dev dummy1 || 54 grep_bridge_fdb "$ucaddr" bridge fdb show dev dummy2) >/dev/null 58 (busywait 10000 grep_bridge_fdb "$mcaddr" bridge fdb show dev dummy1 || 59 grep_bridge_fdb "$mcaddr" bridge fdb show dev dummy2) >/dev/null 65 not grep_bridge_fdb "$ucaddr" bridge fdb show >/dev/null 68 not grep_bridge_fdb "$mcaddr" bridge fdb show >/dev/null
|
| /linux/tools/testing/selftests/drivers/net/dsa/ |
| H A D | test_bridge_fdb_stress.sh | 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
|