Re: [GIT] Networking

Patrick McHardy
2013-05-02T08:37:06Z

[-- Attachment #1: Type: text/plain, Size: 589 bytes --]

On Thu, May 02, 2013 at 04:16:25AM -0400, David Miller wrote:
> From: Patrick McHardy <kaber@trash.net>
> 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.

[-- Attachment #2: 01.patch --]
[-- Type: text/plain, Size: 677 bytes --]

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

net: use netdev_features_t in skb_needs_linearize()

Signed-off-by: Patrick McHardy <kaber@trash.net>

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) &&