Lines Matching defs:slave_dev

295  * @slave_dev: slave that is supposed to xmit this skbuff
298 struct net_device *slave_dev)
300 skb->dev = slave_dev;
307 return bond_netpoll_send_skb(bond_get_slave_by_dev(bond, slave_dev), skb);
684 struct net_device *slave_dev = slave->dev;
691 res = __ethtool_get_link_ksettings(slave_dev, &ecmd);
742 struct net_device *slave_dev, int reporting)
744 const struct net_device_ops *slave_ops = slave_dev->netdev_ops;
749 if (!reporting && !netif_running(slave_dev))
753 return netif_carrier_ok(slave_dev) ? BMSR_LSTATUS : 0;
756 if (slave_dev->ethtool_ops->get_link)
757 return slave_dev->ethtool_ops->get_link(slave_dev) ?
776 strscpy_pad(ifr.ifr_name, slave_dev->name, IFNAMSIZ);
778 if (ioctl(slave_dev, &ifr, SIOCGMIIPHY) == 0) {
780 if (ioctl(slave_dev, &ifr, SIOCGMIIREG) == 0)
865 struct net_device *slave_dev)
869 dev_uc_unsync(slave_dev, bond_dev);
870 dev_mc_unsync(slave_dev, bond_dev);
873 dev_mc_del(slave_dev, lacpdu_mcast_addr);
917 * @slave_dev: slave net device
922 struct net_device *slave_dev)
926 slave_dbg(bond_dev, slave_dev, "bond_dev=%p slave_dev=%p slave_dev->addr_len=%d\n",
927 bond_dev, slave_dev, slave_dev->addr_len);
928 err = dev_pre_changeaddr_notify(bond_dev, slave_dev->dev_addr, NULL);
932 __dev_addr_set(bond_dev, slave_dev->dev_addr, slave_dev->addr_len);
1501 struct net_device *slave_dev)
1507 bond_dev->header_ops = slave_dev->header_ops;
1509 bond_dev->type = slave_dev->type;
1510 bond_dev->hard_header_len = slave_dev->hard_header_len;
1511 bond_dev->needed_headroom = slave_dev->needed_headroom;
1512 bond_dev->addr_len = slave_dev->addr_len;
1514 memcpy(bond_dev->broadcast, slave_dev->broadcast,
1515 slave_dev->addr_len);
1517 if (slave_dev->flags & IFF_POINTOPOINT) {
1703 struct net_device *slave_dev)
1712 slave->dev = slave_dev;
1784 #define SLAVE_NL_ERR(bond_dev, slave_dev, extack, errmsg) do { \
1788 slave_err(bond_dev, slave_dev, "Error: %s\n", errmsg); \
1828 int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev,
1832 const struct net_device_ops *slave_ops = slave_dev->netdev_ops;
1838 if (slave_dev->flags & IFF_MASTER &&
1839 !netif_is_bond_master(slave_dev)) {
1846 slave_dev->ethtool_ops->get_link == NULL &&
1848 slave_warn(bond_dev, slave_dev, "no link monitoring support\n");
1852 if (netdev_is_rx_handler_busy(slave_dev)) {
1853 SLAVE_NL_ERR(bond_dev, slave_dev, extack,
1858 if (bond_dev == slave_dev) {
1865 if (slave_dev->features & NETIF_F_VLAN_CHALLENGED) {
1866 slave_dbg(bond_dev, slave_dev, "is NETIF_F_VLAN_CHALLENGED\n");
1868 SLAVE_NL_ERR(bond_dev, slave_dev, extack,
1872 slave_warn(bond_dev, slave_dev, "enslaved VLAN challenged slave. Adding VLANs will be blocked as long as it is part of bond.\n");
1875 slave_dbg(bond_dev, slave_dev, "is !NETIF_F_VLAN_CHALLENGED\n");
1878 if (slave_dev->features & NETIF_F_HW_ESP)
1879 slave_dbg(bond_dev, slave_dev, "is esp-hw-offload capable\n");
1886 if (slave_dev->flags & IFF_UP) {
1887 SLAVE_NL_ERR(bond_dev, slave_dev, extack,
1900 if (bond_dev->type != slave_dev->type) {
1901 slave_dbg(bond_dev, slave_dev, "change device type from %d to %d\n",
1902 bond_dev->type, slave_dev->type);
1908 slave_err(bond_dev, slave_dev, "refused to change device type\n");
1916 if (slave_dev->type != ARPHRD_ETHER)
1917 bond_setup_by_slave(bond_dev, slave_dev);
1924 } else if (bond_dev->type != slave_dev->type) {
1925 SLAVE_NL_ERR(bond_dev, slave_dev, extack,
1930 if (slave_dev->type == ARPHRD_INFINIBAND &&
1932 SLAVE_NL_ERR(bond_dev, slave_dev, extack,
1939 slave_dev->type == ARPHRD_INFINIBAND) {
1940 slave_warn(bond_dev, slave_dev, "The slave device specified does not support setting the MAC address\n");
1945 slave_warn(bond_dev, slave_dev, "Setting fail_over_mac to active for active-backup mode\n");
1947 SLAVE_NL_ERR(bond_dev, slave_dev, extack,
1955 call_netdevice_notifiers(NETDEV_JOIN, slave_dev);
1962 res = bond_set_dev_addr(bond->dev, slave_dev);
1967 new_slave = bond_alloc_slave(bond, slave_dev);
1979 new_slave->original_mtu = slave_dev->mtu;
1980 res = dev_set_mtu(slave_dev, bond->dev->mtu);
1982 slave_err(bond_dev, slave_dev, "Error %d calling dev_set_mtu\n", res);
1990 bond_hw_addr_copy(new_slave->perm_hwaddr, slave_dev->dev_addr,
1991 slave_dev->addr_len);
1999 ss.ss_family = slave_dev->type;
2000 res = dev_set_mac_address(slave_dev, (struct sockaddr *)&ss,
2003 slave_err(bond_dev, slave_dev, "Error %d calling set_mac_address\n", res);
2009 slave_dev->priv_flags |= IFF_NO_ADDRCONF;
2012 res = dev_open(slave_dev, extack);
2014 slave_err(bond_dev, slave_dev, "Opening slave failed\n");
2018 slave_dev->priv_flags |= IFF_BONDING;
2031 res = vlan_vids_add_by_dev(slave_dev, bond_dev);
2033 slave_err(bond_dev, slave_dev, "Couldn't add bond vlan ids\n");
2054 link_reporting = bond_check_dev_link(bond, slave_dev, 1);
2065 slave_warn(bond_dev, slave_dev, "MII and ETHTOOL support not available for slave, and arp_interval/arp_ip_target module parameters not specified, thus bonding will not detect link failures! see bonding.txt for details\n");
2068 slave_warn(bond_dev, slave_dev, "can't get link status from slave; the network driver associated with this interface does not support MII or ETHTOOL link status reporting, thus miimon has no effect on this interface\n");
2075 if (bond_check_dev_link(bond, slave_dev, 0) == BMSR_LSTATUS) {
2092 (netif_carrier_ok(slave_dev) ?
2102 slave_dbg(bond_dev, slave_dev, "Initial state of slave is BOND_LINK_%s\n",
2145 slave_dbg(bond_dev, slave_dev, "This slave is always active in trunk mode\n");
2164 slave_info(bond_dev, slave_dev, "master_dev is using netpoll, but new slave device does not support netpoll\n");
2172 dev_disable_lro(slave_dev);
2174 res = netdev_rx_handler_register(slave_dev, bond_handle_frame,
2177 slave_dbg(bond_dev, slave_dev, "Error %d calling netdev_rx_handler_register\n", res);
2183 slave_dbg(bond_dev, slave_dev, "Error %d calling bond_master_upper_dev_link\n", res);
2191 slave_dbg(bond_dev, slave_dev, "Error %d calling bond_sysfs_slave_add\n", res);
2201 res = dev_set_promiscuity(slave_dev, 1);
2208 res = dev_set_allmulti(slave_dev, 1);
2211 dev_set_promiscuity(slave_dev, -1);
2218 dev_mc_sync_multiple(slave_dev, bond_dev);
2219 dev_uc_sync_multiple(slave_dev, bond_dev);
2223 dev_mc_add(slave_dev, lacpdu_mcast_addr);
2241 if (!slave_dev->netdev_ops->ndo_bpf ||
2242 !slave_dev->netdev_ops->ndo_xdp_xmit) {
2244 SLAVE_NL_ERR(bond_dev, slave_dev, extack,
2257 if (dev_xdp_prog_count(slave_dev) > 0) {
2258 SLAVE_NL_ERR(bond_dev, slave_dev, extack,
2264 res = slave_dev->netdev_ops->ndo_bpf(slave_dev, &xdp);
2267 slave_dbg(bond_dev, slave_dev, "Error %d calling ndo_bpf\n", res);
2276 slave_info(bond_dev, slave_dev, "Enslaving as %s interface with %s link\n",
2292 netdev_rx_handler_unregister(slave_dev);
2295 vlan_vids_del_by_dev(slave_dev, bond_dev);
2309 if (!netif_is_bond_master(slave_dev))
2310 slave_dev->priv_flags &= ~IFF_BONDING;
2311 dev_close(slave_dev);
2314 slave_dev->priv_flags &= ~IFF_NO_ADDRCONF;
2323 ss.ss_family = slave_dev->type;
2324 dev_set_mac_address(slave_dev, (struct sockaddr *)&ss, NULL);
2328 dev_set_mtu(slave_dev, new_slave->original_mtu);
2337 slave_dev->dev_addr))
2360 struct net_device *slave_dev,
2370 if (!(slave_dev->flags & IFF_SLAVE) ||
2371 !netdev_has_upper_dev(slave_dev, bond_dev)) {
2372 slave_dbg(bond_dev, slave_dev, "cannot release slave\n");
2378 slave = bond_get_slave_by_dev(bond, slave_dev);
2381 slave_info(bond_dev, slave_dev, "interface not enslaved\n");
2400 if (slave_dev->netdev_ops->ndo_bpf(slave_dev, &xdp))
2401 slave_warn(bond_dev, slave_dev, "failed to unload XDP program\n");
2407 netdev_rx_handler_unregister(slave_dev);
2417 slave_info(bond_dev, slave_dev, "Releasing %s interface\n",
2428 slave_warn(bond_dev, slave_dev, "the permanent HWaddr of slave - %pM - is still in use by bond - set the HWaddr of slave to a different address to avoid conflicts\n",
2473 slave_info(bond_dev, slave_dev, "last VLAN challenged slave left bond - VLAN blocking is removed\n");
2475 vlan_vids_del_by_dev(slave_dev, bond_dev);
2489 dev_set_promiscuity(slave_dev, -1);
2493 dev_set_allmulti(slave_dev, -1);
2496 bond_hw_addr_flush(bond_dev, slave_dev);
2502 dev_close(slave_dev);
2504 slave_dev->priv_flags &= ~IFF_NO_ADDRCONF;
2511 ss.ss_family = slave_dev->type;
2512 dev_set_mac_address(slave_dev, (struct sockaddr *)&ss, NULL);
2516 __dev_set_mtu(slave_dev, slave->original_mtu);
2518 dev_set_mtu(slave_dev, slave->original_mtu);
2520 if (!netif_is_bond_master(slave_dev))
2521 slave_dev->priv_flags &= ~IFF_BONDING;
2530 int bond_release(struct net_device *bond_dev, struct net_device *slave_dev)
2532 return __bond_release_one(bond_dev, slave_dev, false, false);
2539 struct net_device *slave_dev)
2544 ret = __bond_release_one(bond_dev, slave_dev, false, true);
2897 struct net_device *slave_dev = slave->dev;
2912 slave_dbg(bond_dev, slave_dev, "inner tag: proto %X vid %X\n",
2925 slave_dbg(bond_dev, slave_dev, "outer tag: proto %X vid %X\n",
2942 struct net_device *slave_dev = slave->dev;
2945 slave_dbg(bond_dev, slave_dev, "arp %d on slave: dst %pI4 src %pI4\n",
2948 skb = arp_create(arp_op, ETH_P_ARP, dest_ip, slave_dev, src_ip,
2949 NULL, slave_dev->dev_addr, NULL);
3163 struct net_device *slave_dev = slave->dev;
3167 slave_dbg(bond_dev, slave_dev, "NS on slave: dst %pI6c src %pI6c\n",
3170 skb = ndisc_ns_create(slave_dev, daddr, saddr, 0);
3872 struct net_device *slave_dev)
3874 struct slave *slave = bond_slave_get_rtnl(slave_dev), *primary;
3883 netdev_dbg(slave_dev, "%s called on NULL slave\n", __func__);
3891 slave_dbg(bond_dev, slave_dev, "%s called\n", __func__);
3896 bond_release_and_destroy(bond_dev, slave_dev);
3898 __bond_release_one(bond_dev, slave_dev, false, true);
3954 } else if (!strcmp(slave_dev->name, bond->params.primary)) {
3962 primary ? slave_dev->name : "none");
4496 struct net_device *slave_dev = NULL;
4540 slave_dev = __dev_get_by_name(net, ifr->ifr_slave);
4542 slave_dbg(bond_dev, slave_dev, "slave_dev=%p:\n", slave_dev);
4544 if (!slave_dev)
4549 res = bond_enslave(bond_dev, slave_dev, NULL);
4552 res = bond_release(bond_dev, slave_dev);
4555 res = bond_set_dev_addr(bond_dev, slave_dev);
4558 bond_opt_initstr(&newval, slave_dev->name);
5522 struct net_device *slave_dev;
5527 slave_dev = bond_xdp_get_xmit_slave(bond_dev, &xdp);
5528 if (!slave_dev) {
5533 err = slave_dev->netdev_ops->ndo_xdp_xmit(slave_dev, 1, frames1, flags);
5573 struct net_device *slave_dev = slave->dev;
5575 if (!slave_dev->netdev_ops->ndo_bpf ||
5576 !slave_dev->netdev_ops->ndo_xdp_xmit) {
5577 SLAVE_NL_ERR(dev, slave_dev, extack,
5583 if (dev_xdp_prog_count(slave_dev) > 0) {
5584 SLAVE_NL_ERR(dev, slave_dev, extack,
5590 err = slave_dev->netdev_ops->ndo_bpf(slave_dev, &xdp);
5593 slave_err(dev, slave_dev, "Error %d calling ndo_bpf\n", err);
5616 struct net_device *slave_dev = rollback_slave->dev;
5622 err_unwind = slave_dev->netdev_ops->ndo_bpf(slave_dev, &xdp);
5624 slave_err(dev, slave_dev,