From: Sven Eckelmann <sven@narfation.org>
To: b.a.t.m.a.n@lists.open-mesh.org
Subject: Re: [B.A.T.M.A.N.] [PATCH 03/10] batman-adv: add generic netlink query API to replace debugfs files
Date: Fri, 29 Apr 2016 21:15:03 +0200 [thread overview]
Message-ID: <10673163.SjRvAOM3uS@sven-edge> (raw)
In-Reply-To: <1461875848-11720-4-git-send-email-andrew@lunn.ch>
[-- Attachment #1.1: Type: text/plain, Size: 4914 bytes --]
=2D-nextPart14769187.XhPCp6XRqi
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
On Thursday 28 April 2016 22:37:21 Andrew Lunn wrote:
> From: Matthias Schiffer <mschiffer@universe-factory.net>
>
> debugfs is currently severely broken virtually everywhere in the kernel
> where files are dynamically added and removed (see
> http://lkml.iu.edu/hypermail/linux/kernel/1506.1/02196.html for some
> details). In addition to that, debugfs is not namespace-aware.
>
> Also, the debugfs interface will try to fix the whole list of originators/
> TT entries into a single buffer. The situation has improved in recent
> kernels,as the seq_file infrastructure will fall back to vmalloc now when
> kmalloc fails. Still, converting all information to text and potentially
> retrying multiple times until the buffer is big enough is very inefficient.
>
> This commit adds generic infrastructur for the netlink interface to
> batman-adv and implements the following command:
>
> * BATADV_CMD_GET_ROUTING_ALGOS: will return the list of supported routing
> algorithms
> * BATADV_CMD_GET_MESH_INFO: will return basic information about a
> batman-adv softif (name, index and MAC address for both the softif and
> the primary hardif; routing algorithm; batman-adv version)
> * BATADV_CMD_GET_HARDIFS: will return the list of hardifs (including
> index, name and MAC address) of all hardifs for a given softif
>
> Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
> ---
> Makefile | 1 +
> include/uapi/linux/batman_adv.h | 49 ++++++++
> net/batman-adv/Makefile | 1 +
> net/batman-adv/main.c | 48 ++++++++
> net/batman-adv/main.h | 1 +
> net/batman-adv/netlink.c | 251
> ++++++++++++++++++++++++++++++++++++++++ net/batman-adv/netlink.h |
> 36 ++++++
> 7 files changed, 387 insertions(+)
> create mode 100644 include/uapi/linux/batman_adv.h
> create mode 100644 net/batman-adv/netlink.c
> create mode 100644 net/batman-adv/netlink.h
You can find the missing includes in the attached patch
Kind regards,
Sven
=2D-nextPart14769187.XhPCp6XRqi
Content-Disposition: attachment; filename="0007-missing-includes-3.patch"
Content-Transfer-Encoding: 7Bit
Content-Type: text/x-patch; charset="UTF-8"; name="0007-missing-includes-3.patch"
From: Sven Eckelmann <sven@narfation.org>
Date: Fri, 29 Apr 2016 20:43:27 +0200
Subject: [PATCH] missing includes 3
=2D--
net/batman-adv/main.c | 3 +++
net/batman-adv/main.h | 1 +
net/batman-adv/netlink.c | 13 +++++++++++--
net/batman-adv/netlink.h | 5 +++++
4 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/net/batman-adv/main.c b/net/batman-adv/main.c
index 05fc597..7b5f585 100644
=2D-- a/net/batman-adv/main.c
+++ b/net/batman-adv/main.c
@@ -35,6 +35,7 @@
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/netdevice.h>
+#include <linux/netlink.h>
#include <linux/pkt_sched.h>
#include <linux/rculist.h>
#include <linux/rcupdate.h>
@@ -46,6 +47,8 @@
#include <linux/string.h>
#include <linux/workqueue.h>
#include <net/dsfield.h>
+#include <net/genetlink.h>
+#include <net/netlink.h>
#include <net/rtnetlink.h>
#include <uapi/linux/batman_adv.h>
diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h
index eddbb59..3b770df 100644
=2D-- a/net/batman-adv/main.h
+++ b/net/batman-adv/main.h
@@ -191,6 +191,7 @@ enum batadv_uev_type {
#include "types.h"
struct batadv_ogm_packet;
+struct netlink_callback;
struct seq_file;
struct sk_buff;
diff --git a/net/batman-adv/netlink.c b/net/batman-adv/netlink.c
index 6682f78..e302de3 100644
=2D-- a/net/batman-adv/netlink.c
+++ b/net/batman-adv/netlink.c
@@ -18,14 +18,23 @@
#include "main.h"
#include "netlink.h"
+#include <linux/errno.h>
+#include <linux/fs.h>
+#include <linux/if_ether.h>
+#include <linux/init.h>
#include <linux/netdevice.h>
+#include <linux/netlink.h>
+#include <linux/printk.h>
+#include <linux/rculist.h>
+#include <linux/rcupdate.h>
+#include <linux/skbuff.h>
+#include <linux/stddef.h>
+#include <linux/types.h>
#include <net/sock.h>
#include <uapi/linux/batman_adv.h>
#include "hard-interface.h"
=2D#include "originator.h"
#include "soft-interface.h"
=2D#include "translation-table.h"
struct genl_family batadv_netlink_family = {
.id = GENL_ID_GENERATE,
diff --git a/net/batman-adv/netlink.h b/net/batman-adv/netlink.h
index 31022d4..ae0eeb9 100644
=2D-- a/net/batman-adv/netlink.h
+++ b/net/batman-adv/netlink.h
@@ -18,7 +18,12 @@
#ifndef _NET_BATMAN_ADV_NETLINK_H_
#define _NET_BATMAN_ADV_NETLINK_H_
+#include <linux/compiler.h>
+#include <linux/genetlink.h>
#include <net/genetlink.h>
+#include <net/netlink.h>
+
+struct nlmsghdr;
void batadv_netlink_register(void);
void batadv_netlink_unregister(void);
=2D-nextPart14769187.XhPCp6XRqi--
This is a multi-part message in MIME format.
[-- Attachment #1.2: Type: text/plain, Size: 2022 bytes --]
On Thursday 28 April 2016 22:37:21 Andrew Lunn wrote:
> From: Matthias Schiffer <mschiffer@universe-factory.net>
>
> debugfs is currently severely broken virtually everywhere in the kernel
> where files are dynamically added and removed (see
> http://lkml.iu.edu/hypermail/linux/kernel/1506.1/02196.html for some
> details). In addition to that, debugfs is not namespace-aware.
>
> Also, the debugfs interface will try to fix the whole list of originators/
> TT entries into a single buffer. The situation has improved in recent
> kernels,as the seq_file infrastructure will fall back to vmalloc now when
> kmalloc fails. Still, converting all information to text and potentially
> retrying multiple times until the buffer is big enough is very inefficient.
>
> This commit adds generic infrastructur for the netlink interface to
> batman-adv and implements the following command:
>
> * BATADV_CMD_GET_ROUTING_ALGOS: will return the list of supported routing
> algorithms
> * BATADV_CMD_GET_MESH_INFO: will return basic information about a
> batman-adv softif (name, index and MAC address for both the softif and
> the primary hardif; routing algorithm; batman-adv version)
> * BATADV_CMD_GET_HARDIFS: will return the list of hardifs (including
> index, name and MAC address) of all hardifs for a given softif
>
> Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
> ---
> Makefile | 1 +
> include/uapi/linux/batman_adv.h | 49 ++++++++
> net/batman-adv/Makefile | 1 +
> net/batman-adv/main.c | 48 ++++++++
> net/batman-adv/main.h | 1 +
> net/batman-adv/netlink.c | 251
> ++++++++++++++++++++++++++++++++++++++++ net/batman-adv/netlink.h |
> 36 ++++++
> 7 files changed, 387 insertions(+)
> create mode 100644 include/uapi/linux/batman_adv.h
> create mode 100644 net/batman-adv/netlink.c
> create mode 100644 net/batman-adv/netlink.h
You can find the missing includes in the attached patch
Kind regards,
Sven
[-- Attachment #1.3: 0007-missing-includes-3.patch --]
[-- Type: text/x-patch, Size: 2466 bytes --]
From: Sven Eckelmann <sven@narfation.org>
Date: Fri, 29 Apr 2016 20:43:27 +0200
Subject: [PATCH] missing includes 3
---
net/batman-adv/main.c | 3 +++
net/batman-adv/main.h | 1 +
net/batman-adv/netlink.c | 13 +++++++++++--
net/batman-adv/netlink.h | 5 +++++
4 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/net/batman-adv/main.c b/net/batman-adv/main.c
index 05fc597..7b5f585 100644
--- a/net/batman-adv/main.c
+++ b/net/batman-adv/main.c
@@ -35,6 +35,7 @@
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/netdevice.h>
+#include <linux/netlink.h>
#include <linux/pkt_sched.h>
#include <linux/rculist.h>
#include <linux/rcupdate.h>
@@ -46,6 +47,8 @@
#include <linux/string.h>
#include <linux/workqueue.h>
#include <net/dsfield.h>
+#include <net/genetlink.h>
+#include <net/netlink.h>
#include <net/rtnetlink.h>
#include <uapi/linux/batman_adv.h>
diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h
index eddbb59..3b770df 100644
--- a/net/batman-adv/main.h
+++ b/net/batman-adv/main.h
@@ -191,6 +191,7 @@ enum batadv_uev_type {
#include "types.h"
struct batadv_ogm_packet;
+struct netlink_callback;
struct seq_file;
struct sk_buff;
diff --git a/net/batman-adv/netlink.c b/net/batman-adv/netlink.c
index 6682f78..e302de3 100644
--- a/net/batman-adv/netlink.c
+++ b/net/batman-adv/netlink.c
@@ -18,14 +18,23 @@
#include "main.h"
#include "netlink.h"
+#include <linux/errno.h>
+#include <linux/fs.h>
+#include <linux/if_ether.h>
+#include <linux/init.h>
#include <linux/netdevice.h>
+#include <linux/netlink.h>
+#include <linux/printk.h>
+#include <linux/rculist.h>
+#include <linux/rcupdate.h>
+#include <linux/skbuff.h>
+#include <linux/stddef.h>
+#include <linux/types.h>
#include <net/sock.h>
#include <uapi/linux/batman_adv.h>
#include "hard-interface.h"
-#include "originator.h"
#include "soft-interface.h"
-#include "translation-table.h"
struct genl_family batadv_netlink_family = {
.id = GENL_ID_GENERATE,
diff --git a/net/batman-adv/netlink.h b/net/batman-adv/netlink.h
index 31022d4..ae0eeb9 100644
--- a/net/batman-adv/netlink.h
+++ b/net/batman-adv/netlink.h
@@ -18,7 +18,12 @@
#ifndef _NET_BATMAN_ADV_NETLINK_H_
#define _NET_BATMAN_ADV_NETLINK_H_
+#include <linux/compiler.h>
+#include <linux/genetlink.h>
#include <net/genetlink.h>
+#include <net/netlink.h>
+
+struct nlmsghdr;
void batadv_netlink_register(void);
void batadv_netlink_unregister(void);
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2016-04-29 19:15 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-28 20:37 [B.A.T.M.A.N.] [PATCH 00/10] netns and netlink support Andrew Lunn
2016-04-28 20:37 ` [B.A.T.M.A.N.] [PATCH 01/10] batman-adv: Handle parent interfaces in a different netns Andrew Lunn
2016-04-29 5:52 ` Sven Eckelmann
2016-04-29 12:14 ` Andrew Lunn
2016-04-29 12:59 ` Sven Eckelmann
2016-04-29 19:51 ` Sven Eckelmann
2016-04-29 19:14 ` Sven Eckelmann
2016-04-28 20:37 ` [B.A.T.M.A.N.] [PATCH 02/10] batman-adv: Suppress debugfs entries for netns's Andrew Lunn
2016-04-29 18:07 ` Sven Eckelmann
2016-04-29 18:53 ` Andrew Lunn
2016-04-29 19:14 ` Sven Eckelmann
2016-04-28 20:37 ` [B.A.T.M.A.N.] [PATCH 03/10] batman-adv: add generic netlink query API to replace debugfs files Andrew Lunn
2016-04-29 18:11 ` Sven Eckelmann
2016-04-29 19:15 ` Sven Eckelmann [this message]
2016-04-29 19:55 ` Sven Eckelmann
2016-04-29 20:15 ` Sven Eckelmann
2016-04-29 20:26 ` Sven Eckelmann
2016-04-28 20:37 ` [B.A.T.M.A.N.] [PATCH 04/10] batman-adv: netlink: add translation table query Andrew Lunn
2016-04-29 19:15 ` Sven Eckelmann
2016-04-28 20:37 ` [B.A.T.M.A.N.] [PATCH 05/10] batman-adv: netlink: add originator and neighbor table queries Andrew Lunn
2016-04-29 19:15 ` Sven Eckelmann
2016-04-29 21:05 ` Sven Eckelmann
2016-04-28 20:37 ` [B.A.T.M.A.N.] [PATCH 06/10] batman-adv: add B.A.T.M.A.N. IV bat_{orig, neigh}_dump implementations Andrew Lunn
2016-04-29 19:15 ` Sven Eckelmann
2016-04-28 20:37 ` [B.A.T.M.A.N.] [PATCH 07/10] batman-adv: add B.A.T.M.A.N. V " Andrew Lunn
2016-04-29 19:15 ` Sven Eckelmann
2016-04-28 20:37 ` [B.A.T.M.A.N.] [PATCH 08/10] batman-adv: Indicate netlink socket can be used with netns Andrew Lunn
2016-04-28 20:37 ` [B.A.T.M.A.N.] [PATCH 09/10] batman-adv: add B.A.T.M.A.N. Dump gateways via netlink Andrew Lunn
2016-04-29 19:15 ` Sven Eckelmann
2016-04-29 20:36 ` Sven Eckelmann
2016-04-28 20:37 ` [B.A.T.M.A.N.] [PATCH 10/10] batman-adv: add B.A.T.M.A.N. Dump BLA claims " Andrew Lunn
2016-04-29 19:15 ` Sven Eckelmann
2016-04-29 21:07 ` Sven Eckelmann
2016-04-29 21:56 ` Andrew Lunn
2016-04-28 20:46 ` [B.A.T.M.A.N.] [PATCH 00/10] netns and netlink support Andrew Lunn
2016-04-29 6:19 ` Sven Eckelmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=10673163.SjRvAOM3uS@sven-edge \
--to=sven@narfation.org \
--cc=b.a.t.m.a.n@lists.open-mesh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).