Lines Matching refs:mdev

144 	struct mpls_dev *mdev;  in mpls_forward()  local
152 mdev = mpls_dev_get(dev); in mpls_forward()
153 if (!mdev || !mdev->input_enabled) in mpls_forward()
456 struct mpls_dev *mdev) in mpls_dev_sysctl_register() argument
470 table[i].data = (char *)mdev + (uintptr_t)table[i].data; in mpls_dev_sysctl_register()
474 mdev->sysctl = register_net_sysctl(dev_net(dev), path, table); in mpls_dev_sysctl_register()
475 if (!mdev->sysctl) in mpls_dev_sysctl_register()
486 static void mpls_dev_sysctl_unregister(struct mpls_dev *mdev) in mpls_dev_sysctl_unregister() argument
490 table = mdev->sysctl->ctl_table_arg; in mpls_dev_sysctl_unregister()
491 unregister_net_sysctl_table(mdev->sysctl); in mpls_dev_sysctl_unregister()
497 struct mpls_dev *mdev; in mpls_add_dev() local
502 mdev = kzalloc(sizeof(*mdev), GFP_KERNEL); in mpls_add_dev()
503 if (!mdev) in mpls_add_dev()
506 err = mpls_dev_sysctl_register(dev, mdev); in mpls_add_dev()
510 rcu_assign_pointer(dev->mpls_ptr, mdev); in mpls_add_dev()
512 return mdev; in mpls_add_dev()
515 kfree(mdev); in mpls_add_dev()
523 struct mpls_dev *mdev; in mpls_ifdown() local
536 mdev = mpls_dev_get(dev); in mpls_ifdown()
537 if (!mdev) in mpls_ifdown()
540 mpls_dev_sysctl_unregister(mdev); in mpls_ifdown()
544 kfree_rcu(mdev, rcu); in mpls_ifdown()
551 struct mpls_dev *mdev; in mpls_dev_notify() local
558 mdev = mpls_add_dev(dev); in mpls_dev_notify()
559 if (IS_ERR(mdev)) in mpls_dev_notify()
560 return notifier_from_errno(PTR_ERR(mdev)); in mpls_dev_notify()
568 mdev = mpls_dev_get(dev); in mpls_dev_notify()
569 if (mdev) { in mpls_dev_notify()
572 mpls_dev_sysctl_unregister(mdev); in mpls_dev_notify()
573 err = mpls_dev_sysctl_register(dev, mdev); in mpls_dev_notify()