Home
last modified time | relevance | path

Searched refs:bond (Results 1 – 25 of 42) sorted by relevance

12

/linux/drivers/net/bonding/
H A Dbond_options.c20 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);
36 static int bond_option_arp_ip_targets_set(struct bonding *bond,
[all …]
H A Dbond_alb.c56 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 Dbond_main.c266 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()
325 static bool bond_xdp_check(struct bonding *bond) in bond_xdp_check() argument
327 switch (BOND_MODE(bond)) { in bond_xdp_check()
336 if (bond->params.xmit_policy != BOND_XMIT_POLICY_VLAN_SRCMAC) in bond_xdp_check()
[all …]
H A Dbond_sysfs.c40 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 Dbond_procfs.c14 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 Dbond_debugfs.c20 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, in bond_debug_register()
59 bond_debug_unregister(struct bonding * bond) bond_debug_unregister() argument
64 bond_debug_reregister(struct bonding * bond) bond_debug_reregister() argument
95 bond_debug_register(struct bonding * bond) bond_debug_register() argument
99 bond_debug_unregister(struct bonding * bond) bond_debug_unregister() argument
103 bond_debug_reregister(struct bonding * bond) bond_debug_reregister() argument
[all...]
H A Dbond_netlink.c61 if (BOND_MODE(slave->bond) == BOND_MODE_8023AD) { in bond_fill_slave_info()
151 struct bonding *bond = netdev_priv(bond_dev); in bond_slave_changelink() local
166 err = __bond_opt_set(bond, BOND_OPT_QUEUE_ID, &newval, in bond_slave_changelink()
176 err = __bond_opt_set(bond, BOND_OPT_PRIO, &newval, in bond_slave_changelink()
189 struct bonding *bond = netdev_priv(bond_dev); in bond_changelink() local
201 err = __bond_opt_set(bond, BOND_OPT_MODE, &newval, in bond_changelink()
219 err = __bond_opt_set(bond, BOND_OPT_ACTIVE_SLAVE, &newval, in bond_changelink()
228 err = __bond_opt_set(bond, BOND_OPT_MIIMON, &newval, in bond_changelink()
237 err = __bond_opt_set(bond, BOND_OPT_UPDELAY, &newval, in bond_changelink()
246 err = __bond_opt_set(bond, BOND_OPT_DOWNDELAY, &newval, in bond_changelink()
[all …]
H A Dbond_3ad.c145 struct bonding *bond = __get_bond_by_port(port); in __get_first_agg() local
150 if (bond == NULL) in __get_first_agg()
154 first_slave = bond_first_slave_rcu(bond); in __get_first_agg()
259 struct bonding *bond = __get_bond_by_port(port); in __get_agg_selection_mode() local
261 if (bond == NULL) in __get_agg_selection_mode()
264 return bond->params.ad_select; in __get_agg_selection_mode()
273 struct bonding *bond = __get_bond_by_port(port); in __check_agg_selection_timer() local
275 if (bond == NULL) in __check_agg_selection_timer()
278 return atomic_read(&BOND_AD_INFO(bond).agg_select_timer) ? 1 : 0; in __check_agg_selection_timer()
386 slave->bond->dev->name, in __get_link_speed()
[all …]
H A Dbond_sysfs_slave.c64 if (BOND_MODE(slave->bond) == BOND_MODE_8023AD) { in ad_aggregator_id_show()
79 if (BOND_MODE(slave->bond) == BOND_MODE_8023AD) { in ad_actor_oper_port_state_show()
94 if (BOND_MODE(slave->bond) == BOND_MODE_8023AD) { in ad_partner_oper_port_state_show()
/linux/include/net/
H A Dbonding.h51 #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 Dbond_alb.h14 #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 Dbond_options.h119 int (*set)(struct bonding *bond, const struct bond_opt_value *val);
122 int __bond_opt_set(struct bonding *bond, unsigned int option,
125 int __bond_opt_set_notify(struct bonding *bond, unsigned int option,
127 int bond_opt_tryset_rtnl(struct bonding *bond, unsigned int option, char *buf);
160 void bond_option_arp_ip_targets_clear(struct bonding *bond);
162 void bond_option_ns_ip6_targets_clear(struct bonding *bond);
164 void bond_slave_ns_maddrs_add(struct bonding *bond, struct slave *slave);
165 void bond_slave_ns_maddrs_del(struct bonding *bond, struct slave *slave);
H A Dbond_3ad.h262 #define BOND_AD_INFO(bond) ((bond)->ad_info) argument
296 void bond_3ad_initialize(struct bonding *bond);
300 void bond_3ad_initiate_agg_selection(struct bonding *bond, int timeout);
303 int bond_3ad_get_active_agg_info(struct bonding *bond, struct ad_info *ad_info);
304 int __bond_3ad_get_active_agg_info(struct bonding *bond,
306 int bond_3ad_lacpdu_recv(const struct sk_buff *skb, struct bonding *bond,
308 int bond_3ad_set_carrier(struct bonding *bond);
309 void bond_3ad_update_lacp_rate(struct bonding *bond);
310 void bond_3ad_update_ad_actor_settings(struct bonding *bond);
/linux/drivers/net/ethernet/microchip/lan966x/
H A Dlan966x_lag.c32 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 Dlan966x_mac.c217 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 Dbond.c42 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(sizeof(*uplink_priv->bond), GFP_KERNEL); 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 Dbond-break-lacpdu-tx.sh32 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 Dbond-eth-type-change.sh40 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 Dbond-arp-interval-causes-panic.sh31 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 Dbond_topo_2d1c.sh61 ip -n ${s_ns} link add bond0 type bond mode active-backup miimon 100
90 ip -n ${s_ns} link add bond0 type bond $param
/linux/drivers/net/ethernet/mscc/
H A Docelot.c1715 static u32 ocelot_get_bond_mask(struct ocelot *ocelot, struct net_device *bond) in ocelot_get_bond_mask() argument
1728 if (ocelot_port->bond == bond) in ocelot_get_bond_mask()
1738 int ocelot_bond_get_id(struct ocelot *ocelot, struct net_device *bond) in ocelot_bond_get_id() argument
1740 int bond_mask = ocelot_get_bond_mask(ocelot, bond); in ocelot_bond_get_id()
1775 if (cpu->bond) in ocelot_dsa_8021q_cpu_assigned_ports()
1776 mask &= ~ocelot_get_bond_mask(ocelot, cpu->bond); in ocelot_dsa_8021q_cpu_assigned_ports()
1792 if (cpu_port->bond) in ocelot_port_assigned_dsa_8021q_cpu_mask()
1793 return ocelot_get_bond_mask(ocelot, cpu_port->bond); in ocelot_port_assigned_dsa_8021q_cpu_mask()
1858 struct net_device *bond = ocelot_port->bond; in ocelot_apply_bridge_fwd_mask() local
1866 if (bond) in ocelot_apply_bridge_fwd_mask()
[all …]
/linux/tools/testing/selftests/bpf/prog_tests/
H A Dxdp_bonding.c384 int veth, bond, err; in test_xdp_bonding_attach() local
394 bond = if_nametoindex("bond"); in test_xdp_bonding_attach()
395 if (!ASSERT_GE(bond, 0, "if_nametoindex bond")) in test_xdp_bonding_attach()
416 link2 = bpf_program__attach_xdp(skeletons->xdp_dummy->progs.xdp_dummy_prog, bond); in test_xdp_bonding_attach()
424 link = bpf_program__attach_xdp(skeletons->xdp_dummy->progs.xdp_dummy_prog, bond); in test_xdp_bonding_attach()
446 link = bpf_program__attach_xdp(skeletons->xdp_dummy->progs.xdp_dummy_prog, bond); in test_xdp_bonding_attach()
463 int bond, err; in test_xdp_bonding_nested() local
468 bond = if_nametoindex("bond"); in test_xdp_bonding_nested()
469 if (!ASSERT_GE(bond, 0, "if_nametoindex bond")) in test_xdp_bonding_nested()
486 link = bpf_program__attach_xdp(skeletons->xdp_dummy->progs.xdp_dummy_prog, bond); in test_xdp_bonding_nested()
/linux/tools/testing/selftests/drivers/net/mlxsw/
H A Dq_in_q_veto.sh115 ip link add name bond1 type bond mode 802.3ad
186 ip link add name bond1 type bond mode 802.3ad
236 ip link add name bond1 type bond mode 802.3ad
/linux/include/soc/mscc/
H A Docelot.h745 struct net_device *bond; member
777 struct net_device *bond; member
1065 int ocelot_lag_fdb_add(struct ocelot *ocelot, struct net_device *bond,
1068 int ocelot_lag_fdb_del(struct ocelot *ocelot, struct net_device *bond,
1103 struct net_device *bond,
1107 struct net_device *bond);
1109 int ocelot_bond_get_id(struct ocelot *ocelot, struct net_device *bond);
/linux/drivers/net/ethernet/mellanox/mlx4/
H A Dmain.c1524 struct mlx4_bond *bond = container_of(work, struct mlx4_bond, work); in mlx4_bond_work() local
1527 if (bond->is_bonded) { in mlx4_bond_work()
1528 if (!mlx4_is_bonded(bond->dev)) { in mlx4_bond_work()
1529 err = mlx4_bond(bond->dev); in mlx4_bond_work()
1531 mlx4_err(bond->dev, "Fail to bond device\n"); in mlx4_bond_work()
1534 err = mlx4_port_map_set(bond->dev, &bond->port_map); in mlx4_bond_work()
1536 mlx4_err(bond->dev, in mlx4_bond_work()
1538 bond->port_map.port1, in mlx4_bond_work()
1539 bond->port_map.port2, err); in mlx4_bond_work()
1541 } else if (mlx4_is_bonded(bond->dev)) { in mlx4_bond_work()
[all …]

12