return size;
 }
 
-static void mpls_netconf_notify_devconf(struct net *net, int type,
-                                       struct mpls_dev *mdev)
+static void mpls_netconf_notify_devconf(struct net *net, int event,
+                                       int type, struct mpls_dev *mdev)
 {
        struct sk_buff *skb;
        int err = -ENOBUFS;
        if (!skb)
                goto errout;
 
-       err = mpls_netconf_fill_devconf(skb, mdev, 0, 0, RTM_NEWNETCONF,
-                                       0, type);
+       err = mpls_netconf_fill_devconf(skb, mdev, 0, 0, event, 0, type);
        if (err < 0) {
                /* -EMSGSIZE implies BUG in mpls_netconf_msgsize_devconf() */
                WARN_ON(err == -EMSGSIZE);
 
                if (i == offsetof(struct mpls_dev, input_enabled) &&
                    val != oval) {
-                       mpls_netconf_notify_devconf(net,
-                                                   NETCONFA_INPUT,
-                                                   mdev);
+                       mpls_netconf_notify_devconf(net, RTM_NEWNETCONF,
+                                                   NETCONFA_INPUT, mdev);
                }
        }