| /linux/drivers/net/bonding/ |
| H A D | bond_options.c | 21 static int bond_option_active_slave_set(struct bonding *bond, 23 static int bond_option_miimon_set(struct bonding *bond, 25 static int bond_option_updelay_set(struct bonding *bond, 27 static int bond_option_downdelay_set(struct bonding *bond, 29 static int bond_option_peer_notif_delay_set(struct bonding *bond, 31 static int bond_option_use_carrier_set(struct bonding *bond, 33 static int bond_option_arp_interval_set(struct bonding *bond, 35 static int bond_option_arp_ip_target_add(struct bonding *bond, __be32 target); 36 static int bond_option_arp_ip_target_rem(struct bonding *bond, __be32 target); 37 static int bond_option_arp_ip_targets_set(struct bonding *bond, [all …]
|
| H A D | bond_main.c | 266 static bool bond_time_in_interval(struct bonding *bond, unsigned long last_act, 297 netdev_tx_t bond_dev_queue_xmit(struct bonding *bond, struct sk_buff *skb, in bond_dev_queue_xmit() argument 306 if (unlikely(netpoll_tx_running(bond->dev))) in bond_dev_queue_xmit() 307 return bond_netpoll_send_skb(bond_get_slave_by_dev(bond, slave_dev), skb); in bond_dev_queue_xmit() 312 static bool bond_sk_check(struct bonding *bond) in bond_sk_check() argument 314 switch (BOND_MODE(bond)) { in bond_sk_check() 317 if (bond->params.xmit_policy == BOND_XMIT_POLICY_LAYER34) in bond_sk_check() 344 bool bond_xdp_check(struct bonding *bond, int mode) in bond_xdp_check() argument 346 return __bond_xdp_check(mode, bond->params.xmit_policy); in bond_xdp_check() 376 struct bonding *bond = netdev_priv(bond_dev); in bond_vlan_rx_add_vid() local [all …]
|
| H A D | bond_sysfs.c | 40 struct bonding *bond; in bonding_show_bonds() local 45 list_for_each_entry_rcu(bond, &bn->dev_list, bond_list) { in bonding_show_bonds() 53 res += sysfs_emit_at(buf, res, "%s ", bond->dev->name); in bonding_show_bonds() 64 struct bonding *bond; in bond_get_by_name() local 66 list_for_each_entry(bond, &bn->dev_list, bond_list) { in bond_get_by_name() 67 if (strncmp(bond->dev->name, ifname, IFNAMSIZ) == 0) in bond_get_by_name() 68 return bond->dev; in bond_get_by_name() 145 struct bonding *bond = to_bond(d); in bonding_sysfs_store_option() local 156 ret = bond_opt_tryset_rtnl(bond, opt->id, buffer_clone); in bonding_sysfs_store_option() 168 struct bonding *bond = to_bond(d); in bonding_show_slaves() local [all …]
|
| H A D | bond_procfs.c | 15 struct bonding *bond = pde_data(file_inode(seq->file)); in bond_info_seq_start() local 25 bond_for_each_slave_rcu(bond, slave, iter) in bond_info_seq_start() 34 struct bonding *bond = pde_data(file_inode(seq->file)); in bond_info_seq_next() local 41 return bond_first_slave_rcu(bond); in bond_info_seq_next() 43 bond_for_each_slave_rcu(bond, slave, iter) { in bond_info_seq_next() 61 struct bonding *bond = pde_data(file_inode(seq->file)); in bond_info_show_master() local 66 curr = rcu_dereference(bond->curr_active_slave); in bond_info_show_master() 69 bond_mode_name(BOND_MODE(bond))); in bond_info_show_master() 71 if (BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP && in bond_info_show_master() 72 bond->params.fail_over_mac) { in bond_info_show_master() [all …]
|
| H A D | bond_debugfs.c | 20 struct bonding *bond = m->private; in bond_debug_rlb_hash_show() local 21 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in bond_debug_rlb_hash_show() 25 if (BOND_MODE(bond) != BOND_MODE_ALB) in bond_debug_rlb_hash_show() 31 spin_lock_bh(&bond->mode_lock); in bond_debug_rlb_hash_show() 50 spin_unlock_bh(&bond->mode_lock); in bond_debug_rlb_hash_show() 56 void bond_debug_register(struct bonding *bond) in bond_debug_register() argument 58 bond->debug_dir = in bond_debug_register() 59 debugfs_create_dir(bond->dev->name, bonding_debug_root); in bond_debug_register() 61 debugfs_create_file("rlb_hash_table", 0400, bond->debug_dir, in bond_debug_register() 62 bond, &bond_debug_rlb_hash_fops); in bond_debug_register() [all …]
|
| H A D | bond_netlink.c | 64 if (BOND_MODE(slave->bond) == BOND_MODE_8023AD) { in bond_fill_slave_info() 171 struct bonding *bond = netdev_priv(bond_dev); in bond_slave_changelink() local 186 err = __bond_opt_set(bond, BOND_OPT_QUEUE_ID, &newval, in bond_slave_changelink() 196 err = __bond_opt_set(bond, BOND_OPT_PRIO, &newval, in bond_slave_changelink() 206 err = __bond_opt_set(bond, BOND_OPT_ACTOR_PORT_PRIO, &newval, in bond_slave_changelink() 219 struct bonding *bond = netdev_priv(bond_dev); in bond_changelink() local 231 err = __bond_opt_set(bond, BOND_OPT_MODE, &newval, in bond_changelink() 249 err = __bond_opt_set(bond, BOND_OPT_ACTIVE_SLAVE, &newval, in bond_changelink() 258 err = __bond_opt_set(bond, BOND_OPT_MIIMON, &newval, in bond_changelink() 267 err = __bond_opt_set(bond, BOND_OPT_UPDELAY, &newval, in bond_changelink() [all …]
|
| H A D | bond_3ad.c | 147 struct bonding *bond = __get_bond_by_port(port); in __get_first_agg() local 152 if (bond == NULL) in __get_first_agg() 156 first_slave = bond_first_slave_rcu(bond); in __get_first_agg() 261 struct bonding *bond = __get_bond_by_port(port); in __get_agg_selection_mode() local 263 if (bond == NULL) in __get_agg_selection_mode() 266 return bond->params.ad_select; in __get_agg_selection_mode() 275 struct bonding *bond = __get_bond_by_port(port); in __check_agg_selection_timer() local 277 if (bond == NULL) in __check_agg_selection_timer() 280 return atomic_read(&BOND_AD_INFO(bond).agg_select_timer) ? 1 : 0; in __check_agg_selection_timer() 398 slave->bond->dev->name, in __get_link_speed() [all …]
|
| H A D | bond_sysfs_slave.c | 64 if (BOND_MODE(slave->bond) == BOND_MODE_8023AD) { in ad_aggregator_id_show() 84 if (BOND_MODE(slave->bond) == BOND_MODE_8023AD) { in ad_actor_oper_port_state_show() 99 if (BOND_MODE(slave->bond) == BOND_MODE_8023AD) { in ad_partner_oper_port_state_show()
|
| /linux/include/net/ |
| H A D | bonding.h | 51 #define BOND_MODE(bond) ((bond)->params.mode) argument 54 #define bond_slave_list(bond) (&(bond)->dev->adj_list.lower) argument 56 #define bond_has_slaves(bond) !list_empty(bond_slave_list(bond)) argument 59 #define bond_first_slave(bond) \ argument 60 (bond_has_slaves(bond) ? \ 61 netdev_adjacent_get_private(bond_slave_list(bond)->next) : \ 63 #define bond_last_slave(bond) \ argument 64 (bond_has_slaves(bond) ? \ 65 netdev_adjacent_get_private(bond_slave_list(bond)->prev) : \ 69 #define bond_first_slave_rcu(bond) \ argument [all …]
|
| H A D | bond_alb.h | 14 #define BOND_ALB_INFO(bond) ((bond)->alb_info) argument 23 #define BOND_ALB_LP_INTERVAL(bond) (bond->params.lp_interval) /* In seconds, periodic send of argument 30 #define BOND_ALB_LP_TICKS(bond) (BOND_ALB_LP_INTERVAL(bond) \ argument 153 int bond_alb_initialize(struct bonding *bond, int rlb_enabled); 154 void bond_alb_deinitialize(struct bonding *bond); 155 int bond_alb_init_slave(struct bonding *bond, struct slave *slave); 156 void bond_alb_deinit_slave(struct bonding *bond, struct slave *slave); 157 void bond_alb_handle_link_change(struct bonding *bond, struct slave *slave, char link); 158 void bond_alb_handle_active_change(struct bonding *bond, struct slave *new_slave); 161 struct slave *bond_xmit_alb_slave_get(struct bonding *bond, [all …]
|
| H A D | bond_3ad.h | 263 #define BOND_AD_INFO(bond) ((bond)->ad_info) argument 298 void bond_3ad_initialize(struct bonding *bond); 302 void bond_3ad_initiate_agg_selection(struct bonding *bond, int timeout); 305 int bond_3ad_get_active_agg_info(struct bonding *bond, struct ad_info *ad_info); 306 int __bond_3ad_get_active_agg_info(struct bonding *bond, 308 int bond_3ad_lacpdu_recv(const struct sk_buff *skb, struct bonding *bond, 310 int bond_3ad_set_carrier(struct bonding *bond); 311 void bond_3ad_update_lacp_rate(struct bonding *bond); 312 void bond_3ad_update_lacp_active(struct bonding *bond); 313 void bond_3ad_update_ad_actor_settings(struct bonding *bond);
|
| /linux/drivers/net/ethernet/microchip/lan966x/ |
| H A D | lan966x_lag.c | 32 if (!port || !port->bond) in lan966x_lag_set_aggr_pgids() 42 struct net_device *bond; in lan966x_lag_set_aggr_pgids() local 46 if (!port || !port->bond || (visited & BIT(lag))) in lan966x_lag_set_aggr_pgids() 49 bond = port->bond; in lan966x_lag_set_aggr_pgids() 50 bond_mask = lan966x_lag_get_mask(lan966x, bond); in lan966x_lag_set_aggr_pgids() 87 if (port->bond == bond) in lan966x_lag_set_aggr_pgids() 107 bond_mask = lan966x_lag_get_mask(lan966x, port->bond); in lan966x_lag_set_port_ids() 126 struct net_device *bond, in lan966x_lag_port_join() argument 135 bond_mask = lan966x_lag_get_mask(lan966x, bond); in lan966x_lag_port_join() 139 port->bond = bond; in lan966x_lag_port_join() [all …]
|
| H A D | lan966x_mac.c | 217 mac_entry->lag = port->bond ? true : false; in lan966x_mac_alloc_entry() 306 port->bond ?: port->dev); in lan966x_mac_add_entry() 482 port->bond ?: port->dev); in lan966x_mac_irq_process() 526 mac, vid, port->bond ?: port->dev); in lan966x_mac_irq_process()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/en/rep/ |
| H A D | bond.c | 42 list_for_each_entry(cur, &uplink_priv->bond->metadata_list, list) { in mlx5e_lookup_rep_bond_metadata() 107 list_add(&mdata->list, &rpriv->uplink_priv.bond->metadata_list); in mlx5e_rep_bond_enslave() 280 struct mlx5e_rep_bond *bond; in mlx5e_rep_esw_bond_netevent() local 286 bond = container_of(nb, struct mlx5e_rep_bond, nb); in mlx5e_rep_esw_bond_netevent() 290 if (rpriv->uplink_priv.bond != bond) in mlx5e_rep_esw_bond_netevent() 318 uplink_priv->bond = kvzalloc_obj(*uplink_priv->bond); in mlx5e_rep_bond_init() 319 if (!uplink_priv->bond) { in mlx5e_rep_bond_init() 324 INIT_LIST_HEAD(&uplink_priv->bond->metadata_list); in mlx5e_rep_bond_init() 325 uplink_priv->bond->nb.notifier_call = mlx5e_rep_esw_bond_netevent; in mlx5e_rep_bond_init() 327 &uplink_priv->bond->nb, in mlx5e_rep_bond_init() [all …]
|
| /linux/tools/testing/selftests/drivers/net/bonding/ |
| H A D | bond-break-lacpdu-tx.sh | 32 ip link del veth1-bond >/dev/null 2>&1 || : 33 ip link del veth2-bond >/dev/null 2>&1 || : 44 ip link add fbond type bond mode 4 miimon 200 xmit_hash_policy 1 \ 52 ip link set fbond type bond ad_actor_sys_prio 65535 55 ip link add name veth1-bond type veth peer name veth1-end 56 ip link add name veth2-bond type veth peer name veth2-end 60 ip link set veth1-bond master fbond 61 ip link set veth2-bond master fbond
|
| H A D | Makefile | 5 bond-arp-interval-causes-panic.sh \ 6 bond-break-lacpdu-tx.sh \ 7 bond-eth-type-change.sh \ 8 bond-lladdr-target.sh \
|
| H A D | bond-eth-type-change.sh | 40 ip link add name "$devbond0" type bond 43 ip link set dev "$devbond0" type bond mode active-backup 46 ip link add name "$devbond1" type bond 47 ip link add name "$devbond2" type bond
|
| H A D | netcons_over_bonding.sh | 64 if ! ip -n "${TXNS}" link add "${BOND_TX_MAIN_IF}" type bond mode balance-rr 89 link add "${BOND_RX_MAIN_IF}" type bond mode balance-rr 190 link delete "${BOND_TX_MAIN_IF}" type bond 237 link add "${BOND_TX_MAIN_IF}" type bond mode balance-rr
|
| H A D | bond-arp-interval-causes-panic.sh | 31 ip netns exec client ip link add dev bond0 down type bond mode 1 \ 40 ip netns exec client ip link set dev bond0 type bond mode 0 \
|
| H A D | bond_passive_lacp.sh | 48 ip -n "${s_ns}" link add bond0 type bond mode 802.3ad lacp_active on lacp_rate fast 52 ip -n "${c_ns}" link add bond0 type bond mode 802.3ad lacp_active off lacp_rate fast
|
| H A D | bond_topo_2d1c.sh | 63 ip -n ${s_ns} link add bond0 type bond mode active-backup miimon 100 93 ip -n ${s_ns} link add bond0 type bond $param
|
| /linux/drivers/net/ethernet/mscc/ |
| H A D | ocelot.c | 1721 static u32 ocelot_get_bond_mask(struct ocelot *ocelot, struct net_device *bond) in ocelot_get_bond_mask() argument 1734 if (ocelot_port->bond == bond) in ocelot_get_bond_mask() 1744 int ocelot_bond_get_id(struct ocelot *ocelot, struct net_device *bond) in ocelot_bond_get_id() argument 1746 int bond_mask = ocelot_get_bond_mask(ocelot, bond); in ocelot_bond_get_id() 1781 if (cpu->bond) in ocelot_dsa_8021q_cpu_assigned_ports() 1782 mask &= ~ocelot_get_bond_mask(ocelot, cpu->bond); in ocelot_dsa_8021q_cpu_assigned_ports() 1798 if (cpu_port->bond) in ocelot_port_assigned_dsa_8021q_cpu_mask() 1799 return ocelot_get_bond_mask(ocelot, cpu_port->bond); in ocelot_port_assigned_dsa_8021q_cpu_mask() 1864 struct net_device *bond = ocelot_port->bond; in ocelot_apply_bridge_fwd_mask() local 1872 if (bond) in ocelot_apply_bridge_fwd_mask() [all …]
|
| H A D | ocelot_net.c | 1452 struct net_device *bond, in ocelot_netdevice_lag_join() argument 1463 err = ocelot_port_lag_join(ocelot, port, bond, info, extack); in ocelot_netdevice_lag_join() 1468 bridge_dev = netdev_master_upper_dev_get(bond); in ocelot_netdevice_lag_join() 1472 err = ocelot_netdevice_bridge_join(dev, bond, bridge_dev, extack); in ocelot_netdevice_lag_join() 1479 ocelot_port_lag_leave(ocelot, port, bond); in ocelot_netdevice_lag_join() 1484 struct net_device *bond) in ocelot_netdevice_pre_lag_leave() argument 1488 bridge_dev = netdev_master_upper_dev_get(bond); in ocelot_netdevice_pre_lag_leave() 1492 ocelot_netdevice_pre_bridge_leave(dev, bond); in ocelot_netdevice_pre_lag_leave() 1496 struct net_device *bond) in ocelot_netdevice_lag_leave() argument 1504 ocelot_port_lag_leave(ocelot, port, bond); in ocelot_netdevice_lag_leave() [all …]
|
| /linux/tools/testing/selftests/net/ |
| H A D | vlan_hw_filter.sh | 41 ip netns exec ${NETNS} ip link add bond0 type bond mode 0 55 ip netns exec ${NETNS} ip link add bond0 type bond mode 0 69 ip netns exec ${NETNS} ip link add bond0 type bond mode 0 84 ip netns exec ${NETNS} ip link add bond0 type bond mode 0 96 ip netns exec ${NETNS} ip link add bond0 up type bond mode 0
|
| /linux/tools/testing/selftests/bpf/prog_tests/ |
| H A D | xdp_bonding.c | 389 int veth, bond, err; in test_xdp_bonding_attach() local 399 bond = if_nametoindex("bond"); in test_xdp_bonding_attach() 400 if (!ASSERT_GE(bond, 0, "if_nametoindex bond")) in test_xdp_bonding_attach() 421 link2 = bpf_program__attach_xdp(skeletons->xdp_dummy->progs.xdp_dummy_prog, bond); in test_xdp_bonding_attach() 429 link = bpf_program__attach_xdp(skeletons->xdp_dummy->progs.xdp_dummy_prog, bond); in test_xdp_bonding_attach() 451 link = bpf_program__attach_xdp(skeletons->xdp_dummy->progs.xdp_dummy_prog, bond); in test_xdp_bonding_attach() 468 int bond, err; in test_xdp_bonding_nested() local 473 bond = if_nametoindex("bond"); in test_xdp_bonding_nested() 474 if (!ASSERT_GE(bond, 0, "if_nametoindex bond")) in test_xdp_bonding_nested() 491 link = bpf_program__attach_xdp(skeletons->xdp_dummy->progs.xdp_dummy_prog, bond); in test_xdp_bonding_nested()
|