From patchwork Wed May 4 19:07:26 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sven Eckelmann X-Patchwork-Id: 16068 Return-Path: X-Original-To: patchwork@open-mesh.org Delivered-To: patchwork@open-mesh.org Received: from open-mesh.org (localhost [IPv6:::1]) by open-mesh.org (Postfix) with ESMTP id 3611C82312; Wed, 4 May 2016 21:07:57 +0200 (CEST) Authentication-Results: open-mesh.org; dmarc=none header.from=open-mesh.com Authentication-Results: open-mesh.org; dkim=fail reason="verification failed; unprotected key" header.d=open-mesh-com.20150623.gappssmtp.com header.i=@open-mesh-com.20150623.gappssmtp.com header.b=arDVKuKx; dkim-adsp=none (unprotected policy); dkim-atps=neutral Received-SPF: Neutral (access neither permitted nor denied) identity=mailfrom; client-ip=2a00:1450:400c:c09::22d; helo=mail-wm0-x22d.google.com; envelope-from=sven.eckelmann@open-mesh.com; receiver=b.a.t.m.a.n@lists.open-mesh.org Authentication-Results: open-mesh.org; dmarc=none header.from=open-mesh.com Received: from mail-wm0-x22d.google.com (mail-wm0-x22d.google.com [IPv6:2a00:1450:400c:c09::22d]) by open-mesh.org (Postfix) with ESMTPS id D9C0C8231D for ; Wed, 4 May 2016 21:07:40 +0200 (CEST) Received: by mail-wm0-x22d.google.com with SMTP id n129so201470536wmn.1 for ; Wed, 04 May 2016 12:07:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=open-mesh-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=L/nuVxFyS7monZkvd2Wj10+D+IRouXdfOFpWoD7X9yo=; b=arDVKuKxYktEkybTHGi9aHvb27JhPZnk0Ef7k0PmzekARft9f6OMT39+OEffV0caoW 191X42sG+3kKCJqMszdHer8QVdzX2uHjPIkjrHV9sgNepCR/MscMu46cPhBXYfvpcBol Bjy+PCML9jXD0qJskJvp1xFnjmklSxwgOMEbkXb2LdDrep6bu+ipPZbsY7HiBkeSzIb5 Za0pLGbvkONXXVnSvvWUF/OEbOD6uhqOZFQ0o8Xl3UxZpoUGlX2eKO1hClU06Z42dQz+ 5x1SYXJAO48gLgzI0fENhA3/SO9ziuEZoMz4at2bchAPYDVzGkP/WvawceNXEZi9MXMt bM1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=L/nuVxFyS7monZkvd2Wj10+D+IRouXdfOFpWoD7X9yo=; b=aniHWR3oqXci64TZ8AeojZQ6sMk1c7pKdsLY0mTBNJvXgcEmwhdiraXWyeohn9c2Ub Xx7zdYbDQa+uIEjfM7y873PdJqwwuLJFkSJ5uJF/yyIIaF0ouQpeWFtQLoSe2ezHL2mE EgYPptIa2C5ncVhHwrqn4SqU9BX/ui9nVv+ND4y9n0HAIbkmD9TqexLvuVc2D+d5KCqW RwOI4eFupR/ukzo+QuLlui5Jkt7OwRdCVQzNHwpFh9C1ktAWv/wwrETlPkTAztWodB60 GQzyFAF8HoeYW3Aivu3MbX2ACne9Q8Becy2Oqbf0zsVwb3c7fXQxkyLDlFyVxYIT8k3e MJfA== X-Gm-Message-State: AOPr4FXIJrvK9b0uwMmSvtIgruoJKW8aIqCSUQYxmefS8AqYuKJXCxGpoLUHoHggGdbMu0bG X-Received: by 10.28.143.11 with SMTP id r11mr11503281wmd.46.1462388860507; Wed, 04 May 2016 12:07:40 -0700 (PDT) Received: from sven-desktop.home.narfation.org (p4FFE421B.dip0.t-ipconnect.de. [79.254.66.27]) by smtp.gmail.com with ESMTPSA id t201sm6520126wme.11.2016.05.04.12.07.39 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 04 May 2016 12:07:40 -0700 (PDT) From: Sven Eckelmann X-Google-Original-From: Sven Eckelmann To: b.a.t.m.a.n@lists.open-mesh.org Date: Wed, 4 May 2016 21:07:26 +0200 Message-Id: <1462388847-8440-3-git-send-email-sven@open-mesh.com> X-Mailer: git-send-email 2.8.1 In-Reply-To: <4642303.DsCp7UQf8m@bentobox> References: <4642303.DsCp7UQf8m@bentobox> Cc: Sven Eckelmann Subject: [B.A.T.M.A.N.] [PATCH v4 3/4] batctl: Add attributes/command for BATADV_CMD_GET_MESH_INFO X-BeenThere: b.a.t.m.a.n@lists.open-mesh.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: The list for a Better Approach To Mobile Ad-hoc Networking List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: The list for a Better Approach To Mobile Ad-hoc Networking Errors-To: b.a.t.m.a.n-bounces@lists.open-mesh.org Sender: "B.A.T.M.A.N" From: Sven Eckelmann BATADV_CMD_GET_MESH_INFO will be used as common function to retrieve information from the kernel. This information can be used to display a header for debugfs tables. Signed-off-by: Sven Eckelmann --- batman_adv.h | 18 ++++++++++++++++++ netlink.c | 14 ++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/batman_adv.h b/batman_adv.h index ba611a7..a908140 100644 --- a/batman_adv.h +++ b/batman_adv.h @@ -24,12 +24,28 @@ * enum batadv_nl_attrs - batman-adv netlink attributes * * @BATADV_ATTR_UNSPEC: unspecified attribute to catch errors + * @BATADV_ATTR_VERSION: batman-adv version string + * @BATADV_ATTR_ALGO_NAME: name of routing algorithm + * @BATADV_ATTR_MESH_IFINDEX: index of the batman-adv interface + * @BATADV_ATTR_MESH_IFNAME: name of the batman-adv interface + * @BATADV_ATTR_MESH_ADDRESS: mac address of the batman-adv interface + * @BATADV_ATTR_HARD_IFINDEX: index of the non-batman-adv interface + * @BATADV_ATTR_HARD_IFNAME: name of the non-batman-adv interface + * @BATADV_ATTR_HARD_ADDRESS: mac address of the non-batman-adv interface * @__BATADV_ATTR_AFTER_LAST: internal use * @NUM_BATADV_ATTR: total number of batadv_nl_attrs available * @BATADV_ATTR_MAX: highest attribute number currently defined */ enum batadv_nl_attrs { BATADV_ATTR_UNSPEC, + BATADV_ATTR_VERSION, + BATADV_ATTR_ALGO_NAME, + BATADV_ATTR_MESH_IFINDEX, + BATADV_ATTR_MESH_IFNAME, + BATADV_ATTR_MESH_ADDRESS, + BATADV_ATTR_HARD_IFINDEX, + BATADV_ATTR_HARD_IFNAME, + BATADV_ATTR_HARD_ADDRESS, /* add attributes above here, update the policy in netlink.c */ __BATADV_ATTR_AFTER_LAST, NUM_BATADV_ATTR = __BATADV_ATTR_AFTER_LAST, @@ -40,11 +56,13 @@ enum batadv_nl_attrs { * enum batadv_nl_commands - supported batman-adv netlink commands * * @BATADV_CMD_UNSPEC: unspecified command to catch errors + * @BATADV_CMD_GET_MESH_INFO: Query basic information about batman-adv device * @__BATADV_CMD_AFTER_LAST: internal use * @BATADV_CMD_MAX: highest used command number */ enum batadv_nl_commands { BATADV_CMD_UNSPEC, + BATADV_CMD_GET_MESH_INFO, /* add new commands above here */ __BATADV_CMD_AFTER_LAST, BATADV_CMD_MAX = __BATADV_CMD_AFTER_LAST - 1 diff --git a/netlink.c b/netlink.c index 409953a..2404a25 100644 --- a/netlink.c +++ b/netlink.c @@ -22,7 +22,21 @@ #include "netlink.h" #include "main.h" +#include + #include "batman_adv.h" struct nla_policy batadv_netlink_policy[NUM_BATADV_ATTR] = { + [BATADV_ATTR_VERSION] = { .type = NLA_STRING }, + [BATADV_ATTR_ALGO_NAME] = { .type = NLA_STRING }, + [BATADV_ATTR_MESH_IFINDEX] = { .type = NLA_U32 }, + [BATADV_ATTR_MESH_IFNAME] = { .type = NLA_STRING }, + [BATADV_ATTR_MESH_ADDRESS] = { .type = NLA_UNSPEC, + .minlen = ETH_ALEN, + .maxlen = ETH_ALEN }, + [BATADV_ATTR_HARD_IFINDEX] = { .type = NLA_U32 }, + [BATADV_ATTR_HARD_IFNAME] = { .type = NLA_STRING }, + [BATADV_ATTR_HARD_ADDRESS] = { .type = NLA_UNSPEC, + .minlen = ETH_ALEN, + .maxlen = ETH_ALEN }, };