From patchwork Thu Jul 10 08:17:26 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Gundersen X-Patchwork-Id: 4104 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=209.85.217.169; helo=mail-lb0-f169.google.com; envelope-from=teg@jklm.no; receiver=b.a.t.m.a.n@lists.open-mesh.org Received: from mail-lb0-f169.google.com (mail-lb0-f169.google.com [209.85.217.169]) by open-mesh.org (Postfix) with ESMTPS id 6025F600736 for ; Thu, 10 Jul 2014 10:18:45 +0200 (CEST) Received: by mail-lb0-f169.google.com with SMTP id l4so5890696lbv.28 for ; Thu, 10 Jul 2014 01:18:44 -0700 (PDT) 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=Vzpe4Ff1UdbDBJd8Fp4+x7KJ6Ge+r0+dSTuH/eG7KWM=; b=Cs0hUeIK+d/OX6LLZLGdqpki8CHLQLkQNurf6CguU3fHgPhJtni/eUQb5+l5mGiJKM NpmjhdJstoMgxodV7TdliucVEYlZOmDpCFffY7dD46NhCPwegFnImpyisqJMpNYIAZuY I+YjBWRmisXEo3HOrDThsaymP/y8TCE7py3slck0W1O9ccY6dyQ3p4tP3YA8R2fnQDeG rz69K4Z+cyG+gU6j0eUL7TZ8DSouklfMNy2cWuk6SALuAnVHp8kb+tSJ7X61a+1MRSa9 mbXc60of3TfcVlh5/wYAVRMw9Gwko1SdObYgX6rGDDvC1of0ux5QbPjw0AEEJLN+W+E0 w4+g== X-Gm-Message-State: ALoCoQnX4Dh6E1X7qWFHF9FI8JaVh8ctc1z2uvyCAPBwBHsSKG0ku3VYqiij7fumQl2dZkMYgwRV X-Received: by 10.112.189.170 with SMTP id gj10mr949032lbc.76.1404980324177; Thu, 10 Jul 2014 01:18:44 -0700 (PDT) Received: from localhost.localdomain (m188-149-105-114.cust.tele2.no. [188.149.105.114]) by mx.google.com with ESMTPSA id tg1sm37154793lbb.11.2014.07.10.01.18.42 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 10 Jul 2014 01:18:43 -0700 (PDT) From: Tom Gundersen To: netdev@vger.kernel.org Date: Thu, 10 Jul 2014 10:17:26 +0200 Message-Id: <1404980258-30853-22-git-send-email-teg@jklm.no> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1404980258-30853-1-git-send-email-teg@jklm.no> References: <1404980258-30853-1-git-send-email-teg@jklm.no> X-Mailman-Approved-At: Fri, 11 Jul 2014 08:18:36 +0200 Cc: Marek Lindner , b.a.t.m.a.n@lists.open-mesh.org, Kay Sievers , linux-kernel@vger.kernel.org, Tom Gundersen , Antonio Quartulli , David Herrmann , David Miller Subject: [B.A.T.M.A.N.] [PATCH v7 21/33] net: batman-adv - set name assign type X-BeenThere: b.a.t.m.a.n@lists.open-mesh.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: The list for a Better Approach To Mobile Ad-hoc Networking List-Id: The list for a Better Approach To Mobile Ad-hoc Networking List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Jul 2014 08:18:45 -0000 Signed-off-by: Tom Gundersen Cc: Marek Lindner Cc: Simon Wunderlich Cc: Antonio Quartulli Cc: b.a.t.m.a.n@lists.open-mesh.org --- net/batman-adv/hard-interface.c | 5 +++-- net/batman-adv/hard-interface.h | 3 ++- net/batman-adv/soft-interface.c | 9 ++++++--- net/batman-adv/soft-interface.h | 2 +- net/batman-adv/sysfs.c | 2 +- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/net/batman-adv/hard-interface.c b/net/batman-adv/hard-interface.c index fbda6b5..b25241f 100644 --- a/net/batman-adv/hard-interface.c +++ b/net/batman-adv/hard-interface.c @@ -365,7 +365,8 @@ static int batadv_master_del_slave(struct batadv_hard_iface *slave, } int batadv_hardif_enable_interface(struct batadv_hard_iface *hard_iface, - const char *iface_name) + const char *iface_name, + unsigned char name_assign_type) { struct batadv_priv *bat_priv; struct net_device *soft_iface, *master; @@ -382,7 +383,7 @@ int batadv_hardif_enable_interface(struct batadv_hard_iface *hard_iface, soft_iface = dev_get_by_name(&init_net, iface_name); if (!soft_iface) { - soft_iface = batadv_softif_create(iface_name); + soft_iface = batadv_softif_create(iface_name, name_assign_type); if (!soft_iface) { ret = -ENOMEM; diff --git a/net/batman-adv/hard-interface.h b/net/batman-adv/hard-interface.h index 1918cd5..45dc1ba 100644 --- a/net/batman-adv/hard-interface.h +++ b/net/batman-adv/hard-interface.h @@ -44,7 +44,8 @@ bool batadv_is_wifi_iface(int ifindex); struct batadv_hard_iface* batadv_hardif_get_by_netdev(const struct net_device *net_dev); int batadv_hardif_enable_interface(struct batadv_hard_iface *hard_iface, - const char *iface_name); + const char *iface_name, + unsigned char name_assign_type); void batadv_hardif_disable_interface(struct batadv_hard_iface *hard_iface, enum batadv_hard_if_cleanup autodel); void batadv_hardif_remove_interfaces(void); diff --git a/net/batman-adv/soft-interface.c b/net/batman-adv/soft-interface.c index d551e63..6de7ae3 100644 --- a/net/batman-adv/soft-interface.c +++ b/net/batman-adv/soft-interface.c @@ -790,7 +790,8 @@ static int batadv_softif_slave_add(struct net_device *dev, if (!hard_iface || hard_iface->soft_iface != NULL) goto out; - ret = batadv_hardif_enable_interface(hard_iface, dev->name); + ret = batadv_hardif_enable_interface(hard_iface, dev->name, + dev->name_assign_type); out: if (hard_iface) @@ -889,13 +890,15 @@ static void batadv_softif_init_early(struct net_device *dev) memset(priv, 0, sizeof(*priv)); } -struct net_device *batadv_softif_create(const char *name) +struct net_device *batadv_softif_create(const char *name, + unsigned char name_assign_type) { struct net_device *soft_iface; int ret; soft_iface = alloc_netdev(sizeof(struct batadv_priv), name, - NET_NAME_UNKNOWN, batadv_softif_init_early); + name_assign_type, + batadv_softif_init_early); if (!soft_iface) return NULL; diff --git a/net/batman-adv/soft-interface.h b/net/batman-adv/soft-interface.h index dbab22f..1ea6f05 100644 --- a/net/batman-adv/soft-interface.h +++ b/net/batman-adv/soft-interface.h @@ -22,7 +22,7 @@ int batadv_skb_head_push(struct sk_buff *skb, unsigned int len); void batadv_interface_rx(struct net_device *soft_iface, struct sk_buff *skb, struct batadv_hard_iface *recv_if, int hdr_size, struct batadv_orig_node *orig_node); -struct net_device *batadv_softif_create(const char *name); +struct net_device *batadv_softif_create(const char *name, unsigned char name_assign_type); void batadv_softif_destroy_sysfs(struct net_device *soft_iface); int batadv_softif_is_valid(const struct net_device *net_dev); extern struct rtnl_link_ops batadv_link_ops; diff --git a/net/batman-adv/sysfs.c b/net/batman-adv/sysfs.c index fc47baa..f2295c1 100644 --- a/net/batman-adv/sysfs.c +++ b/net/batman-adv/sysfs.c @@ -797,7 +797,7 @@ static ssize_t batadv_store_mesh_iface(struct kobject *kobj, batadv_hardif_disable_interface(hard_iface, BATADV_IF_CLEANUP_AUTO); - ret = batadv_hardif_enable_interface(hard_iface, buff); + ret = batadv_hardif_enable_interface(hard_iface, buff, NET_NAME_USER); unlock: rtnl_unlock();