diff mbox

mac80211: Supporting of IFLA_INFO_KIND rtnl attribute

Message ID 1417910690-2021-1-git-send-email-vadim4j@gmail.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Vadim Kochan Dec. 7, 2014, 12:04 a.m. UTC
It allows to identify the wireless kind of device for
the user application, e.g.:

    # ip -d link

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 promiscuity 0
    2: enp0s25: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
        link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff promiscuity 0
    3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
        link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff promiscuity 0
        wireless
    4: wlp0s26u1u2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
        link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff promiscuity 0 
        wireless 

Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
---
 net/mac80211/iface.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Marcel Holtmann Dec. 7, 2014, 9:06 a.m. UTC | #1
Hi Vadim,

> It allows to identify the wireless kind of device for
> the user application, e.g.:
> 
>    # ip -d link
> 
>    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
>        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 promiscuity 0
>    2: enp0s25: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
>        link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff promiscuity 0
>    3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
>        link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff promiscuity 0
>        wireless
>    4: wlp0s26u1u2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
>        link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff promiscuity 0 
>        wireless 
> 
> Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
> ---
> net/mac80211/iface.c | 7 +++++++
> 1 file changed, 7 insertions(+)
> 
> diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
> index 653f5eb..b993c7d 100644
> --- a/net/mac80211/iface.c
> +++ b/net/mac80211/iface.c
> @@ -18,6 +18,7 @@
> #include <linux/rtnetlink.h>
> #include <net/mac80211.h>
> #include <net/ieee80211_radiotap.h>
> +#include <net/rtnetlink.h>
> #include "ieee80211_i.h"
> #include "sta_info.h"
> #include "debugfs_netdev.h"
> @@ -1624,6 +1625,10 @@ static void ieee80211_assign_perm_addr(struct ieee80211_local *local,
> 	mutex_unlock(&local->iflist_mtx);
> }
> 
> +static struct rtnl_link_ops wireless_link_ops __read_mostly = {
> +	.kind = "wireless",
> +};
> +

I would prefer if we use "wlan" here. Same as what we use for DEVTYPE and RFKILL switches. Being consistent across the kernel helps a lot. Since other subsystems including Bluetooth might want to identify their netdev as well and "wireless" would be just too generic.

Regards

Marcel

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Vadim Kochan Dec. 7, 2014, 9:57 a.m. UTC | #2
On Sun, Dec 07, 2014 at 10:06:52AM +0100, Marcel Holtmann wrote:
> Hi Vadim,
> 
> > It allows to identify the wireless kind of device for
> > the user application, e.g.:
> > 
> >    # ip -d link
> > 
> >    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
> >        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 promiscuity 0
> >    2: enp0s25: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
> >        link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff promiscuity 0
> >    3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
> >        link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff promiscuity 0
> >        wireless
> >    4: wlp0s26u1u2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
> >        link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff promiscuity 0 
> >        wireless 
> > 
> > Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
> > ---
> > net/mac80211/iface.c | 7 +++++++
> > 1 file changed, 7 insertions(+)
> > 
> > diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
> > index 653f5eb..b993c7d 100644
> > --- a/net/mac80211/iface.c
> > +++ b/net/mac80211/iface.c
> > @@ -18,6 +18,7 @@
> > #include <linux/rtnetlink.h>
> > #include <net/mac80211.h>
> > #include <net/ieee80211_radiotap.h>
> > +#include <net/rtnetlink.h>
> > #include "ieee80211_i.h"
> > #include "sta_info.h"
> > #include "debugfs_netdev.h"
> > @@ -1624,6 +1625,10 @@ static void ieee80211_assign_perm_addr(struct ieee80211_local *local,
> > 	mutex_unlock(&local->iflist_mtx);
> > }
> > 
> > +static struct rtnl_link_ops wireless_link_ops __read_mostly = {
> > +	.kind = "wireless",
> > +};
> > +
> 
> I would prefer if we use "wlan" here. Same as what we use for DEVTYPE and RFKILL switches. Being consistent across the kernel helps a lot. Since other subsystems including Bluetooth might want to identify their netdev as well and "wireless" would be just too generic.
> 
> Regards
> 
> Marcel
> 

Hi Marcel,

It make sense.

Thanks,
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index 653f5eb..b993c7d 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -18,6 +18,7 @@ 
 #include <linux/rtnetlink.h>
 #include <net/mac80211.h>
 #include <net/ieee80211_radiotap.h>
+#include <net/rtnetlink.h>
 #include "ieee80211_i.h"
 #include "sta_info.h"
 #include "debugfs_netdev.h"
@@ -1624,6 +1625,10 @@  static void ieee80211_assign_perm_addr(struct ieee80211_local *local,
 	mutex_unlock(&local->iflist_mtx);
 }
 
+static struct rtnl_link_ops wireless_link_ops __read_mostly = {
+	.kind = "wireless",
+};
+
 int ieee80211_if_add(struct ieee80211_local *local, const char *name,
 		     struct wireless_dev **new_wdev, enum nl80211_iftype type,
 		     struct vif_params *params)
@@ -1684,6 +1689,8 @@  int ieee80211_if_add(struct ieee80211_local *local, const char *name,
 		memcpy(sdata->vif.addr, ndev->dev_addr, ETH_ALEN);
 		memcpy(sdata->name, ndev->name, IFNAMSIZ);
 
+		ndev->rtnl_link_ops = &wireless_link_ops;
+
 		sdata->dev = ndev;
 	}