From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wg0-f45.google.com ([74.125.82.45]:34433 "EHLO mail-wg0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753309AbbD1HhM (ORCPT ); Tue, 28 Apr 2015 03:37:12 -0400 Received: by wgso17 with SMTP id o17so141356765wgs.1 for ; Tue, 28 Apr 2015 00:37:11 -0700 (PDT) Date: Tue, 28 Apr 2015 09:37:05 +0200 From: Alexander Aring Subject: Re: [RFC bluetooth-next] cfg802154: pass name_assign_type to rdev_add_virtual_intf() Message-ID: <20150428073702.GA700@omega> References: <1429691836-29316-1-git-send-email-varkab@cdac.in> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <1429691836-29316-1-git-send-email-varkab@cdac.in> Sender: linux-wpan-owner@vger.kernel.org List-ID: To: Varka Bhadram Cc: linux-wpan@vger.kernel.org, Varka Bhadram Hi Varka, On Wed, Apr 22, 2015 at 02:07:16PM +0530, Varka Bhadram wrote: > This code is based on commit 6bab2e19c5ffd > ("cfg80211: pass name_assign_type to rdev_add_virtual_intf()") > > This will expose in sysfs whether the ifname of a IEEE-802.15.4 > device is set by userspace or generated by the kernel. > We are using two types of name_assign_types > o NET_NAME_ENUM: Default interface name provided by kernel > o NET_NAME_USER: Interface name provided by user. > > Signed-off-by: Varka Bhadram > --- > include/net/cfg802154.h | 2 ++ > net/ieee802154/nl-phy.c | 1 + > net/ieee802154/nl802154.c | 1 + > net/ieee802154/rdev-ops.h | 10 +++++++--- > net/mac802154/cfg.c | 9 ++++++--- > net/mac802154/ieee802154_i.h | 1 + > net/mac802154/iface.c | 5 +++-- > net/mac802154/main.c | 3 ++- > 8 files changed, 23 insertions(+), 9 deletions(-) > > diff --git a/include/net/cfg802154.h b/include/net/cfg802154.h > index eeda676..6ea16c8 100644 > --- a/include/net/cfg802154.h > +++ b/include/net/cfg802154.h > @@ -30,11 +30,13 @@ struct wpan_phy_cca; > struct cfg802154_ops { > struct net_device * (*add_virtual_intf_deprecated)(struct wpan_phy *wpan_phy, > const char *name, > + unsigned char name_assign_type, > int type); > void (*del_virtual_intf_deprecated)(struct wpan_phy *wpan_phy, > struct net_device *dev); > int (*add_virtual_intf)(struct wpan_phy *wpan_phy, > const char *name, > + unsigned char name_assign_type, > enum nl802154_iftype type, > __le64 extended_addr); > int (*del_virtual_intf)(struct wpan_phy *wpan_phy, > diff --git a/net/ieee802154/nl-phy.c b/net/ieee802154/nl-phy.c > index 1b9d25f6..ac3462a 100644 > --- a/net/ieee802154/nl-phy.c > +++ b/net/ieee802154/nl-phy.c > @@ -221,6 +221,7 @@ int ieee802154_add_iface(struct sk_buff *skb, struct genl_info *info) > } > > dev = rdev_add_virtual_intf_deprecated(wpan_phy_to_rdev(phy), devname, > + NET_NAME_ENUM, > type); This isn't always given by kernel. See [0]. If info->attrs[IEEE802154_ATTR_DEV_TYPE] is given the name came from user. You need to put some variable on stack and then decide this in the if else branch. > if (IS_ERR(dev)) { > rc = PTR_ERR(dev); > diff --git a/net/ieee802154/nl802154.c b/net/ieee802154/nl802154.c > index a4daf91..a7eb16d 100644 > --- a/net/ieee802154/nl802154.c > +++ b/net/ieee802154/nl802154.c > @@ -589,6 +589,7 @@ static int nl802154_new_interface(struct sk_buff *skb, struct genl_info *info) > > return rdev_add_virtual_intf(rdev, > nla_data(info->attrs[NL802154_ATTR_IFNAME]), > + NET_NAME_USER, > type, extended_addr); put what you can of these parameters in the previous line. I think "type" fits sure in this line. Otherwise this patch looks good. Thanks. - Alex [0] http://lxr.free-electrons.com/source/net/ieee802154/nl-phy.c#L188