Re: [GIT] Networking

From: Patrick McHardy
Date: Thu May 02 2013 - 04:37:11 EST


On Thu, May 02, 2013 at 04:16:25AM -0400, David Miller wrote:
> From: Patrick McHardy <kaber@xxxxxxxxx>
> Date: Thu, 2 May 2013 09:03:37 +0200
>
> > I'll also have a look at this.
>
> By the mere existence of /sys/devices/${DEV_PATH}/net/${netdev_name}/flags
> we have to preserve the bit layout.
>
> So Linus was right.
>
> So network manager is probably reading that flags sysfs file and
> interpreting it.

Right, that seems plausible.

> I'll fix the layout to how it was before.

I also found one spot in net/core/dev.c which was using an int for the
features. Patch attached.


commit d0ed96507b21da2668766207f68518bef3193111
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Thu May 2 10:35:02 2013 +0200

net: use netdev_features_t in skb_needs_linearize()

Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>

diff --git a/net/core/dev.c b/net/core/dev.c
index 4040673..40b1fad 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2456,7 +2456,7 @@ EXPORT_SYMBOL(netif_skb_features);
* 2. skb is fragmented and the device does not support SG.
*/
static inline int skb_needs_linearize(struct sk_buff *skb,
- int features)
+ netdev_features_t features)
{
return skb_is_nonlinear(skb) &&
((skb_has_frag_list(skb) &&