| /kernel/linux/linux-6.6/drivers/net/ethernet/intel/ice/ |
| D | ice_lag.c | 26 * ice_lag_set_primary - set PF LAG state as Primary 27 * @lag: LAG info struct 29 static void ice_lag_set_primary(struct ice_lag *lag) in ice_lag_set_primary() argument 31 struct ice_pf *pf = lag->pf; in ice_lag_set_primary() 36 if (lag->role != ICE_LAG_UNSET && lag->role != ICE_LAG_BACKUP) { in ice_lag_set_primary() 38 netdev_name(lag->netdev)); in ice_lag_set_primary() 42 lag->role = ICE_LAG_PRIMARY; in ice_lag_set_primary() 46 * ice_lag_set_backup - set PF LAG state to Backup 47 * @lag: LAG info struct 49 static void ice_lag_set_backup(struct ice_lag *lag) in ice_lag_set_backup() argument [all …]
|
| D | ice_lag.h | 9 /* LAG roles for netdev */ 29 /* LAG info struct */ 47 /* LAG workqueue struct */ 51 struct ice_lag *lag; member 66 void ice_lag_move_vf_nodes_cfg(struct ice_lag *lag, u8 src_prt, u8 dst_prt);
|
| D | ice_dcb_nl.c | 73 if (pf->lag && pf->lag->bonded) { in ice_dcbnl_setets() 178 if (pf->lag && pf->lag->bonded) { in ice_dcbnl_setdcbx() 274 if (pf->lag && pf->lag->bonded) { in ice_dcbnl_setpfc() 341 if (pf->lag && pf->lag->bonded) { in ice_dcbnl_set_pfc_cfg() 402 if (pf->lag && pf->lag->bonded) { in ice_dcbnl_setstate() 479 if (pf->lag && pf->lag->bonded) { in ice_dcbnl_set_pg_tc_cfg_tx() 538 if (pf->lag && pf->lag->bonded) { in ice_dcbnl_set_pg_bwg_cfg_tx() 763 if (pf->lag && pf->lag->bonded) { in ice_dcbnl_setapp() 879 if (pf->lag && pf->lag->bonded) { in ice_dcbnl_delapp() 985 if (pf->lag && pf->lag->bonded) { in ice_dcbnl_cee_set_all()
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/netronome/nfp/flower/ |
| D | lag_conf.c | 6 /* LAG group config flags. */ 15 /* LAG port state flags. */ 27 * struct nfp_flower_cmsg_lag_config - control message payload for LAG config 49 * struct nfp_fl_lag_group - list entry for each LAG group 86 static unsigned int nfp_fl_get_next_pkt_number(struct nfp_fl_lag *lag) in nfp_fl_get_next_pkt_number() argument 88 lag->pkt_num++; in nfp_fl_get_next_pkt_number() 89 lag->pkt_num &= NFP_FL_LAG_PKT_NUMBER_MASK; in nfp_fl_get_next_pkt_number() 91 return lag->pkt_num; in nfp_fl_get_next_pkt_number() 94 static void nfp_fl_increment_version(struct nfp_fl_lag *lag) in nfp_fl_increment_version() argument 97 lag->batch_ver += 2; in nfp_fl_increment_version() [all …]
|
| D | main.h | 109 * struct nfp_tun_neigh_lag - lag info 110 * @lag_version: lag version 111 * @lag_instance: lag instance 148 * @lag: lag port info 155 struct nfp_tun_neigh_lag lag; member 164 * @lag: lag port info 171 struct nfp_tun_neigh_lag lag; member 229 * @rst_cfg: Marker to reset HW LAG config 363 * @lag_port_flags: Extended port flags to record lag state of repr 655 void nfp_flower_lag_init(struct nfp_fl_lag *lag); [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/netronome/nfp/flower/ |
| D | lag_conf.c | 6 /* LAG group config flags. */ 15 /* LAG port state flags. */ 27 * struct nfp_flower_cmsg_lag_config - control message payload for LAG config 49 * struct nfp_fl_lag_group - list entry for each LAG group 86 static unsigned int nfp_fl_get_next_pkt_number(struct nfp_fl_lag *lag) in nfp_fl_get_next_pkt_number() argument 88 lag->pkt_num++; in nfp_fl_get_next_pkt_number() 89 lag->pkt_num &= NFP_FL_LAG_PKT_NUMBER_MASK; in nfp_fl_get_next_pkt_number() 91 return lag->pkt_num; in nfp_fl_get_next_pkt_number() 94 static void nfp_fl_increment_version(struct nfp_fl_lag *lag) in nfp_fl_increment_version() argument 97 lag->batch_ver += 2; in nfp_fl_increment_version() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/microchip/lan966x/ |
| D | lan966x_lag.c | 10 int p, lag, i; in lan966x_lag_set_aggr_pgids() local 25 * port ID == LAG ID. So we mark as visited all further ports in the in lan966x_lag_set_aggr_pgids() 38 /* Now, set PGIDs for each active LAG */ in lan966x_lag_set_aggr_pgids() 39 for (lag = 0; lag < lan966x->num_phys_ports; ++lag) { in lan966x_lag_set_aggr_pgids() 40 struct lan966x_port *port = lan966x->ports[lag]; in lan966x_lag_set_aggr_pgids() 46 if (!port || !port->bond || (visited & BIT(lag))) in lan966x_lag_set_aggr_pgids() 78 /* Mark all ports in the same LAG as visited to avoid applying in lan966x_lag_set_aggr_pgids() 81 for (p = lag; p < lan966x->num_phys_ports; p++) { in lan966x_lag_set_aggr_pgids() 224 "LAG device using unsupported Tx type"); in lan966x_lag_port_prechangeupper() 230 "LAG devices can have only the same hash_type"); in lan966x_lag_port_prechangeupper() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/marvell/prestera/ |
| D | prestera_main.c | 618 port->lag = NULL; in prestera_port_create() 877 struct prestera_lag *lag; in prestera_lag_by_dev() local 881 lag = &sw->lags[id]; in prestera_lag_by_dev() 882 if (lag->dev == dev) in prestera_lag_by_dev() 883 return lag; in prestera_lag_by_dev() 892 struct prestera_lag *lag; in prestera_lag_id() local 897 lag = prestera_lag_by_id(sw, id); in prestera_lag_id() 898 if (lag->member_count) { in prestera_lag_id() 899 if (lag->dev == lag_dev) { in prestera_lag_id() 916 struct prestera_lag *lag = NULL; in prestera_lag_create() local [all …]
|
| /kernel/linux/linux-6.6/tools/testing/selftests/drivers/net/mlxsw/ |
| D | rif_bridge.sh | 92 log_test "Drop RIF for bridge on LAG deslavement" 108 log_test "Add RIF for bridge on LAG reenslavement" 115 # Adding an address while the LAG is enslaved shouldn't generate a RIF. 124 # Removing the LAG from the bridge should drop RIF for the bridge (as 125 # tested in bridge_rif_lag_nomaster), but since the LAG now has an 135 log_test "Add RIF for LAG on deslavement from bridge" 155 log_test "Drop RIF for bridge on deslavement of port from LAG" 173 log_test "Add RIF for bridge on reenslavement of port to LAG"
|
| D | rif_lag.sh | 64 log_test "Add RIF for LAG on address addition" 80 log_test "Drop RIF for LAG on port deslavement" 98 log_test "Add RIF for LAG on port reenslavement" 105 # Adding an address while the port is LAG'd shouldn't generate a RIF. 114 # Removing the port from LAG should drop RIF for the LAG (as tested in 126 log_test "Add RIF for port on deslavement from LAG"
|
| D | rif_lag_vlan.sh | 74 log_test "Add RIFs for LAG VLANs on address addition" 90 log_test "Drop RIFs for LAG VLANs on port deslavement" 108 log_test "Add RIFs for LAG VLANs on port reenslavement" 115 # Adding an address while the port is LAG'd shouldn't generate a RIF. 124 # Removing the port from LAG should drop two RIFs for the LAG VLANs (as 136 log_test "Add RIF for port on deslavement from LAG"
|
| D | q_in_q_veto.sh | 121 check_fail $? "802.1ad vlan upper creation on top of a lag not rejected" 126 check_err $? "802.1ad vlan upper creation on top of a lag rejected without extack" 128 log_test "create 802.1ad vlan upper on top of a lag" 192 check_fail $? "vlan upper creation on top of lag enslaved to 802.1ad bridge not rejected" 196 check_err $? "vlan upper creation on top of lag enslaved to 802.1ad bridge rejected without extack" 198 log_test "create vlan upper on top of lag enslaved to 802.1ad bridge" 242 check_fail $? "lag with vlan upper enslavemnt to 802.1ad bridge not rejected" 246 check_err $? "lag with vlan upper enslavemnt to 802.1ad bridge rejected without extack" 248 log_test "enslave lag with vlan upper to 802.1ad bridge"
|
| D | rtnetlink.sh | 201 # ("mlxsw: spectrum: Forbid creation of VLAN 1 over port/LAG") for more 301 check_err $? "subport rif was not created on lag device" 309 check_err $? "subport rif of lag device was destroyed when should not" 317 check_err $? "subport rif of lag device was not destroyed when should" 330 # Test that the reference count of a RIF configured for a LAG is 331 # incremented / decremented when ports join / leave the LAG. We use the 347 check_err $? "subport rif was not created on lag device" 352 check_err $? "subport rif of lag device was destroyed after removing one port" 358 check_err $? "subport rif of lag device was destroyed after re-adding a port and removing another" 363 check_err $? "subport rif of lag device was not destroyed when should" [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/ |
| D | lag.c | 38 #include "lag.h" 156 mlx5_core_info(dev0, "modify lag map port 1:%d port 2:%d", in mlx5_modify_lag() 163 "Failed to modify LAG (%d)\n", in mlx5_modify_lag() 177 mlx5_core_info(dev0, "lag map port 1:%d port 2:%d", in mlx5_create_lag() 184 "Failed to create LAG (%d)\n", in mlx5_create_lag() 201 "Failed to activate RoCE LAG\n"); in mlx5_activate_lag() 204 "Failed to activate VF LAG\n" in mlx5_activate_lag() 205 "Make sure all VFs are unbound prior to VF LAG activation or deactivation\n"); in mlx5_activate_lag() 228 "Failed to deactivate RoCE LAG; driver restart required\n"); in mlx5_deactivate_lag() 231 "Failed to deactivate VF LAG; driver restart required\n" in mlx5_deactivate_lag() [all …]
|
| /kernel/linux/linux-6.6/net/dsa/ |
| D | switch.c | 354 static int dsa_switch_do_lag_fdb_add(struct dsa_switch *ds, struct dsa_lag *lag, in dsa_switch_do_lag_fdb_add() argument 361 mutex_lock(&lag->fdb_lock); in dsa_switch_do_lag_fdb_add() 363 a = dsa_mac_addr_find(&lag->fdbs, addr, vid, db); in dsa_switch_do_lag_fdb_add() 366 trace_dsa_lag_fdb_add_bump(lag->dev, addr, vid, &db, in dsa_switch_do_lag_fdb_add() 377 err = ds->ops->lag_fdb_add(ds, *lag, addr, vid, db); in dsa_switch_do_lag_fdb_add() 378 trace_dsa_lag_fdb_add_hw(lag->dev, addr, vid, &db, err); in dsa_switch_do_lag_fdb_add() 388 list_add_tail(&a->list, &lag->fdbs); in dsa_switch_do_lag_fdb_add() 391 mutex_unlock(&lag->fdb_lock); in dsa_switch_do_lag_fdb_add() 396 static int dsa_switch_do_lag_fdb_del(struct dsa_switch *ds, struct dsa_lag *lag, in dsa_switch_do_lag_fdb_del() argument 403 mutex_lock(&lag->fdb_lock); in dsa_switch_do_lag_fdb_del() [all …]
|
| D | port.c | 406 * for example, when a port leaves a LAG that offloads the bridge, in dsa_port_switchdev_unsync_attrs() 593 if (!dp->lag) in dsa_port_lag_change() 615 struct dsa_lag *lag; in dsa_port_lag_create() local 617 lag = dsa_tree_lag_find(ds->dst, lag_dev); in dsa_port_lag_create() 618 if (lag) { in dsa_port_lag_create() 619 refcount_inc(&lag->refcount); in dsa_port_lag_create() 620 dp->lag = lag; in dsa_port_lag_create() 624 lag = kzalloc(sizeof(*lag), GFP_KERNEL); in dsa_port_lag_create() 625 if (!lag) in dsa_port_lag_create() 628 refcount_set(&lag->refcount, 1); in dsa_port_lag_create() [all …]
|
| D | trace.c | 15 sprintf(buf, "lag %s id %d", db->lag.dev->name, db->lag.id); in dsa_db_print()
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlxsw/ |
| D | pci_hw.h | 141 * Packet arrives from a port which is a LAG 143 MLXSW_ITEM32(pci, cqe0, lag, 0x00, 23, 1); 144 MLXSW_ITEM32(pci, cqe12, lag, 0x00, 24, 1); 145 mlxsw_pci_cqe_item_helpers(lag, 0, 12, 12); 148 * When lag=0: System port on which the packet was received 149 * When lag=1: 150 * bits [15:4] LAG ID on which the packet was received 245 * The Tx port of a packet that is mirrored / sampled to the CPU is a LAG. 250 * The port index within the LAG of a packet that is mirrored / sampled to the 259 * The Tx LAG ID of the original packet that is mirrored / sampled to the CPU. [all …]
|
| /kernel/linux/linux-5.10/tools/testing/selftests/drivers/net/mlxsw/ |
| D | rtnetlink.sh | 284 # ("mlxsw: spectrum: Forbid creation of VLAN 1 over port/LAG") for more 298 # Test that ports cannot be enslaved to LAG devices that have uppers 310 check_fail $? "managed to enslave port to lag when should not" 317 log_test "lag with bridge upper" 411 check_err $? "subport rif was not created on lag device" 419 check_err $? "subport rif of lag device was destroyed when should not" 427 check_err $? "subport rif of lag device was not destroyed when should" 492 # Test that ports are correctly unlinked from their LAG master, when 493 # the LAG and its VLAN uppers are enslaved to bridges 499 check_err $? "lag slave $swp1 was not unlinked from master" [all …]
|
| /kernel/linux/linux-6.6/drivers/net/dsa/qca/ |
| D | qca8k-common.c | 1043 struct dsa_lag lag, in qca8k_lag_can_offload() argument 1050 if (!lag.id) in qca8k_lag_can_offload() 1053 dsa_lag_foreach_port(dp, ds->dst, &lag) in qca8k_lag_can_offload() 1054 /* Includes the port joining the LAG */ in qca8k_lag_can_offload() 1059 "Cannot offload more than 4 LAG ports"); in qca8k_lag_can_offload() 1065 "Can only offload LAG using hash TX type"); in qca8k_lag_can_offload() 1080 struct dsa_lag lag, in qca8k_lag_setup_hash() argument 1083 struct net_device *lag_dev = lag.dev; in qca8k_lag_setup_hash() 1102 /* Check if we are the unique configured LAG */ in qca8k_lag_setup_hash() 1104 if (i != lag.id && dsa_lag_by_id(ds->dst, i)) { in qca8k_lag_setup_hash() [all …]
|
| /kernel/linux/linux-6.6/Documentation/networking/dsa/ |
| D | configuration.rst | 383 This can be achieved by placing the DSA masters under a LAG interface (bonding 384 or team). DSA monitors this operation and creates a mirror of this software LAG 385 on the CPU ports facing the physical DSA masters that constitute the LAG slave 399 information, or a LAG interface which contains only slaves which are valid 417 # CPU ports in LAG, using explicit assignment of the DSA master 429 # CPU ports in LAG, relying on implicit migration of the DSA master 437 Notice that in the case of CPU ports under a LAG, the use of the 447 static user to CPU port assignment with LAG between DSA masters. It is not 449 upper interfaces (this includes LAG devices - the master must always be the LAG 455 Physical DSA masters are allowed to join and leave at any time a LAG interface [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/ |
| D | Makefile | 17 fs_counters.o fs_ft_pool.o rl.o lag/debugfs.o lag/lag.o dev.o events.o wq.o lib/gid.o \ 41 mlx5_core-$(CONFIG_MLX5_ESWITCH) += lag/mp.o lag/port_sel.o lib/geneve.o lib/port_tun.o \ 43 en/mapping.o lag/mpesw.o
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/lag/ |
| D | lag.c | 42 #include "lag.h" 204 mlx5_core_info(dev, "lag map active ports: %s\n", buf); in mlx5_lag_print_mapping() 216 mlx5_core_info(dev, "lag map:%s\n", buf); in mlx5_lag_print_mapping() 269 mlx5_core_err(dev, "Failed to register LAG netdev notifier\n"); in mlx5_lag_dev_alloc() 275 mlx5_core_err(dev, "Failed to init multipath lag err=%d\n", in mlx5_lag_dev_alloc() 410 "Failed to create lag drop rule, error: %d", err); in mlx5_lag_drop_rule_setup() 468 "Failed to modify LAG (%d)\n", in mlx5_modify_lag() 597 "Failed to create LAG (%d)\n", in mlx5_create_lag() 614 "Failed to deactivate RoCE LAG; driver restart required\n"); in mlx5_create_lag() 641 "Failed to create LAG port selection(%d)\n", in mlx5_activate_lag() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlxsw/ |
| D | pci_hw.h | 144 * Packet arrives from a port which is a LAG 146 MLXSW_ITEM32(pci, cqe0, lag, 0x00, 23, 1); 147 MLXSW_ITEM32(pci, cqe12, lag, 0x00, 24, 1); 148 mlxsw_pci_cqe_item_helpers(lag, 0, 12, 12); 151 * When lag=0: System port on which the packet was received 152 * When lag=1: 153 * bits [15:4] LAG ID on which the packet was received
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/vmwgfx/ |
| D | vmwgfx_marker.c | 40 queue->lag = 0; in vmw_marker_queue_init() 84 queue->lag = 0; in vmw_marker_pull() 94 queue->lag = now - marker->submitted; in vmw_marker_pull() 113 queue->lag += now - queue->lag_time; in vmw_fifo_lag() 116 return queue->lag; in vmw_fifo_lag()
|