Lines Matching refs:dev

31 struct mctp_dev *__mctp_dev_get(const struct net_device *dev)
33 struct mctp_dev *mdev = rcu_dereference(dev->mctp_ptr);
47 struct mctp_dev *mctp_dev_get_rtnl(const struct net_device *dev)
49 return rtnl_dereference(dev->mctp_ptr);
78 hdr->ifa_index = mdev->dev->ifindex;
119 struct net_device *dev;
133 hlist_for_each_entry_rcu(dev, head, index_hlist) {
135 (ifindex == 0 || ifindex == dev->ifindex)) {
136 mdev = __mctp_dev_get(dev);
163 struct net *net = dev_net(mdev->dev);
195 struct net_device *dev;
218 dev = __dev_get_by_index(net, ifm->ifa_index);
219 if (!dev)
222 mdev = mctp_dev_get_rtnl(dev);
258 struct net_device *dev;
281 dev = __dev_get_by_index(net, ifm->ifa_index);
282 if (!dev)
285 mdev = mctp_dev_get_rtnl(dev);
317 dev_put(mdev->dev);
322 void mctp_dev_release_key(struct mctp_dev *dev, struct mctp_sk_key *key)
325 if (!dev)
327 if (dev->ops && dev->ops->release_flow)
328 dev->ops->release_flow(dev, key);
329 key->dev = NULL;
330 mctp_dev_put(dev);
333 void mctp_dev_set_key(struct mctp_dev *dev, struct mctp_sk_key *key)
336 mctp_dev_hold(dev);
337 key->dev = dev;
340 static struct mctp_dev *mctp_add_dev(struct net_device *dev)
352 mdev->net = mctp_default_net(dev_net(dev));
356 rcu_assign_pointer(dev->mctp_ptr, mdev);
358 dev_hold(dev);
359 mdev->dev = dev;
365 const struct net_device *dev, u32 ext_filter_mask)
369 mdev = mctp_dev_get_rtnl(dev);
377 static size_t mctp_get_link_af_size(const struct net_device *dev,
384 mdev = __mctp_dev_get(dev);
396 static int mctp_set_link_af(struct net_device *dev, const struct nlattr *attr,
408 mdev = mctp_dev_get_rtnl(dev);
419 static bool mctp_known(struct net_device *dev)
422 return dev->type == ARPHRD_MCTP ||
423 dev->type == ARPHRD_LOOPBACK ||
424 dev->type == ARPHRD_NONE;
427 static void mctp_unregister(struct net_device *dev)
431 mdev = mctp_dev_get_rtnl(dev);
435 RCU_INIT_POINTER(mdev->dev->mctp_ptr, NULL);
443 static int mctp_register(struct net_device *dev)
448 if (rtnl_dereference(dev->mctp_ptr))
452 if (!mctp_known(dev))
455 mdev = mctp_add_dev(dev);
465 struct net_device *dev = netdev_notifier_info_to_dev(ptr);
470 rc = mctp_register(dev);
475 mctp_unregister(dev);
482 static int mctp_register_netdevice(struct net_device *dev,
487 mdev = mctp_add_dev(dev);
493 return register_netdevice(dev);
496 int mctp_register_netdev(struct net_device *dev,
502 rc = mctp_register_netdevice(dev, ops);
509 void mctp_unregister_netdev(struct net_device *dev)
511 unregister_netdev(dev);