netlink: add netlink_kernel_cfg parameter to netlink_kernel_create
[firefly-linux-kernel-4.4.55.git] / net / core / rtnetlink.c
index 21318d15bbc3c1578bd2650282de9b6ddde7ae23..2b325c340b446c13fbe4ce15991678fc9fe327bd 100644 (file)
@@ -541,19 +541,6 @@ static const int rta_max[RTM_NR_FAMILIES] =
        [RTM_FAM(RTM_NEWACTION)]    = TCAA_MAX,
 };
 
-void __rta_fill(struct sk_buff *skb, int attrtype, int attrlen, const void *data)
-{
-       struct rtattr *rta;
-       int size = RTA_LENGTH(attrlen);
-
-       rta = (struct rtattr *)skb_put(skb, RTA_ALIGN(size));
-       rta->rta_type = attrtype;
-       rta->rta_len = size;
-       memcpy(RTA_DATA(rta), data, attrlen);
-       memset(RTA_DATA(rta) + attrlen, 0, RTA_ALIGN(size) - size);
-}
-EXPORT_SYMBOL(__rta_fill);
-
 int rtnetlink_send(struct sk_buff *skb, struct net *net, u32 pid, unsigned int group, int echo)
 {
        struct sock *rtnl = net->rtnl;
@@ -2366,8 +2353,13 @@ static struct notifier_block rtnetlink_dev_notifier = {
 static int __net_init rtnetlink_net_init(struct net *net)
 {
        struct sock *sk;
-       sk = netlink_kernel_create(net, NETLINK_ROUTE, RTNLGRP_MAX,
-                                  rtnetlink_rcv, &rtnl_mutex, THIS_MODULE);
+       struct netlink_kernel_cfg cfg = {
+               .groups         = RTNLGRP_MAX,
+               .input          = rtnetlink_rcv,
+               .cb_mutex       = &rtnl_mutex,
+       };
+
+       sk = netlink_kernel_create(net, NETLINK_ROUTE, THIS_MODULE, &cfg);
        if (!sk)
                return -ENOMEM;
        net->rtnl = sk;