rtnetlink.c (69dbdd819599e2f3b77c172e83af512845bca5ad) | rtnetlink.c (369cf77a6a3e41b1110506ddf43d45804103bfde) |
---|---|
1/* 2 * INET An implementation of the TCP/IP protocol suite for the LINUX 3 * operating system. INET is implemented using the BSD Socket 4 * interface as the means of communication with the user level. 5 * 6 * Routing netlink socket interface: protocol independent part. 7 * 8 * Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> --- 333 unchanged lines hidden (view full) --- 342static size_t rtnl_link_get_size(const struct net_device *dev) 343{ 344 const struct rtnl_link_ops *ops = dev->rtnl_link_ops; 345 size_t size; 346 347 if (!ops) 348 return 0; 349 | 1/* 2 * INET An implementation of the TCP/IP protocol suite for the LINUX 3 * operating system. INET is implemented using the BSD Socket 4 * interface as the means of communication with the user level. 5 * 6 * Routing netlink socket interface: protocol independent part. 7 * 8 * Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> --- 333 unchanged lines hidden (view full) --- 342static size_t rtnl_link_get_size(const struct net_device *dev) 343{ 344 const struct rtnl_link_ops *ops = dev->rtnl_link_ops; 345 size_t size; 346 347 if (!ops) 348 return 0; 349 |
350 size = nlmsg_total_size(sizeof(struct nlattr)) + /* IFLA_LINKINFO */ 351 nlmsg_total_size(strlen(ops->kind) + 1); /* IFLA_INFO_KIND */ | 350 size = nla_total_size(sizeof(struct nlattr)) + /* IFLA_LINKINFO */ 351 nla_total_size(strlen(ops->kind) + 1); /* IFLA_INFO_KIND */ |
352 353 if (ops->get_size) 354 /* IFLA_INFO_DATA + nested data */ | 352 353 if (ops->get_size) 354 /* IFLA_INFO_DATA + nested data */ |
355 size += nlmsg_total_size(sizeof(struct nlattr)) + | 355 size += nla_total_size(sizeof(struct nlattr)) + |
356 ops->get_size(dev); 357 358 if (ops->get_xstats_size) | 356 ops->get_size(dev); 357 358 if (ops->get_xstats_size) |
359 size += ops->get_xstats_size(dev); /* IFLA_INFO_XSTATS */ | 359 /* IFLA_INFO_XSTATS */ 360 size += nla_total_size(ops->get_xstats_size(dev)); |
360 361 return size; 362} 363 364static int rtnl_link_fill(struct sk_buff *skb, const struct net_device *dev) 365{ 366 const struct rtnl_link_ops *ops = dev->rtnl_link_ops; 367 struct nlattr *linkinfo, *data; --- 1419 unchanged lines hidden --- | 361 362 return size; 363} 364 365static int rtnl_link_fill(struct sk_buff *skb, const struct net_device *dev) 366{ 367 const struct rtnl_link_ops *ops = dev->rtnl_link_ops; 368 struct nlattr *linkinfo, *data; --- 1419 unchanged lines hidden --- |