/openbmc/linux/drivers/net/bonding/ |
H A D | bond_options.c | 3 * drivers/net/bond/bond_options.c - bonding options 20 static int bond_option_active_slave_set(struct bonding *bond, 22 static int bond_option_miimon_set(struct bonding *bond, 24 static int bond_option_updelay_set(struct bonding *bond, 26 static int bond_option_downdelay_set(struct bonding *bond, 28 static int bond_option_peer_notif_delay_set(struct bonding *bond, 30 static int bond_option_use_carrier_set(struct bonding *bond, 32 static int bond_option_arp_interval_set(struct bonding *bond, 34 static int bond_option_arp_ip_target_add(struct bonding *bond, __be32 target); 35 static int bond_option_arp_ip_target_rem(struct bonding *bond, __be32 target); [all …]
|
H A D | bond_alb.c | 56 static void rlb_purge_src_ip(struct bonding *bond, struct arp_pkt *arp); 57 static void rlb_src_unlink(struct bonding *bond, u32 index); 58 static void rlb_src_link(struct bonding *bond, u32 ip_src_hash, 93 static void __tlb_clear_slave(struct bonding *bond, struct slave *slave, in __tlb_clear_slave() argument 100 tx_hash_table = BOND_ALB_INFO(bond).tx_hashtbl; in __tlb_clear_slave() 116 static void tlb_clear_slave(struct bonding *bond, struct slave *slave, in tlb_clear_slave() argument 119 spin_lock_bh(&bond->mode_lock); in tlb_clear_slave() 120 __tlb_clear_slave(bond, slave, save_load); in tlb_clear_slave() 121 spin_unlock_bh(&bond->mode_lock); in tlb_clear_slave() 125 static int tlb_initialize(struct bonding *bond) in tlb_initialize() argument [all …]
|
H A D | bond_main.c | 266 static bool bond_time_in_interval(struct bonding *bond, unsigned long last_act, 293 * @bond: bond device that got this skb for tx. 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() 325 static bool bond_xdp_check(struct bonding *bond) in bond_xdp_check() argument 327 switch (BOND_MODE(bond)) { in bond_xdp_check() [all …]
|
H A D | bond_sysfs.c | 41 struct bonding *bond; in bonding_show_bonds() local 45 list_for_each_entry(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() 164 /* Show the slaves in the current bond. */ [all …]
|
H A D | bond_procfs.c | 14 struct bonding *bond = pde_data(file_inode(seq->file)); in bond_info_seq_start() local 24 bond_for_each_slave_rcu(bond, slave, iter) in bond_info_seq_start() 33 struct bonding *bond = pde_data(file_inode(seq->file)); in bond_info_seq_next() local 40 return bond_first_slave_rcu(bond); in bond_info_seq_next() 42 bond_for_each_slave_rcu(bond, slave, iter) { in bond_info_seq_next() 60 struct bonding *bond = pde_data(file_inode(seq->file)); in bond_info_show_master() local 65 curr = rcu_dereference(bond->curr_active_slave); in bond_info_show_master() 68 bond_mode_name(BOND_MODE(bond))); in bond_info_show_master() 70 if (BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP && in bond_info_show_master() 71 bond->params.fail_over_mac) { in bond_info_show_master() [all …]
|
H A D | bond_netlink.c | 3 * drivers/net/bond/bond_netlink.c - Netlink interface for bonding 60 if (BOND_MODE(slave->bond) == BOND_MODE_8023AD) { in bond_fill_slave_info() 149 struct bonding *bond = netdev_priv(bond_dev); in bond_slave_changelink() local 164 err = __bond_opt_set(bond, BOND_OPT_QUEUE_ID, &newval, in bond_slave_changelink() 174 err = __bond_opt_set(bond, BOND_OPT_PRIO, &newval, in bond_slave_changelink() 187 struct bonding *bond = netdev_priv(bond_dev); in bond_changelink() local 199 err = __bond_opt_set(bond, BOND_OPT_MODE, &newval, in bond_changelink() 217 err = __bond_opt_set(bond, BOND_OPT_ACTIVE_SLAVE, &newval, in bond_changelink() 226 err = __bond_opt_set(bond, BOND_OPT_MIIMON, &newval, in bond_changelink() 235 err = __bond_opt_set(bond, BOND_OPT_UPDELAY, &newval, in bond_changelink() [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() 44 spin_unlock_bh(&bond->mode_lock); in bond_debug_rlb_hash_show() 50 void bond_debug_register(struct bonding *bond) in bond_debug_register() argument 52 bond->debug_dir = in bond_debug_register() 53 debugfs_create_dir(bond->dev->name, bonding_debug_root); in bond_debug_register() 55 debugfs_create_file("rlb_hash_table", 0400, bond->debug_dir, in bond_debug_register() 56 bond, &bond_debug_rlb_hash_fops); in bond_debug_register() [all …]
|
H A D | bond_3ad.c | 137 * __get_first_agg - get the first aggregator in the bond 140 * Return the aggregator of the first slave in @bond, or %NULL if it can't be 146 struct bonding *bond = __get_bond_by_port(port); in __get_first_agg() local 150 /* If there's no bond for this port, or bond has no slaves */ in __get_first_agg() 151 if (bond == NULL) in __get_first_agg() 155 first_slave = bond_first_slave_rcu(bond); in __get_first_agg() 212 struct bonding *bond = __get_bond_by_port(port); in __get_agg_selection_mode() local 214 if (bond == NULL) in __get_agg_selection_mode() 217 return bond->params.ad_select; in __get_agg_selection_mode() 226 struct bonding *bond = __get_bond_by_port(port); in __check_agg_selection_timer() local [all …]
|
/openbmc/linux/include/net/ |
H A D | bonding.h | 3 * Bond several ethernet interfaces into a Cisco, running 'Etherchannel'. 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) : \ [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_options.h | 3 * drivers/net/bond/bond_options.h - bonding options 23 * BOND_OPTFLAG_NOSLAVES - check if the bond device is empty before setting 24 * BOND_OPTFLAG_IFDOWN - check if the bond device is down before setting 118 int (*set)(struct bonding *bond, const struct bond_opt_value *val); 121 int __bond_opt_set(struct bonding *bond, unsigned int option, 124 int __bond_opt_set_notify(struct bonding *bond, unsigned int option, 126 int bond_opt_tryset_rtnl(struct bonding *bond, unsigned int option, char *buf); 159 void bond_option_arp_ip_targets_clear(struct bonding *bond); 161 void bond_option_ns_ip6_targets_clear(struct bonding *bond); 163 void bond_slave_ns_maddrs_add(struct bonding *bond, struct slave *slave); [all …]
|
H A D | bond_3ad.h | 191 struct slave *slave; /* pointer to the bond slave that this aggregator belongs to */ 239 struct slave *slave; /* pointer to the bond slave that this port belongs to */ 257 #define BOND_AD_INFO(bond) ((bond)->ad_info) argument 291 void bond_3ad_initialize(struct bonding *bond); 295 void bond_3ad_initiate_agg_selection(struct bonding *bond, int timeout); 298 int bond_3ad_get_active_agg_info(struct bonding *bond, struct ad_info *ad_info); 299 int __bond_3ad_get_active_agg_info(struct bonding *bond, 301 int bond_3ad_lacpdu_recv(const struct sk_buff *skb, struct bonding *bond, 303 int bond_3ad_set_carrier(struct bonding *bond); 304 void bond_3ad_update_lacp_rate(struct bonding *bond); [all …]
|
/openbmc/linux/tools/testing/selftests/bpf/prog_tests/ |
H A D | xdp_bonding.c | 7 * and verifies that XDP_TX program loaded on a bond device 149 SYS(fail, "ip link add bond1 type bond mode %s xmit_hash_policy %s", in bonding_setup() 152 SYS(fail, "ip -netns ns_dst link add bond2 type bond mode %s xmit_hash_policy %s", in bonding_setup() 329 * to neither the ingress bond device (bond2) or its slave (veth2_1). 379 /* Test that XDP programs cannot be attached to both the bond master and slaves simultaneously */ 384 int veth, bond, err; in test_xdp_bonding_attach() local 388 if (!ASSERT_OK(system("ip link add bond type bond"), "add bond")) in test_xdp_bonding_attach() 394 bond = if_nametoindex("bond"); in test_xdp_bonding_attach() 395 if (!ASSERT_GE(bond, 0, "if_nametoindex bond")) in test_xdp_bonding_attach() 403 err = system("ip link set veth master bond"); in test_xdp_bonding_attach() [all …]
|
/openbmc/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 …]
|
/openbmc/linux/tools/testing/selftests/drivers/net/bonding/ |
H A D | bond-eth-type-change.sh | 4 # Test bond device ether type changing 21 check_err $? "MASTER flag is missing from the bond device" 24 check_err $? "SLAVE flag is missing from the bond device" 27 # test enslaved bond dev type change from ARPHRD_ETHER and back 40 ip link add name "$devbond0" type bond 43 ip link set dev "$devbond0" type bond mode active-backup 44 check_err $? "could not change bond mode to active-backup" 46 ip link add name "$devbond1" type bond 47 ip link add name "$devbond2" type bond 50 # change bond type to non-ARPHRD_ETHER [all …]
|
H A D | bond-break-lacpdu-tx.sh | 6 # the bond. 29 ip link del veth1-bond >/dev/null 2>&1 || : 30 ip link del veth2-bond >/dev/null 2>&1 || : 43 # create the bond 44 ip link add fbond type bond mode 4 miimon 200 xmit_hash_policy 1 \ 47 # set bond address 51 # set again bond sysfs parameters 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 [all …]
|
H A D | dev_addr_lists.sh | 4 # Test bond device handling of addr lists (dev->uc, mc) 40 # bond driver control paths vary between modes that have a primary slave 58 # Initial state of bond device, up | down 63 ip link add bond1 "$init_state" type bond mode 802.3ad 84 log_test "bonding LACPDU multicast address to slave (from bond $init_state)" 88 # of the bond when enslaving a device. Test both cases.
|
H A D | Makefile | 5 bond-arp-interval-causes-panic.sh \ 6 bond-break-lacpdu-tx.sh \ 7 bond-lladdr-target.sh \ 12 bond-eth-type-change.sh \
|
H A D | bond_options.sh | 35 ip -n ${s_ns} link add bond1 type bond ns_ip6_target ${g_ip6} 63 # create bond 66 ip -n ${s_ns} link set bond0 type bond active_slave eth1 131 # Test changing bond slave prio 178 log_test_skip "prio ns" "Current iproute or kernel doesn't support bond option 'ns_ip6_target'." 193 log_test_skip "prio" "Current iproute or kernel doesn't support bond option 'prio'." 209 # create bond 242 …log_test_skip "arp_validate ns" "Current iproute or kernel doesn't support bond option 'ns_ip6_tar… 264 # create bond
|
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en/rep/ |
H A D | bond.c | 27 /* private of uplink holding rep bond metadata list */ 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() 268 /* Bond device of representors and netdev events are used here in specific way 271 * also change the traditional behavior of lower dev under bond device. 273 * of bond device are not supported. 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() 289 /* Verify VF representor is on the same device of the bond handling the netevent. */ in mlx5e_rep_esw_bond_netevent() 290 if (rpriv->uplink_priv.bond != bond) in mlx5e_rep_esw_bond_netevent() [all …]
|
/openbmc/linux/drivers/iommu/arm/arm-smmu-v3/ |
H A D | arm-smmu-v3-sva.c | 352 struct arm_smmu_bond *bond; in __arm_smmu_sva_bind() local 361 list_for_each_entry(bond, &master->bonds, list) { in __arm_smmu_sva_bind() 362 if (bond->mm == mm) { in __arm_smmu_sva_bind() 363 refcount_inc(&bond->refs); in __arm_smmu_sva_bind() 364 return &bond->sva; in __arm_smmu_sva_bind() 368 bond = kzalloc(sizeof(*bond), GFP_KERNEL); in __arm_smmu_sva_bind() 369 if (!bond) in __arm_smmu_sva_bind() 372 bond->mm = mm; in __arm_smmu_sva_bind() 373 bond->sva.dev = dev; in __arm_smmu_sva_bind() 374 refcount_set(&bond->refs, 1); in __arm_smmu_sva_bind() [all …]
|
/openbmc/phosphor-dbus-interfaces/gen/xyz/openbmc_project/Network/Experimental/ |
H A D | meson.build | 2 subdir('Bond') subdir 9 input: [ '../../../../../yaml/xyz/openbmc_project/Network/Experimental/Bond.interface.yaml', ], 10 output: [ 'Bond.md' ], 17 'xyz/openbmc_project/Network/Experimental/Bond',
|
/openbmc/linux/Documentation/networking/ |
H A D | bonding.rst | 156 configuring a bond, it is recommended "tail -f /var/log/messages" be 201 use the MAC of the bond itself. It is preferred to have the 230 - A slave is added to or removed from the bond 236 - The bond's administrative state changes to up 461 bond's MAC address in accordance with the selected policy. 468 bonding to set all slaves of an active-backup bond to 475 MAC address of the bond should always be the MAC 478 address of the bond changes during a failover. 503 address of the bond to be selected normally (normally 504 the MAC address of the first slave added to the bond). [all …]
|
/openbmc/phosphor-dbus-interfaces/gen/xyz/openbmc_project/Network/Experimental/Bond/ |
H A D | meson.build | 3 sdbusplus_current_path = 'xyz/openbmc_project/Network/Experimental/Bond' 8 '../../../../../../yaml/xyz/openbmc_project/Network/Experimental/Bond.interface.yaml', 23 'xyz/openbmc_project/Network/Experimental/Bond',
|
/openbmc/openbmc/meta-quanta/meta-s6q/recipes-core/systemd/ |
H A D | systemd-conf_%.bbappend | 6 file://bond-eth0.conf \ 7 file://bond-eth1.conf \ 35 install -m 0644 ${UNPACKDIR}/bond-eth0.conf \ 37 install -m 0644 ${UNPACKDIR}/bond-eth1.conf \
|