Lines Matching defs:conduit

26 #include "conduit.h"
199 struct net_device *conduit = dsa_user_to_conduit(dev);
207 dev_uc_add(conduit, addr);
219 struct net_device *conduit = dsa_user_to_conduit(dev);
227 dev_uc_del(conduit, addr);
239 struct net_device *conduit = dsa_user_to_conduit(dev);
247 dev_mc_add(conduit, addr);
259 struct net_device *conduit = dsa_user_to_conduit(dev);
267 dev_mc_del(conduit, addr);
360 struct net_device *conduit = dsa_user_to_conduit(dev);
371 if (!ether_addr_equal(addr, conduit->dev_addr)) {
372 err = dev_uc_add(conduit, addr);
388 struct net_device *conduit = dsa_user_to_conduit(dev);
392 if (!ether_addr_equal(dev->dev_addr, conduit->dev_addr))
393 dev_uc_del(conduit, dev->dev_addr);
401 struct net_device *conduit = dsa_user_to_conduit(dev);
405 err = dev_open(conduit, NULL);
407 netdev_err(dev, "failed to open conduit %s\n", conduit->name);
449 struct net_device *conduit = dsa_user_to_conduit(dev);
454 dev_set_allmulti(conduit,
457 dev_set_promiscuity(conduit,
489 * to the DSA conduit, so there is nothing to change.
1321 struct net_device *conduit = dsa_user_to_conduit(dev);
1330 err = __netpoll_setup(netpoll, conduit);
1730 struct net_device *conduit = dsa_port_to_conduit(dsa_to_port(ds, port));
1732 if (!conduit->netdev_ops->ndo_setup_tc)
1735 return conduit->netdev_ops->ndo_setup_tc(conduit, TC_SETUP_FT, type_data);
2110 struct net_device *conduit = dsa_user_to_conduit(dev);
2149 mtu_limit = min_t(int, conduit->max_mtu, dev->max_mtu + overhead);
2150 old_conduit_mtu = conduit->mtu;
2155 /* If the conduit MTU isn't over limit, there's no need to check the CPU
2162 err = dev_set_mtu(conduit, new_conduit_mtu);
2189 dev_set_mtu(conduit, old_conduit_mtu);
2556 struct net_device *conduit = dsa_port_to_conduit(dp);
2563 ctx->dev = conduit;
2680 struct net_device *conduit = dsa_port_to_conduit(dp);
2687 /* Try to save one extra realloc later in the TX path (in the conduit)
2688 * by also inheriting the conduit's needed headroom and tailroom.
2691 user->needed_headroom += conduit->needed_headroom;
2692 user->needed_tailroom += conduit->needed_tailroom;
2696 user->features = conduit->vlan_features | NETIF_F_HW_TC;
2740 struct net_device *conduit = dsa_port_to_conduit(port);
2773 eth_hw_addr_inherit(user_dev, conduit);
2785 user_dev->vlan_features = conduit->vlan_features;
2818 netdev_err(conduit, "error %d registering interface %s\n",
2835 ret = netdev_upper_dev_link(conduit, user_dev, NULL);
2861 struct net_device *conduit = dsa_user_to_conduit(user_dev);
2867 netdev_upper_dev_unlink(conduit, user_dev);
2877 int dsa_user_change_conduit(struct net_device *dev, struct net_device *conduit,
2887 if (conduit == old_conduit)
2892 "Driver does not support changing DSA conduit");
2896 if (!netdev_uses_dsa(conduit)) {
2898 "Interface not eligible as DSA conduit");
2902 netdev_for_each_upper_dev_rcu(conduit, upper, iter) {
2907 NL_SET_ERR_MSG_MOD(extack, "Cannot join conduit with unknown uppers");
2911 /* Since we allow live-changing the DSA conduit, plus we auto-open the
2912 * DSA conduit when the user port opens => we need to ensure that the
2913 * new DSA conduit is open too.
2916 err = dev_open(conduit, extack);
2923 err = netdev_upper_dev_link(conduit, dev, extack);
2927 err = dsa_port_change_conduit(dp, conduit, extack);
2935 "nonfatal error updating MTU with new conduit: %pe\n",
2942 netdev_upper_dev_unlink(conduit, dev);
3186 /* To be eligible as a DSA conduit, a LAG must have all lower interfaces be
3221 dsa_conduit_prechangeupper_sanity_check(struct net_device *conduit,
3226 if (!netdev_uses_dsa(conduit))
3249 "DSA conduit cannot join unknown upper interfaces");
3270 "Only DSA conduits can join a LAG DSA conduit");
3277 "Interface is DSA conduit for a different switch tree than this LAG");
3293 * be offloaded, such as when the DSA conduit is itself a DSA or plain switchdev
3319 "Cannot do software bridging with a DSA conduit");
3341 "failed to restore conduit to %s: %pe\n",
3347 static int dsa_conduit_lag_join(struct net_device *conduit,
3352 struct dsa_port *cpu_dp = conduit->dsa_ptr;
3362 if (dsa_port_to_conduit(dp) != conduit)
3377 err = dsa_user_change_conduit(dp->user, conduit, NULL);
3380 "failed to restore conduit to %s: %pe\n",
3381 conduit->name, ERR_PTR(err));
3385 dsa_conduit_lag_teardown(lag_dev, conduit->dsa_ptr);
3390 static void dsa_conduit_lag_leave(struct net_device *conduit,
3420 /* If the LAG DSA conduit has no ports left, migrate back all
3426 /* This DSA conduit has left its LAG in any case, so let
3429 dsa_conduit_lag_teardown(lag_dev, conduit->dsa_ptr);
3534 /* Track state of conduit port.
3535 * DSA driver may require the conduit port (and indirectly
3542 /* Track when the conduit port is UP */
3546 /* Track when the conduit port is ready and can accept
3551 * We check if a conduit port is ready by checking if the dev