[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1925922763.4087858.1367624135286.JavaMail.root@redhat.com>
Date: Fri, 3 May 2013 19:35:35 -0400 (EDT)
From: Pavel Simerda <psimerda@...hat.com>
To: Michał Mirosław <mirqus@...il.com>
Cc: Bjørn Mork <bjorn@...k.no>,
Ben Hutchings <bhutchings@...arflare.com>,
David Miller <davem@...emloft.net>, kaber@...sh.net,
torvalds@...ux-foundation.org, hayeswang@...ltek.com,
akpm@...ux-foundation.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, Dan Williams <dcbw@...hat.com>,
Jiri Pirko <jpirko@...hat.com>
Subject: Re: [GIT] Networking
----- Original Message -----
> From: "Michał Mirosław" <mirqus@...il.com>
> To: "Bjørn Mork" <bjorn@...k.no>, "Pavel Šimerda" <psimerda@...hat.com>
> Cc: "Ben Hutchings" <bhutchings@...arflare.com>, "David Miller" <davem@...emloft.net>, kaber@...sh.net,
> torvalds@...ux-foundation.org, hayeswang@...ltek.com, akpm@...ux-foundation.org, netdev@...r.kernel.org,
> linux-kernel@...r.kernel.org
> Sent: Thursday, May 2, 2013 6:22:47 PM
> Subject: Re: [GIT] Networking
>
> 2013/5/2 Bjørn Mork <bjorn@...k.no>:
> > Ben Hutchings <bhutchings@...arflare.com> writes:
> >> On Thu, 2013-05-02 at 05:17 -0400, David Miller wrote:
> >>> From: Bjørn Mork <bjorn@...k.no>
> >>> Date: Thu, 02 May 2013 11:06:42 +0200
> >>>
> >>> > Adding the new netdev features will make it go from 1 to 2:
> >>>
> >>> We already had more than 31 feature bits before Patrick's
> >>> changes, and I'm pretty sure this was the case when we added
> >>> that ethtool API.
> >>
> >> It wasn't, but this should be OK. Userland is supposed to query the
> >> number of features using ETHTOOL_GSSET_INFO and then work out the number
> >> of words/blocks using FEATURE_BITS_TO_BLOCKS().
> >
> >
> > Looking at
> > http://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/src/platform/nm-linux-platform.c#n1025
> > there seems to be a couple of bugs in this area. This is certainly
> > abusing the exported API, but it does mean that NM breaks if you ever
> > move NETIF_F_VLAN_CHALLENGED (like the 802.1ad patch did):
> >
> > ----
> > #define NETIF_F_VLAN_CHALLENGED (1 << 10)
> >
> > static gboolean
> > link_supports_vlans (NMPlatform *platform, int ifindex)
> > {
> > auto_nl_object struct rtnl_link *rtnllink = link_get (platform,
> > ifindex);
> > const char *name = nm_platform_link_get_name (ifindex);
> > struct {
> > struct ethtool_gfeatures features;
> > struct ethtool_get_features_block features_block;
> > } edata = { .features = { .cmd = ETHTOOL_GFEATURES, .size = 1 } };
> >
> > /* Only ARPHRD_ETHER links can possibly support VLANs. */
> > if (!rtnllink || rtnl_link_get_arptype (rtnllink) != ARPHRD_ETHER)
> > return FALSE;
> >
> > if (!name || !ethtool_get (name, &edata))
> > return FALSE;
> >
> > return !(edata.features.features[0].active &
> > NETIF_F_VLAN_CHALLENGED);
> > }
> > ----
> >
> >
> > Not that I see how this particular bug matters unless you need VLAN
> > support in NM. But there could be similar issues around. I guess
> > avoiding unnecessary renumbering of the NETIF_F bits can save us some
> > trouble. Although you can certainly argue that those bits never were
> > intended to be part of the API, and that using them like this is a user
> > application bug.
>
> This is certainly a bug in NM, and a fresh one: commit
> b636ea86b1c0a28b77eda311c84d3b2417cad22e from 2013-04-10 14:40:58
> (GMT). Userspace is expected to use ETHTOOL_GSTRINGS for
> ETH_SS_FEATURES and find a corresponding bit position by feature name
> ("vlan-challenged" in this case).
>
> Cc: commit's author.
Recorded the bug with NetworkManager bugzilla blocking the upcoming release:
https://bugzilla.gnome.org/show_bug.cgi?id=699649
The code is experimental and is not used by NetworkManager even in the 'master' branch except by nm-platform's automated tests. Once we fix it, you don't need to worry about it.
Thanks!
Pavel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists