Lines Matching full:bonding
8 * 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 bool bond_xdp_check(struct bonding *bond, int mode) 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
371 struct bonding *bond = netdev_priv(bond_dev); in bond_vlan_rx_add_vid()
398 * @bond_dev: bonding net device that got called
405 struct bonding *bond = netdev_priv(bond_dev); in bond_vlan_rx_kill_vid()
432 struct bonding *bond; in bond_ipsec_dev()
468 struct bonding *bond; in bond_ipsec_add_sa()
516 static void bond_ipsec_add_sa_all(struct bonding *bond) in bond_ipsec_add_sa_all()
564 struct bonding *bond; in bond_ipsec_del_sa()
606 static void bond_ipsec_del_sa_all(struct bonding *bond) in bond_ipsec_del_sa_all()
643 struct bonding *bond; in bond_ipsec_free_sa()
763 int bond_set_carrier(struct bonding *bond) in bond_set_carrier()
857 static int bond_check_dev_link(struct bonding *bond, in bond_check_dev_link()
912 static int bond_set_promiscuity(struct bonding *bond, int inc) in bond_set_promiscuity()
935 static int bond_set_allmulti(struct bonding *bond, int inc) in bond_set_allmulti()
957 /* Retrieve the list of registered multicast addresses for the bonding
963 struct bonding *bond = container_of(work, struct bonding, in bond_resend_igmp_join_requests_delayed()
983 struct bonding *bond = netdev_priv(bond_dev); in bond_hw_addr_flush()
999 static void bond_hw_addr_swap(struct bonding *bond, struct slave *new_active, in bond_hw_addr_swap()
1058 static struct slave *bond_get_old_active(struct bonding *bond, in bond_get_old_active()
1081 static void bond_do_fail_over_mac(struct bonding *bond, in bond_do_fail_over_mac()
1154 * @bond: our bonding struct
1163 static struct slave *bond_choose_primary_or_current(struct bonding *bond) in bond_choose_primary_or_current()
1219 * @bond: our bonding struct
1221 static struct slave *bond_find_best_slave(struct bonding *bond) in bond_find_best_slave()
1245 static bool bond_should_notify_peers(struct bonding *bond) in bond_should_notify_peers()
1264 * @bond: our bonding struct
1277 void bond_change_active_slave(struct bonding *bond, struct slave *new_active) in bond_change_active_slave()
1370 * bonding modes and the retransmission is enabled in bond_change_active_slave()
1382 * @bond: our bonding struct
1391 void bond_select_active_slave(struct bonding *bond) in bond_select_active_slave()
1446 struct bonding *bond = netdev_priv(bond_dev); in bond_poll_controller()
1474 struct bonding *bond = netdev_priv(bond_dev); in bond_netpoll_cleanup()
1485 struct bonding *bond = netdev_priv(dev); in bond_netpoll_setup()
1517 struct bonding *bond = netdev_priv(dev); in bond_fix_features()
1550 static void bond_compute_features(struct bonding *bond) in bond_compute_features()
1651 /* On bonding slaves other than the currently active slave, suppress
1656 struct bonding *bond) in bond_should_deliver_exact_match()
1672 struct bonding *bond; in bond_handle_frame()
1673 int (*recv_probe)(const struct sk_buff *, struct bonding *, in bond_handle_frame()
1702 * At the same time, packets that are passed to the bonding master in bond_handle_frame()
1730 static enum netdev_lag_tx_type bond_lag_tx_type(struct bonding *bond) in bond_lag_tx_type()
1747 static enum netdev_lag_hash bond_lag_hash_type(struct bonding *bond, in bond_lag_hash_type()
1771 static int bond_master_upper_dev_link(struct bonding *bond, struct slave *slave, in bond_master_upper_dev_link()
1791 static void bond_upper_dev_unlink(struct bonding *bond, struct slave *slave) in bond_upper_dev_unlink()
1800 struct bonding *bond = bond_get_bond_by_slave(slave); in slave_kobj_release()
1828 static struct slave *bond_alloc_slave(struct bonding *bond, in bond_alloc_slave()
1856 static void bond_fill_ifbond(struct bonding *bond, struct ifbond *info) in bond_fill_ifbond()
1917 /* The bonding driver uses ether_setup() to convert a master bond device
1933 struct bonding *bond = netdev_priv(bond_dev); in bond_xdp_set_features()
1957 struct bonding *bond = netdev_priv(bond_dev); in bond_enslave()
2018 /* set bonding device ether type by slave - bonding netdevices are in bond_enslave()
2191 …rp_ip_target module parameters not specified, thus bonding will not detect link failures! see bond… in bond_enslave()
2493 struct bonding *bond = netdev_priv(bond_dev); in __bond_release_one()
2677 struct bonding *bond = netdev_priv(bond_dev); in bond_release_and_destroy()
2693 struct bonding *bond = netdev_priv(bond_dev); in bond_info_query()
2700 struct bonding *bond = netdev_priv(bond_dev); in bond_slave_info_query()
2719 static int bond_miimon_inspect(struct bonding *bond) in bond_miimon_inspect()
2825 static void bond_miimon_link_change(struct bonding *bond, in bond_miimon_link_change()
2843 static void bond_miimon_commit(struct bonding *bond) in bond_miimon_commit()
2947 struct bonding *bond = container_of(work, struct bonding, in bond_mii_monitor()
3009 static bool bond_has_this_ip(struct bonding *bond, __be32 ip) in bond_has_this_ip()
3140 static void bond_arp_send_all(struct bonding *bond, struct slave *slave) in bond_arp_send_all()
3194 static void bond_validate_arp(struct bonding *bond, struct slave *slave, __be32 sip, __be32 tip) in bond_validate_arp()
3214 static int bond_arp_rcv(const struct sk_buff *skb, struct bonding *bond, in bond_arp_rcv()
3319 static void bond_ns_send_all(struct bonding *bond, struct slave *slave) in bond_ns_send_all()
3389 static bool bond_has_this_ip6(struct bonding *bond, struct in6_addr *addr) in bond_has_this_ip6()
3407 static void bond_validate_na(struct bonding *bond, struct slave *slave, in bond_validate_na()
3435 static int bond_na_rcv(const struct sk_buff *skb, struct bonding *bond, in bond_na_rcv()
3484 int bond_rcv_validate(const struct sk_buff *skb, struct bonding *bond, in bond_rcv_validate()
3515 static void bond_send_validate(struct bonding *bond, struct slave *slave) in bond_send_validate()
3527 static bool bond_time_in_interval(struct bonding *bond, unsigned long last_act, in bond_time_in_interval()
3543 static void bond_loadbalance_arp_mon(struct bonding *bond) in bond_loadbalance_arp_mon()
3658 static int bond_ab_arp_inspect(struct bonding *bond) in bond_ab_arp_inspect()
3728 static void bond_ab_arp_commit(struct bonding *bond) in bond_ab_arp_commit()
3820 static bool bond_ab_arp_probe(struct bonding *bond) in bond_ab_arp_probe()
3901 static void bond_activebackup_arp_mon(struct bonding *bond) in bond_activebackup_arp_mon()
3959 struct bonding *bond = container_of(work, struct bonding, in bond_arp_monitor()
3971 static int bond_event_changename(struct bonding *bond) in bond_event_changename()
3984 struct bonding *event_bond = netdev_priv(bond_dev); in bond_master_netdev_event()
4011 struct bonding *bond; in bond_slave_netdev_event()
4250 static bool bond_flow_dissect(struct bonding *bond, struct sk_buff *skb, const void *data, in bond_flow_dissect()
4314 static u32 __bond_xmit_hash(struct bonding *bond, struct sk_buff *skb, const void *data, in __bond_xmit_hash()
4342 * @bond: bonding device
4346 * them to generate a hash based on the xmit_policy set in the bonding device
4348 u32 bond_xmit_hash(struct bonding *bond, struct sk_buff *skb) in bond_xmit_hash()
4361 * @bond: bonding device
4366 static u32 bond_xmit_hash_xdp(struct bonding *bond, struct xdp_buff *xdp) in bond_xmit_hash_xdp()
4381 void bond_work_init_all(struct bonding *bond) in bond_work_init_all()
4392 static void bond_work_cancel_all(struct bonding *bond) in bond_work_cancel_all()
4404 struct bonding *bond = netdev_priv(bond_dev); in bond_open()
4464 struct bonding *bond = netdev_priv(bond_dev); in bond_close()
4562 struct bonding *bond = netdev_priv(bond_dev); in bond_get_stats()
4594 struct bonding *bond = netdev_priv(bond_dev); in bond_eth_ioctl()
4631 struct bonding *bond = netdev_priv(bond_dev); in bond_do_ioctl()
4730 struct bonding *bond = netdev_priv(bond_dev); in bond_change_rx_flags()
4743 struct bonding *bond = netdev_priv(bond_dev); in bond_set_rx_mode()
4765 struct bonding *bond = netdev_priv(n->dev); in bond_neigh_init()
4800 /* The bonding ndo_neigh_setup is called at init time beofre any
4821 struct bonding *bond = netdev_priv(bond_dev); in bond_change_mtu()
4874 * bonding devices to test this, however.
4878 struct bonding *bond = netdev_priv(bond_dev); in bond_set_mac_address()
4945 * @bond: bonding device that is transmitting
4951 static struct slave *bond_get_slave_by_id(struct bonding *bond, in bond_get_slave_by_id()
4980 * @bond: bonding device to use
4982 * Based on the value of the bonding device's packets_per_slave parameter
4986 static u32 bond_rr_gen_slave_id(struct bonding *bond) in bond_rr_gen_slave_id()
5011 static struct slave *bond_xmit_roundrobin_slave_get(struct bonding *bond, in bond_xmit_roundrobin_slave_get()
5049 static struct slave *bond_xdp_xmit_roundrobin_slave_get(struct bonding *bond, in bond_xdp_xmit_roundrobin_slave_get()
5093 struct bonding *bond = netdev_priv(bond_dev); in bond_xmit_roundrobin()
5103 static struct slave *bond_xmit_activebackup_slave_get(struct bonding *bond) in bond_xmit_activebackup_slave_get()
5114 struct bonding *bond = netdev_priv(bond_dev); in bond_xmit_activebackup()
5128 void bond_slave_arr_work_rearm(struct bonding *bond, unsigned long delay) in bond_slave_arr_work_rearm()
5136 struct bonding *bond = container_of(work, struct bonding, in bond_slave_arr_handler()
5178 static void bond_set_slave_arr(struct bonding *bond, in bond_set_slave_arr()
5193 static void bond_reset_slave_arr(struct bonding *bond) in bond_reset_slave_arr()
5206 int bond_update_slave_arr(struct bonding *bond, struct slave *skipslave) in bond_update_slave_arr()
5276 static struct slave *bond_xmit_3ad_xor_slave_get(struct bonding *bond, in bond_xmit_3ad_xor_slave_get()
5293 static struct slave *bond_xdp_xmit_3ad_xor_slave_get(struct bonding *bond, in bond_xdp_xmit_3ad_xor_slave_get()
5316 struct bonding *bond = netdev_priv(dev); in bond_3ad_xor_xmit()
5332 struct bonding *bond = netdev_priv(bond_dev); in bond_xmit_broadcast()
5373 static inline int bond_slave_override(struct bonding *bond, in bond_slave_override()
5405 * way down to the bonding driver. in bond_select_queue()
5424 struct bonding *bond = netdev_priv(master_dev); in bond_xmit_get_slave()
5453 WARN_ONCE(true, "Unknown bonding mode"); in bond_xmit_get_slave()
5508 static struct net_device *__bond_sk_get_lower_dev(struct bonding *bond, in __bond_sk_get_lower_dev()
5530 struct bonding *bond = netdev_priv(dev); in bond_sk_get_lower_dev()
5542 static netdev_tx_t bond_tls_device_xmit(struct bonding *bond, struct sk_buff *skb, in bond_tls_device_xmit()
5559 struct bonding *bond = netdev_priv(dev); in __bond_start_xmit()
5586 netdev_err(dev, "Unknown bonding mode %d\n", BOND_MODE(bond)); in __bond_start_xmit()
5594 struct bonding *bond = netdev_priv(dev); in bond_start_xmit()
5616 struct bonding *bond = netdev_priv(bond_dev); in bond_xdp_get_xmit_slave()
5637 netdev_err(bond_dev, "Unknown bonding mode %d for xdp xmit\n", in bond_xdp_get_xmit_slave()
5688 struct bonding *bond = netdev_priv(dev); in bond_xdp_set()
5704 "No native XDP support for the current bonding mode"); in bond_xdp_set()
5815 struct bonding *bond = netdev_priv(dev); in bond_hwtstamp_get()
5834 struct bonding *bond = netdev_priv(dev); in bond_hwtstamp_set()
5855 struct bonding *bond = netdev_priv(bond_dev); in bond_ethtool_get_link_ksettings()
5899 struct bonding *bond = netdev_priv(bond_dev); in bond_ethtool_get_ts_info()
5986 struct bonding *bond = netdev_priv(bond_dev); in bond_destructor()
5996 struct bonding *bond = netdev_priv(bond_dev); in bond_setup()
6058 /* Destroy a bonding device.
6063 struct bonding *bond = netdev_priv(bond_dev); in bond_uninit()
6107 pr_err("Error: Invalid bonding mode \"%s\"\n", mode); in bond_check_params()
6203 …pr_warn("Warning: miimon must be specified, otherwise bonding will not detect link failure, speed … in bond_check_params()
6235 …ight experience client disconnections upon reconnection of a link if the bonding module updelay pa… in bond_check_params()
6350 * work as expected, see bonding.txt for details in bond_check_params()
6352 …get module parameters must be specified, otherwise bonding will not detect link failures! see bond… in bond_check_params()
6480 struct bonding *bond = netdev_priv(bond_dev); in bond_init()
6514 /* Create a new bond based on the specified name and bonding parameters.
6522 struct bonding *bond; in bond_create()
6527 bond_dev = alloc_netdev_mq(sizeof(struct bonding), in bond_create()
6565 /* According to commit 69b0216ac255 ("bonding: fix bonding_masters
6584 struct bonding *bond, *tmp_bond; in bond_net_exit_batch_rtnl()
6592 /* According to commit 23fa5c2caae0 ("bonding: destroy proc directory