Home
last modified time | relevance | path

Searched full:bonding (Results 1 – 25 of 131) sorted by relevance

123456

/linux-6.12.1/Documentation/networking/
Dbonding.rst4 Linux Ethernet Bonding Driver HOWTO
27 The Linux bonding driver provides a method for aggregating
33 The bonding driver originally came from Donald Becker's
43 1. Bonding Driver Installation
45 2. Bonding Driver Options
47 3. Configuring Bonding Devices
54 3.3 Configuring Bonding Manually with Ifenslave
56 3.4 Configuring Bonding Manually via Sysfs
61 4. Querying Bonding Configuration
62 4.1 Bonding Configuration
[all …]
/linux-6.12.1/drivers/net/bonding/
Dbond_sysfs.c27 #include <net/bonding.h>
29 #define to_bond(cd) ((struct bonding *)(netdev_priv(to_net_dev(cd))))
40 struct bonding *bond; in bonding_show_bonds()
64 struct bonding *bond; in bond_get_by_name()
140 /* Generic "store" method for bonding sysfs option setting */
145 struct bonding *bond = to_bond(d); in bonding_sysfs_store_option()
168 struct bonding *bond = to_bond(d); in bonding_show_slaves()
196 /* Show the bonding mode. */
200 struct bonding *bond = to_bond(d); in bonding_show_mode()
209 /* Show the bonding transmit hash method. */
[all …]
Dbond_options.c3 * drivers/net/bond/bond_options.c - bonding options
17 #include <net/bonding.h>
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);
[all …]
Dbond_debugfs.c7 #include <net/bonding.h>
20 struct bonding *bond = m->private; in bond_debug_rlb_hash_show()
50 void bond_debug_register(struct bonding *bond) in bond_debug_register()
59 void bond_debug_unregister(struct bonding *bond) in bond_debug_unregister()
64 void bond_debug_reregister(struct bonding *bond) in bond_debug_reregister()
80 bonding_debug_root = debugfs_create_dir("bonding", NULL); in bond_create_debugfs()
83 pr_warn("Warning: Cannot create bonding directory in debugfs\n"); in bond_create_debugfs()
95 void bond_debug_register(struct bonding *bond) in bond_debug_register()
99 void bond_debug_unregister(struct bonding *bond) in bond_debug_unregister()
103 void bond_debug_reregister(struct bonding *bond) in bond_debug_reregister()
Dbond_alb.c24 #include <net/bonding.h>
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()
116 static void tlb_clear_slave(struct bonding *bond, struct slave *slave, in tlb_clear_slave()
125 static int tlb_initialize(struct bonding *bond) in tlb_initialize()
149 static void tlb_deinitialize(struct bonding *bond) in tlb_deinitialize()
167 static struct slave *tlb_get_least_loaded_slave(struct bonding *bond) in tlb_get_least_loaded_slave()
191 static struct slave *__tlb_choose_channel(struct bonding *bond, u32 hash_index, in __tlb_choose_channel()
[all …]
Dbond_main.c8 * bonding.c: an Ethernet Bonding driver
14 * Linux Bonding
86 #include <net/bonding.h>
203 "the bonding driver sends learning packets to "
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()
312 static bool bond_sk_check(struct bonding *bond) in bond_sk_check()
325 static bool bond_xdp_check(struct bonding *bond) in bond_xdp_check()
355 * and cannot be extended for a teaming solution like bonding, so there is a
364 * @bond_dev: bonding net device that got called
[all …]
DMakefile3 # Makefile for the Ethernet Bonding driver
6 obj-$(CONFIG_BONDING) += bonding.o
8 bonding-objs := bond_main.o bond_3ad.o bond_alb.o bond_sysfs.o bond_sysfs_slave.o bond_debugfs.o bo…
11 bonding-objs += $(proc-y)
Dbond_procfs.c7 #include <net/bonding.h>
14 struct bonding *bond = pde_data(file_inode(seq->file)); in bond_info_seq_start()
33 struct bonding *bond = pde_data(file_inode(seq->file)); in bond_info_seq_next()
60 struct bonding *bond = pde_data(file_inode(seq->file)); in bond_info_show_master()
67 seq_printf(seq, "Bonding Mode: %s", in bond_info_show_master()
193 struct bonding *bond = pde_data(file_inode(seq->file)); in bond_info_show_slave()
283 void bond_create_proc_entry(struct bonding *bond) in bond_create_proc_entry()
299 void bond_remove_proc_entry(struct bonding *bond) in bond_remove_proc_entry()
311 /* Create the bonding directory under /proc/net, if doesn't exist yet.
324 /* Destroy the bonding directory under /proc/net, if empty.
Dbond_3ad.c15 #include <net/bonding.h>
119 /* ================= api to bonding and kernel code ================== */
122 * __get_bond_by_port - get the port's bonding struct
125 * Return @port's bonding struct, or %NULL if it can't be found.
127 static inline struct bonding *__get_bond_by_port(struct port *port) in __get_bond_by_port()
145 struct bonding *bond = __get_bond_by_port(port); in __get_first_agg()
259 struct bonding *bond = __get_bond_by_port(port); in __get_agg_selection_mode()
273 struct bonding *bond = __get_bond_by_port(port); in __check_agg_selection_timer()
435 const struct bonding *bond = bond_get_bond_by_slave(port->slave); in __ad_actor_update_port()
827 struct bonding *bond = aggregator->slave->bond; in __get_active_agg()
[all …]
Dbonding_priv.h17 #define DRV_NAME "bonding"
18 #define DRV_DESCRIPTION "Ethernet Channel Bonding Driver"
Dbond_netlink.c3 * drivers/net/bond/bond_netlink.c - Netlink interface for bonding
16 #include <net/bonding.h>
151 struct bonding *bond = netdev_priv(bond_dev); in bond_slave_changelink()
189 struct bonding *bond = netdev_priv(bond_dev); in bond_changelink()
579 struct bonding *bond = netdev_priv(bond_dev); in bond_newlink()
634 static int bond_option_active_slave_get_ifindex(struct bonding *bond) in bond_option_active_slave_get_ifindex()
649 struct bonding *bond = netdev_priv(bond_dev); in bond_fill_info()
864 struct bonding *bond; in bond_fill_linkxstats()
911 .priv_size = sizeof(struct bonding),
/linux-6.12.1/include/net/
Dbonding.h159 struct bonding *bond; /* our master */
213 * Here are the locking policies for the two bonding locks:
216 struct bonding { struct
226 int (*recv_probe)(const struct sk_buff *, struct bonding *, argument
287 static inline struct slave *bond_get_slave_by_dev(struct bonding *bond, in bond_get_slave_by_dev() argument
293 static inline struct bonding *bond_get_bond_by_slave(struct slave *slave) in bond_get_bond_by_slave()
298 static inline bool bond_should_override_tx_queue(struct bonding *bond) in bond_should_override_tx_queue()
304 static inline bool bond_is_lb(const struct bonding *bond) in bond_is_lb()
310 static inline bool bond_needs_speed_duplex(const struct bonding *bond) in bond_needs_speed_duplex()
315 static inline bool bond_is_nondyn_tlb(const struct bonding *bond) in bond_is_nondyn_tlb()
[all …]
Dbond_options.h3 * drivers/net/bond/bond_options.h - bonding options
102 struct bonding;
119 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);
Dbond_alb.h11 struct bonding;
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,
163 struct slave *bond_xmit_tlb_slave_get(struct bonding *bond,
167 void bond_alb_clear_vlan(struct bonding *bond, unsigned short vlan_id);
Dbond_3ad.h158 struct bonding;
261 /* ========== AD Exported structures to the main bonding code ========== */
295 /* ========== AD Exported functions to the main bonding code ========== */
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);
[all …]
/linux-6.12.1/Documentation/devicetree/bindings/media/
Drenesas,drif.yaml32 phandles using a property called "renesas,bonding". For the rest of
47 "renesas,bonding" or "renesas,primary-bond" will have no effect. That
85 renesas,bonding:
128 - renesas,bonding
186 renesas,bonding = <&drif01>;
208 renesas,bonding = <&drif00>;
244 renesas,bonding = <&drif11>;
258 renesas,bonding = <&drif10>;
/linux-6.12.1/tools/testing/selftests/drivers/net/bonding/
Ddev_addr_lists.sh47 test_LAG_cleanup "bonding" "active-backup"
53 test_LAG_cleanup "bonding" "802.3ad"
84 log_test "bonding LACPDU multicast address to slave (from bond $init_state)"
/linux-6.12.1/drivers/infiniband/core/
Droce_gid_mgmt.c40 #include <net/bonding.h>
125 /* No primary slave or the device isn't a slave in bonding */
213 * When rdma netdevice is used in bonding, bonding master netdevice in is_ndev_for_default_gid_filter()
215 * netdevices when bonding is considered. in is_ndev_for_default_gid_filter()
490 * when not in bonding mode, or add default GIDs in enum_all_gids_of_dev_cb()
491 * of bond master device, when in bonding mode. in enum_all_gids_of_dev_cb()
704 * When a lower netdev is linked to its upper bonding in ndev_event_link()
711 /* Now add bonding upper device default GIDs */ in ndev_event_link()
716 /* Now add bonding upper device IP based GIDs */ in ndev_event_link()
/linux-6.12.1/Documentation/gpu/rfc/
Di915_scheduler.rst22 * Bonding uAPI completely incompatible with GuC submission, plus it has
91 The existing bonding uAPI is completely broken with GuC submission because
97 bonding uAPI does. Hence the need for a new parallel submission interface. Also
98 the legacy bonding uAPI is quite confusing and not intuitive at all. Furthermore
/linux-6.12.1/drivers/iio/buffer/
DKconfig26 Provides a bonding of the generic IIO DMA buffer infrastructure with the
36 Provides a way to bonding when an IIO device has a direct connection
/linux-6.12.1/drivers/net/
DKconfig37 networking core drivers (i.e. VLAN, bridging, bonding, etc.)
41 config BONDING config
42 tristate "Bonding driver support"
49 'Trunking' by Sun, 802.3ad by the IEEE, and 'Bonding' in Linux.
51 The driver supports multiple bonding modes to allow for both high
54 Refer to <file:Documentation/networking/bonding.rst> for more
58 will be called bonding.
/linux-6.12.1/Documentation/networking/device_drivers/ethernet/intel/
De100.rst32 - Channel Bonding (teaming)
35 Channel Bonding documentation can be found in the Linux kernel source:
36 /Documentation/networking/bonding.rst
/linux-6.12.1/drivers/thunderbolt/
Dswitch.c1017 * enable/disable lane bonding. For that call tb_port_set_lane_bonding().
1064 * tb_port_set_lane_bonding() - Enable/disable lane bonding
1066 * @bonding: enable/disable bonding
1068 * Enables or disables lane bonding. This should be called after target
1071 * lane bonding.
1075 static int tb_port_set_lane_bonding(struct tb_port *port, bool bonding) in tb_port_set_lane_bonding() argument
1088 if (bonding) in tb_port_set_lane_bonding()
1098 * tb_port_lane_bonding_enable() - Enable bonding on port
1101 * Enable bonding by setting the link width of the port and the other
1115 * Enable lane bonding for both links if not already enabled by in tb_port_lane_bonding_enable()
[all …]
Dxdomain.c1347 * is the other side that initiates lane bonding. So here we in tb_xdomain_bond_lanes_uuid_high()
1378 dev_dbg(&xd->dev, "lane bonding %s\n", str_enabled_disabled(width == 2)); in tb_xdomain_bond_lanes_uuid_high()
1452 * Now disable lane 1 if bonding was not enabled. Do in tb_xdomain_get_properties()
1453 * this only if bonding was possible at the beginning in tb_xdomain_get_properties()
1527 dev_dbg(&xd->dev, "we have lower UUID, bonding lanes\n"); in tb_xdomain_queue_bonding()
1609 * If any of the lane bonding states fail we skip in tb_xdomain_state_work()
1610 * bonding completely and try to continue from in tb_xdomain_state_work()
2087 * tb_xdomain_lane_bonding_enable() - Enable lane bonding on XDomain
2090 * Lane bonding is disabled by default for XDomains. This function tries
2091 * to enable bonding by first enabling the port and waiting for the CL0
[all …]
/linux-6.12.1/net/batman-adv/
Drouting.c469 * @orig_node: originator node whose last bonding candidate should be retrieved
471 * Return: last bonding candidate of router or NULL if not found
492 * @orig_node: originator node whose bonding candidates should be replaced
493 * @new_candidate: new bonding candidate or NULL
544 /* only consider bonding for recv_if == BATADV_IF_DEFAULT (first hop) in batadv_find_router()
547 if (!(recv_if == BATADV_IF_DEFAULT && atomic_read(&bat_priv->bonding))) in batadv_find_router()
550 /* bonding: loop through the list of possible routers found in batadv_find_router()
552 * the last chosen bonding candidate (next_candidate). If no such in batadv_find_router()
554 * chosen bonding candidate might have been the last one in the list). in batadv_find_router()
599 * AFTER the previously used bonding candidate. in batadv_find_router()

123456