Lines Matching refs:slave_dev
290 struct net_device *slave_dev) in bond_dev_queue_xmit() argument
292 skb->dev = slave_dev; in bond_dev_queue_xmit()
299 return bond_netpoll_send_skb(bond_get_slave_by_dev(bond, slave_dev), skb); in bond_dev_queue_xmit()
448 struct net_device *slave_dev = curr_active->dev; in bond_ipsec_offload_ok() local
453 if (!(slave_dev->xfrmdev_ops in bond_ipsec_offload_ok()
454 && slave_dev->xfrmdev_ops->xdo_dev_offload_ok)) { in bond_ipsec_offload_ok()
455 slave_warn(bond_dev, slave_dev, "%s: no slave xdo_dev_offload_ok\n", __func__); in bond_ipsec_offload_ok()
459 xs->xso.real_dev = slave_dev; in bond_ipsec_offload_ok()
460 return slave_dev->xfrmdev_ops->xdo_dev_offload_ok(skb, xs); in bond_ipsec_offload_ok()
515 struct net_device *slave_dev = slave->dev; in bond_update_speed_duplex() local
522 res = __ethtool_get_link_ksettings(slave_dev, &ecmd); in bond_update_speed_duplex()
573 struct net_device *slave_dev, int reporting) in bond_check_dev_link() argument
575 const struct net_device_ops *slave_ops = slave_dev->netdev_ops; in bond_check_dev_link()
580 if (!reporting && !netif_running(slave_dev)) in bond_check_dev_link()
584 return netif_carrier_ok(slave_dev) ? BMSR_LSTATUS : 0; in bond_check_dev_link()
587 if (slave_dev->ethtool_ops->get_link) in bond_check_dev_link()
588 return slave_dev->ethtool_ops->get_link(slave_dev) ? in bond_check_dev_link()
607 strncpy(ifr.ifr_name, slave_dev->name, IFNAMSIZ); in bond_check_dev_link()
609 if (ioctl(slave_dev, &ifr, SIOCGMIIPHY) == 0) { in bond_check_dev_link()
611 if (ioctl(slave_dev, &ifr, SIOCGMIIREG) == 0) in bond_check_dev_link()
696 struct net_device *slave_dev) in bond_hw_addr_flush() argument
700 dev_uc_unsync(slave_dev, bond_dev); in bond_hw_addr_flush()
701 dev_mc_unsync(slave_dev, bond_dev); in bond_hw_addr_flush()
707 dev_mc_del(slave_dev, lacpdu_multicast); in bond_hw_addr_flush()
754 struct net_device *slave_dev) in bond_set_dev_addr() argument
758 slave_dbg(bond_dev, slave_dev, "bond_dev=%p slave_dev=%p slave_dev->addr_len=%d\n", in bond_set_dev_addr()
759 bond_dev, slave_dev, slave_dev->addr_len); in bond_set_dev_addr()
760 err = dev_pre_changeaddr_notify(bond_dev, slave_dev->dev_addr, NULL); in bond_set_dev_addr()
764 memcpy(bond_dev->dev_addr, slave_dev->dev_addr, slave_dev->addr_len); in bond_set_dev_addr()
1312 struct net_device *slave_dev) in bond_setup_by_slave() argument
1314 bond_dev->header_ops = slave_dev->header_ops; in bond_setup_by_slave()
1316 bond_dev->type = slave_dev->type; in bond_setup_by_slave()
1317 bond_dev->hard_header_len = slave_dev->hard_header_len; in bond_setup_by_slave()
1318 bond_dev->needed_headroom = slave_dev->needed_headroom; in bond_setup_by_slave()
1319 bond_dev->addr_len = slave_dev->addr_len; in bond_setup_by_slave()
1321 memcpy(bond_dev->broadcast, slave_dev->broadcast, in bond_setup_by_slave()
1322 slave_dev->addr_len); in bond_setup_by_slave()
1495 struct net_device *slave_dev) in bond_alloc_slave() argument
1504 slave->dev = slave_dev; in bond_alloc_slave()
1570 int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev, in bond_enslave() argument
1574 const struct net_device_ops *slave_ops = slave_dev->netdev_ops; in bond_enslave()
1581 slave_dev->ethtool_ops->get_link == NULL && in bond_enslave()
1583 slave_warn(bond_dev, slave_dev, "no link monitoring support\n"); in bond_enslave()
1587 if (netdev_is_rx_handler_busy(slave_dev)) { in bond_enslave()
1589 slave_err(bond_dev, slave_dev, in bond_enslave()
1594 if (bond_dev == slave_dev) { in bond_enslave()
1602 if (slave_dev->features & NETIF_F_VLAN_CHALLENGED) { in bond_enslave()
1603 slave_dbg(bond_dev, slave_dev, "is NETIF_F_VLAN_CHALLENGED\n"); in bond_enslave()
1606 …slave_err(bond_dev, slave_dev, "Error: cannot enslave VLAN challenged slave on VLAN enabled bond\n… in bond_enslave()
1609 …slave_warn(bond_dev, slave_dev, "enslaved VLAN challenged slave. Adding VLANs will be blocked as l… in bond_enslave()
1612 slave_dbg(bond_dev, slave_dev, "is !NETIF_F_VLAN_CHALLENGED\n"); in bond_enslave()
1615 if (slave_dev->features & NETIF_F_HW_ESP) in bond_enslave()
1616 slave_dbg(bond_dev, slave_dev, "is esp-hw-offload capable\n"); in bond_enslave()
1623 if (slave_dev->flags & IFF_UP) { in bond_enslave()
1625 slave_err(bond_dev, slave_dev, "slave is up - this may be due to an out of date ifenslave\n"); in bond_enslave()
1637 if (bond_dev->type != slave_dev->type) { in bond_enslave()
1638 slave_dbg(bond_dev, slave_dev, "change device type from %d to %d\n", in bond_enslave()
1639 bond_dev->type, slave_dev->type); in bond_enslave()
1645 slave_err(bond_dev, slave_dev, "refused to change device type\n"); in bond_enslave()
1653 if (slave_dev->type != ARPHRD_ETHER) in bond_enslave()
1654 bond_setup_by_slave(bond_dev, slave_dev); in bond_enslave()
1663 } else if (bond_dev->type != slave_dev->type) { in bond_enslave()
1665 …slave_err(bond_dev, slave_dev, "ether type (%d) is different from other slaves (%d), can not ensla… in bond_enslave()
1666 slave_dev->type, bond_dev->type); in bond_enslave()
1670 if (slave_dev->type == ARPHRD_INFINIBAND && in bond_enslave()
1673 slave_warn(bond_dev, slave_dev, "Type (%d) supports only active-backup mode\n", in bond_enslave()
1674 slave_dev->type); in bond_enslave()
1680 slave_dev->type == ARPHRD_INFINIBAND) { in bond_enslave()
1681 …slave_warn(bond_dev, slave_dev, "The slave device specified does not support setting the MAC addre… in bond_enslave()
1686 slave_warn(bond_dev, slave_dev, "Setting fail_over_mac to active for active-backup mode\n"); in bond_enslave()
1689 …slave_err(bond_dev, slave_dev, "The slave device specified does not support setting the MAC addres… in bond_enslave()
1696 call_netdevice_notifiers(NETDEV_JOIN, slave_dev); in bond_enslave()
1703 res = bond_set_dev_addr(bond->dev, slave_dev); in bond_enslave()
1708 new_slave = bond_alloc_slave(bond, slave_dev); in bond_enslave()
1720 new_slave->original_mtu = slave_dev->mtu; in bond_enslave()
1721 res = dev_set_mtu(slave_dev, bond->dev->mtu); in bond_enslave()
1723 slave_err(bond_dev, slave_dev, "Error %d calling dev_set_mtu\n", res); in bond_enslave()
1731 bond_hw_addr_copy(new_slave->perm_hwaddr, slave_dev->dev_addr, in bond_enslave()
1732 slave_dev->addr_len); in bond_enslave()
1740 ss.ss_family = slave_dev->type; in bond_enslave()
1741 res = dev_set_mac_address(slave_dev, (struct sockaddr *)&ss, in bond_enslave()
1744 slave_err(bond_dev, slave_dev, "Error %d calling set_mac_address\n", res); in bond_enslave()
1750 slave_dev->flags |= IFF_SLAVE; in bond_enslave()
1753 res = dev_open(slave_dev, extack); in bond_enslave()
1755 slave_err(bond_dev, slave_dev, "Opening slave failed\n"); in bond_enslave()
1759 slave_dev->priv_flags |= IFF_BONDING; in bond_enslave()
1772 res = vlan_vids_add_by_dev(slave_dev, bond_dev); in bond_enslave()
1774 slave_err(bond_dev, slave_dev, "Couldn't add bond vlan ids\n"); in bond_enslave()
1793 link_reporting = bond_check_dev_link(bond, slave_dev, 1); in bond_enslave()
1804 …slave_warn(bond_dev, slave_dev, "MII and ETHTOOL support not available for slave, and arp_interval… in bond_enslave()
1807 …slave_warn(bond_dev, slave_dev, "can't get link status from slave; the network driver associated w… in bond_enslave()
1814 if (bond_check_dev_link(bond, slave_dev, 0) == BMSR_LSTATUS) { in bond_enslave()
1831 (netif_carrier_ok(slave_dev) ? in bond_enslave()
1841 slave_dbg(bond_dev, slave_dev, "Initial state of slave is BOND_LINK_%s\n", in bond_enslave()
1884 slave_dbg(bond_dev, slave_dev, "This slave is always active in trunk mode\n"); in bond_enslave()
1903 …slave_info(bond_dev, slave_dev, "master_dev is using netpoll, but new slave device does not suppor… in bond_enslave()
1911 dev_disable_lro(slave_dev); in bond_enslave()
1913 res = netdev_rx_handler_register(slave_dev, bond_handle_frame, in bond_enslave()
1916 slave_dbg(bond_dev, slave_dev, "Error %d calling netdev_rx_handler_register\n", res); in bond_enslave()
1922 slave_dbg(bond_dev, slave_dev, "Error %d calling bond_master_upper_dev_link\n", res); in bond_enslave()
1928 slave_dbg(bond_dev, slave_dev, "Error %d calling bond_sysfs_slave_add\n", res); in bond_enslave()
1938 res = dev_set_promiscuity(slave_dev, 1); in bond_enslave()
1945 res = dev_set_allmulti(slave_dev, 1); in bond_enslave()
1948 dev_set_promiscuity(slave_dev, -1); in bond_enslave()
1954 dev_mc_sync_multiple(slave_dev, bond_dev); in bond_enslave()
1955 dev_uc_sync_multiple(slave_dev, bond_dev); in bond_enslave()
1962 dev_mc_add(slave_dev, lacpdu_multicast); in bond_enslave()
1980 slave_info(bond_dev, slave_dev, "Enslaving as %s interface with %s link\n", in bond_enslave()
1996 netdev_rx_handler_unregister(slave_dev); in bond_enslave()
1999 vlan_vids_del_by_dev(slave_dev, bond_dev); in bond_enslave()
2013 if (!netif_is_bond_master(slave_dev)) in bond_enslave()
2014 slave_dev->priv_flags &= ~IFF_BONDING; in bond_enslave()
2015 dev_close(slave_dev); in bond_enslave()
2018 slave_dev->flags &= ~IFF_SLAVE; in bond_enslave()
2027 ss.ss_family = slave_dev->type; in bond_enslave()
2028 dev_set_mac_address(slave_dev, (struct sockaddr *)&ss, NULL); in bond_enslave()
2032 dev_set_mtu(slave_dev, new_slave->original_mtu); in bond_enslave()
2041 slave_dev->dev_addr)) in bond_enslave()
2066 struct net_device *slave_dev, in __bond_release_one() argument
2076 if (!(slave_dev->flags & IFF_SLAVE) || in __bond_release_one()
2077 !netdev_has_upper_dev(slave_dev, bond_dev)) { in __bond_release_one()
2078 slave_dbg(bond_dev, slave_dev, "cannot release slave\n"); in __bond_release_one()
2084 slave = bond_get_slave_by_dev(bond, slave_dev); in __bond_release_one()
2087 slave_info(bond_dev, slave_dev, "interface not enslaved\n"); in __bond_release_one()
2103 netdev_rx_handler_unregister(slave_dev); in __bond_release_one()
2111 slave_info(bond_dev, slave_dev, "Releasing %s interface\n", in __bond_release_one()
2122 …slave_warn(bond_dev, slave_dev, "the permanent HWaddr of slave - %pM - is still in use by bond - s… in __bond_release_one()
2168 …slave_info(bond_dev, slave_dev, "last VLAN challenged slave left bond - VLAN blocking is removed\n… in __bond_release_one()
2170 vlan_vids_del_by_dev(slave_dev, bond_dev); in __bond_release_one()
2184 dev_set_promiscuity(slave_dev, -1); in __bond_release_one()
2188 dev_set_allmulti(slave_dev, -1); in __bond_release_one()
2190 bond_hw_addr_flush(bond_dev, slave_dev); in __bond_release_one()
2196 dev_close(slave_dev); in __bond_release_one()
2203 ss.ss_family = slave_dev->type; in __bond_release_one()
2204 dev_set_mac_address(slave_dev, (struct sockaddr *)&ss, NULL); in __bond_release_one()
2208 __dev_set_mtu(slave_dev, slave->original_mtu); in __bond_release_one()
2210 dev_set_mtu(slave_dev, slave->original_mtu); in __bond_release_one()
2212 if (!netif_is_bond_master(slave_dev)) in __bond_release_one()
2213 slave_dev->priv_flags &= ~IFF_BONDING; in __bond_release_one()
2221 int bond_release(struct net_device *bond_dev, struct net_device *slave_dev) in bond_release() argument
2223 return __bond_release_one(bond_dev, slave_dev, false, false); in bond_release()
2230 struct net_device *slave_dev) in bond_release_and_destroy() argument
2235 ret = __bond_release_one(bond_dev, slave_dev, false, true); in bond_release_and_destroy()
2574 struct net_device *slave_dev = slave->dev; in bond_arp_send() local
2577 slave_dbg(bond_dev, slave_dev, "arp %d on slave: dst %pI4 src %pI4\n", in bond_arp_send()
2580 skb = arp_create(arp_op, ETH_P_ARP, dest_ip, slave_dev, src_ip, in bond_arp_send()
2581 NULL, slave_dev->dev_addr, NULL); in bond_arp_send()
2600 slave_dbg(bond_dev, slave_dev, "inner tag: proto %X vid %X\n", in bond_arp_send()
2613 slave_dbg(bond_dev, slave_dev, "outer tag: proto %X vid %X\n", in bond_arp_send()
3308 struct net_device *slave_dev) in bond_slave_netdev_event() argument
3310 struct slave *slave = bond_slave_get_rtnl(slave_dev), *primary; in bond_slave_netdev_event()
3319 netdev_dbg(slave_dev, "%s called on NULL slave\n", __func__); in bond_slave_netdev_event()
3327 slave_dbg(bond_dev, slave_dev, "%s called\n", __func__); in bond_slave_netdev_event()
3332 bond_release_and_destroy(bond_dev, slave_dev); in bond_slave_netdev_event()
3334 __bond_release_one(bond_dev, slave_dev, false, true); in bond_slave_netdev_event()
3390 } else if (!strcmp(slave_dev->name, bond->params.primary)) { in bond_slave_netdev_event()
3398 primary ? slave_dev->name : "none"); in bond_slave_netdev_event()
3774 struct net_device *slave_dev = NULL; in bond_do_ioctl() local
3843 slave_dev = __dev_get_by_name(net, ifr->ifr_slave); in bond_do_ioctl()
3845 slave_dbg(bond_dev, slave_dev, "slave_dev=%p:\n", slave_dev); in bond_do_ioctl()
3847 if (!slave_dev) in bond_do_ioctl()
3853 res = bond_enslave(bond_dev, slave_dev, NULL); in bond_do_ioctl()
3857 res = bond_release(bond_dev, slave_dev); in bond_do_ioctl()
3861 res = bond_set_dev_addr(bond_dev, slave_dev); in bond_do_ioctl()
3865 bond_opt_initstr(&newval, slave_dev->name); in bond_do_ioctl()