* [RFC bluetooth-next] cfg802154: pass name_assign_type to rdev_add_virtual_intf()
@ 2015-04-22 8:37 Varka Bhadram
2015-04-28 3:32 ` Varka Bhadram
2015-04-28 7:37 ` Alexander Aring
0 siblings, 2 replies; 6+ messages in thread
From: Varka Bhadram @ 2015-04-22 8:37 UTC (permalink / raw)
To: linux-wpan; +Cc: alex.aring, Varka Bhadram
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 <varkab@cdac.in>
---
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);
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);
}
diff --git a/net/ieee802154/rdev-ops.h b/net/ieee802154/rdev-ops.h
index 7c46732..ced5ac3 100644
--- a/net/ieee802154/rdev-ops.h
+++ b/net/ieee802154/rdev-ops.h
@@ -7,10 +7,12 @@
static inline struct net_device *
rdev_add_virtual_intf_deprecated(struct cfg802154_registered_device *rdev,
- const char *name, int type)
+ const char *name,
+ unsigned char name_assign_type,
+ int type)
{
return rdev->ops->add_virtual_intf_deprecated(&rdev->wpan_phy, name,
- type);
+ name_assign_type, type);
}
static inline void
@@ -22,9 +24,11 @@ rdev_del_virtual_intf_deprecated(struct cfg802154_registered_device *rdev,
static inline int
rdev_add_virtual_intf(struct cfg802154_registered_device *rdev, char *name,
+ unsigned char name_assign_type,
enum nl802154_iftype type, __le64 extended_addr)
{
- return rdev->ops->add_virtual_intf(&rdev->wpan_phy, name, type,
+ return rdev->ops->add_virtual_intf(&rdev->wpan_phy, name,
+ name_assign_type, type,
extended_addr);
}
diff --git a/net/mac802154/cfg.c b/net/mac802154/cfg.c
index 5d9f68c..41a167b 100644
--- a/net/mac802154/cfg.c
+++ b/net/mac802154/cfg.c
@@ -22,13 +22,14 @@
static struct net_device *
ieee802154_add_iface_deprecated(struct wpan_phy *wpan_phy,
- const char *name, int type)
+ const char *name,
+ unsigned char name_assign_type, int type)
{
struct ieee802154_local *local = wpan_phy_priv(wpan_phy);
struct net_device *dev;
rtnl_lock();
- dev = ieee802154_if_add(local, name, type,
+ dev = ieee802154_if_add(local, name, name_assign_type, type,
cpu_to_le64(0x0000000000000000ULL));
rtnl_unlock();
@@ -45,12 +46,14 @@ static void ieee802154_del_iface_deprecated(struct wpan_phy *wpan_phy,
static int
ieee802154_add_iface(struct wpan_phy *phy, const char *name,
+ unsigned char name_assign_type,
enum nl802154_iftype type, __le64 extended_addr)
{
struct ieee802154_local *local = wpan_phy_priv(phy);
struct net_device *err;
- err = ieee802154_if_add(local, name, type, extended_addr);
+ err = ieee802154_if_add(local, name, name_assign_type,
+ type, extended_addr);
return PTR_ERR_OR_ZERO(err);
}
diff --git a/net/mac802154/ieee802154_i.h b/net/mac802154/ieee802154_i.h
index bebd70f..35a5920 100644
--- a/net/mac802154/ieee802154_i.h
+++ b/net/mac802154/ieee802154_i.h
@@ -182,6 +182,7 @@ void ieee802154_iface_exit(void);
void ieee802154_if_remove(struct ieee802154_sub_if_data *sdata);
struct net_device *
ieee802154_if_add(struct ieee802154_local *local, const char *name,
+ unsigned char name_assign_type,
enum nl802154_iftype type, __le64 extended_addr);
void ieee802154_remove_interfaces(struct ieee802154_local *local);
diff --git a/net/mac802154/iface.c b/net/mac802154/iface.c
index 38b56f9..91b75ab 100644
--- a/net/mac802154/iface.c
+++ b/net/mac802154/iface.c
@@ -522,7 +522,8 @@ ieee802154_setup_sdata(struct ieee802154_sub_if_data *sdata,
struct net_device *
ieee802154_if_add(struct ieee802154_local *local, const char *name,
- enum nl802154_iftype type, __le64 extended_addr)
+ unsigned char name_assign_type, enum nl802154_iftype type,
+ __le64 extended_addr)
{
struct net_device *ndev = NULL;
struct ieee802154_sub_if_data *sdata = NULL;
@@ -531,7 +532,7 @@ ieee802154_if_add(struct ieee802154_local *local, const char *name,
ASSERT_RTNL();
ndev = alloc_netdev(sizeof(*sdata) + local->hw.vif_data_size, name,
- NET_NAME_UNKNOWN, ieee802154_if_setup);
+ name_assign_type, ieee802154_if_setup);
if (!ndev)
return ERR_PTR(-ENOMEM);
diff --git a/net/mac802154/main.c b/net/mac802154/main.c
index 8500378..68b9667 100644
--- a/net/mac802154/main.c
+++ b/net/mac802154/main.c
@@ -161,7 +161,8 @@ int ieee802154_register_hw(struct ieee802154_hw *hw)
rtnl_lock();
- dev = ieee802154_if_add(local, "wpan%d", NL802154_IFTYPE_NODE,
+ dev = ieee802154_if_add(local, "wpan%d", NET_NAME_ENUM,
+ NL802154_IFTYPE_NODE,
cpu_to_le64(0x0000000000000000ULL));
if (IS_ERR(dev)) {
rtnl_unlock();
--
1.7.9.5
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [RFC bluetooth-next] cfg802154: pass name_assign_type to rdev_add_virtual_intf()
2015-04-22 8:37 [RFC bluetooth-next] cfg802154: pass name_assign_type to rdev_add_virtual_intf() Varka Bhadram
@ 2015-04-28 3:32 ` Varka Bhadram
2015-04-28 7:37 ` Alexander Aring
1 sibling, 0 replies; 6+ messages in thread
From: Varka Bhadram @ 2015-04-28 3:32 UTC (permalink / raw)
To: linux-wpan; +Cc: alex.aring, Varka Bhadram
On 04/22/2015 02:07 PM, 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 <varkab@cdac.in>
> ---
> 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);
> 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);
> }
>
> diff --git a/net/ieee802154/rdev-ops.h b/net/ieee802154/rdev-ops.h
> index 7c46732..ced5ac3 100644
> --- a/net/ieee802154/rdev-ops.h
> +++ b/net/ieee802154/rdev-ops.h
> @@ -7,10 +7,12 @@
>
> static inline struct net_device *
> rdev_add_virtual_intf_deprecated(struct cfg802154_registered_device *rdev,
> - const char *name, int type)
> + const char *name,
> + unsigned char name_assign_type,
> + int type)
> {
> return rdev->ops->add_virtual_intf_deprecated(&rdev->wpan_phy, name,
> - type);
> + name_assign_type, type);
> }
>
> static inline void
> @@ -22,9 +24,11 @@ rdev_del_virtual_intf_deprecated(struct cfg802154_registered_device *rdev,
>
> static inline int
> rdev_add_virtual_intf(struct cfg802154_registered_device *rdev, char *name,
> + unsigned char name_assign_type,
> enum nl802154_iftype type, __le64 extended_addr)
> {
> - return rdev->ops->add_virtual_intf(&rdev->wpan_phy, name, type,
> + return rdev->ops->add_virtual_intf(&rdev->wpan_phy, name,
> + name_assign_type, type,
> extended_addr);
> }
>
> diff --git a/net/mac802154/cfg.c b/net/mac802154/cfg.c
> index 5d9f68c..41a167b 100644
> --- a/net/mac802154/cfg.c
> +++ b/net/mac802154/cfg.c
> @@ -22,13 +22,14 @@
>
> static struct net_device *
> ieee802154_add_iface_deprecated(struct wpan_phy *wpan_phy,
> - const char *name, int type)
> + const char *name,
> + unsigned char name_assign_type, int type)
> {
> struct ieee802154_local *local = wpan_phy_priv(wpan_phy);
> struct net_device *dev;
>
> rtnl_lock();
> - dev = ieee802154_if_add(local, name, type,
> + dev = ieee802154_if_add(local, name, name_assign_type, type,
> cpu_to_le64(0x0000000000000000ULL));
> rtnl_unlock();
>
> @@ -45,12 +46,14 @@ static void ieee802154_del_iface_deprecated(struct wpan_phy *wpan_phy,
>
> static int
> ieee802154_add_iface(struct wpan_phy *phy, const char *name,
> + unsigned char name_assign_type,
> enum nl802154_iftype type, __le64 extended_addr)
> {
> struct ieee802154_local *local = wpan_phy_priv(phy);
> struct net_device *err;
>
> - err = ieee802154_if_add(local, name, type, extended_addr);
> + err = ieee802154_if_add(local, name, name_assign_type,
> + type, extended_addr);
> return PTR_ERR_OR_ZERO(err);
> }
>
> diff --git a/net/mac802154/ieee802154_i.h b/net/mac802154/ieee802154_i.h
> index bebd70f..35a5920 100644
> --- a/net/mac802154/ieee802154_i.h
> +++ b/net/mac802154/ieee802154_i.h
> @@ -182,6 +182,7 @@ void ieee802154_iface_exit(void);
> void ieee802154_if_remove(struct ieee802154_sub_if_data *sdata);
> struct net_device *
> ieee802154_if_add(struct ieee802154_local *local, const char *name,
> + unsigned char name_assign_type,
> enum nl802154_iftype type, __le64 extended_addr);
> void ieee802154_remove_interfaces(struct ieee802154_local *local);
>
> diff --git a/net/mac802154/iface.c b/net/mac802154/iface.c
> index 38b56f9..91b75ab 100644
> --- a/net/mac802154/iface.c
> +++ b/net/mac802154/iface.c
> @@ -522,7 +522,8 @@ ieee802154_setup_sdata(struct ieee802154_sub_if_data *sdata,
>
> struct net_device *
> ieee802154_if_add(struct ieee802154_local *local, const char *name,
> - enum nl802154_iftype type, __le64 extended_addr)
> + unsigned char name_assign_type, enum nl802154_iftype type,
> + __le64 extended_addr)
> {
> struct net_device *ndev = NULL;
> struct ieee802154_sub_if_data *sdata = NULL;
> @@ -531,7 +532,7 @@ ieee802154_if_add(struct ieee802154_local *local, const char *name,
> ASSERT_RTNL();
>
> ndev = alloc_netdev(sizeof(*sdata) + local->hw.vif_data_size, name,
> - NET_NAME_UNKNOWN, ieee802154_if_setup);
> + name_assign_type, ieee802154_if_setup);
> if (!ndev)
> return ERR_PTR(-ENOMEM);
>
> diff --git a/net/mac802154/main.c b/net/mac802154/main.c
> index 8500378..68b9667 100644
> --- a/net/mac802154/main.c
> +++ b/net/mac802154/main.c
> @@ -161,7 +161,8 @@ int ieee802154_register_hw(struct ieee802154_hw *hw)
>
> rtnl_lock();
>
> - dev = ieee802154_if_add(local, "wpan%d", NL802154_IFTYPE_NODE,
> + dev = ieee802154_if_add(local, "wpan%d", NET_NAME_ENUM,
> + NL802154_IFTYPE_NODE,
> cpu_to_le64(0x0000000000000000ULL));
> if (IS_ERR(dev)) {
> rtnl_unlock();
Ping ..?
--
Varka Bhadram
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RFC bluetooth-next] cfg802154: pass name_assign_type to rdev_add_virtual_intf()
2015-04-22 8:37 [RFC bluetooth-next] cfg802154: pass name_assign_type to rdev_add_virtual_intf() Varka Bhadram
2015-04-28 3:32 ` Varka Bhadram
@ 2015-04-28 7:37 ` Alexander Aring
2015-04-28 8:19 ` Varka Bhadram
1 sibling, 1 reply; 6+ messages in thread
From: Alexander Aring @ 2015-04-28 7:37 UTC (permalink / raw)
To: Varka Bhadram; +Cc: linux-wpan, 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 <varkab@cdac.in>
> ---
> 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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RFC bluetooth-next] cfg802154: pass name_assign_type to rdev_add_virtual_intf()
2015-04-28 7:37 ` Alexander Aring
@ 2015-04-28 8:19 ` Varka Bhadram
2015-04-28 8:29 ` Alexander Aring
0 siblings, 1 reply; 6+ messages in thread
From: Varka Bhadram @ 2015-04-28 8:19 UTC (permalink / raw)
To: Alexander Aring; +Cc: linux-wpan, Varka Bhadram
Hi Alex,
On 04/28/2015 01:07 PM, Alexander Aring wrote:
> 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 <varkab@cdac.in>
>> ---
>> 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.
What about the following change..?
diff --git a/net/ieee802154/nl-phy.c b/net/ieee802154/nl-phy.c
index ac3462a..248490c 100644
--- a/net/ieee802154/nl-phy.c
+++ b/net/ieee802154/nl-phy.c
@@ -175,6 +175,7 @@ int ieee802154_add_iface(struct sk_buff *skb, struct genl_info *info)
int rc = -ENOBUFS;
struct net_device *dev;
int type = __IEEE802154_DEV_INVALID;
+ unsigned char name_assign_type;
pr_debug("%s\n", __func__);
@@ -190,8 +191,10 @@ int ieee802154_add_iface(struct sk_buff *skb, struct genl_info *info)
if (devname[nla_len(info->attrs[IEEE802154_ATTR_DEV_NAME]) - 1]
!= '\0')
return -EINVAL; /* phy name should be null-terminated */
+ name_assign_type = NET_NAME_USER;
} else {
devname = "wpan%d";
+ name_assign_type = NET_NAME_ENUM;
}
if (strlen(devname) >= IFNAMSIZ)
@@ -221,7 +224,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,
+ name_assign_type,
type);
if (IS_ERR(dev)) {
rc = PTR_ERR(dev);
--
1.7.9.5
>
>> 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.
>
Ok will do.
>
> Otherwise this patch looks good. Thanks.
>
> - Alex
>
> [0] http://lxr.free-electrons.com/source/net/ieee802154/nl-phy.c#L188
>
Thanks.
--
Varka Bhadram
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [RFC bluetooth-next] cfg802154: pass name_assign_type to rdev_add_virtual_intf()
2015-04-28 8:19 ` Varka Bhadram
@ 2015-04-28 8:29 ` Alexander Aring
2015-04-28 8:30 ` Varka Bhadram
0 siblings, 1 reply; 6+ messages in thread
From: Alexander Aring @ 2015-04-28 8:29 UTC (permalink / raw)
To: Varka Bhadram; +Cc: linux-wpan, Varka Bhadram
On Tue, Apr 28, 2015 at 01:49:46PM +0530, Varka Bhadram wrote:
> What about the following change..?
>
> diff --git a/net/ieee802154/nl-phy.c b/net/ieee802154/nl-phy.c
> index ac3462a..248490c 100644
> --- a/net/ieee802154/nl-phy.c
> +++ b/net/ieee802154/nl-phy.c
> @@ -175,6 +175,7 @@ int ieee802154_add_iface(struct sk_buff *skb, struct genl_info *info)
> int rc = -ENOBUFS;
> struct net_device *dev;
> int type = __IEEE802154_DEV_INVALID;
> + unsigned char name_assign_type;
>
> pr_debug("%s\n", __func__);
>
> @@ -190,8 +191,10 @@ int ieee802154_add_iface(struct sk_buff *skb, struct genl_info *info)
> if (devname[nla_len(info->attrs[IEEE802154_ATTR_DEV_NAME]) - 1]
> != '\0')
> return -EINVAL; /* phy name should be null-terminated */
> + name_assign_type = NET_NAME_USER;
> } else {
> devname = "wpan%d";
> + name_assign_type = NET_NAME_ENUM;
> }
>
> if (strlen(devname) >= IFNAMSIZ)
> @@ -221,7 +224,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,
> + name_assign_type,
> type);
> if (IS_ERR(dev)) {
> rc = PTR_ERR(dev);
yes that is what I meant.
- Alex
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RFC bluetooth-next] cfg802154: pass name_assign_type to rdev_add_virtual_intf()
2015-04-28 8:29 ` Alexander Aring
@ 2015-04-28 8:30 ` Varka Bhadram
0 siblings, 0 replies; 6+ messages in thread
From: Varka Bhadram @ 2015-04-28 8:30 UTC (permalink / raw)
To: Alexander Aring; +Cc: linux-wpan, Varka Bhadram
On 04/28/2015 01:59 PM, Alexander Aring wrote:
> On Tue, Apr 28, 2015 at 01:49:46PM +0530, Varka Bhadram wrote:
>> What about the following change..?
>>
>> diff --git a/net/ieee802154/nl-phy.c b/net/ieee802154/nl-phy.c
>> index ac3462a..248490c 100644
>> --- a/net/ieee802154/nl-phy.c
>> +++ b/net/ieee802154/nl-phy.c
>> @@ -175,6 +175,7 @@ int ieee802154_add_iface(struct sk_buff *skb, struct genl_info *info)
>> int rc = -ENOBUFS;
>> struct net_device *dev;
>> int type = __IEEE802154_DEV_INVALID;
>> + unsigned char name_assign_type;
>>
>> pr_debug("%s\n", __func__);
>>
>> @@ -190,8 +191,10 @@ int ieee802154_add_iface(struct sk_buff *skb, struct genl_info *info)
>> if (devname[nla_len(info->attrs[IEEE802154_ATTR_DEV_NAME]) - 1]
>> != '\0')
>> return -EINVAL; /* phy name should be null-terminated */
>> + name_assign_type = NET_NAME_USER;
>> } else {
>> devname = "wpan%d";
>> + name_assign_type = NET_NAME_ENUM;
>> }
>>
>> if (strlen(devname) >= IFNAMSIZ)
>> @@ -221,7 +224,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,
>> + name_assign_type,
>> type);
>> if (IS_ERR(dev)) {
>> rc = PTR_ERR(dev);
> yes that is what I meant.
>
> - Alex
Thanks.. I will send the updated patch.
--
Varka Bhadram
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-04-28 8:30 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-22 8:37 [RFC bluetooth-next] cfg802154: pass name_assign_type to rdev_add_virtual_intf() Varka Bhadram
2015-04-28 3:32 ` Varka Bhadram
2015-04-28 7:37 ` Alexander Aring
2015-04-28 8:19 ` Varka Bhadram
2015-04-28 8:29 ` Alexander Aring
2015-04-28 8:30 ` Varka Bhadram
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.