Netdev List
 help / color / mirror / Atom feed
* [GIT]: Networking
From: David Miller @ 2011-08-24  4:46 UTC (permalink / raw)
  To: torvalds; +Cc: akpm, netdev, linux-kernel


As is usually the case at this point, we're fixing driver problems
and small minor regressions elsewhere:

1) Several rt2x00 bug fixes from Stanislaw Gruszka:
   a) Cure oops in rt2800usb_write_tx_desc().
   b) Fix flag check order in rt2800usb_work_txdone otherwise we might
      skip ready entries.
   c) Fix oops in rt2800usb_get_txwi.

2) usbnet cdc_nacm driver DMAs stack variables, fix from Josh Boyer.

3) On gianfar, even when VLAN HW offload is disabled, descriptors
   still set VLAN bit, make sure we ignore it in that situation and
   don't accidently think the card offloaded VLAN header stripping.
   Fix from Jiri Pirko.

4) IPV6 SIT tunnels don't propagate v6 transport class to the ipv4
   type of service when they should, fix from Lionel Elie Mamane.

5) Port mirror/redirect doesn't propagate xmit codes to caller, fix
   from Jamal Hadi Salim.

6) Fix changing bonding mode from backup to round-robin, from Weiping Pan.

7) Fix erroneous non-tagged packet filtering in via-velocity, from Jiri
   Pirko.

8) Like we did for ipv4's IP_PKTOPTIONS, we have to make ipv6's
   IPV6_2292PKTOPTIONS handle compat mode properly too.  From Daniel Baluta.

9) Fix accidental reintroduce of skb->dev==NULL oopser in ATM's br2684.
   From Daniel Schwierzeck.

10) Fix device leak in bridging, from Eric Dumazet.

11) Memory leak fix in wl12xx wireless, from Julia Lawall.

12) FCOE memory leak for DDP packets in ixgbe from Alexander Duyck.

13) Fix half-duplex mode with some chips in e1000e, from Bruce Allan.

14) 82579 e1000e chip can drop packets at 100Mbps, workaround by increasing
    PLL counter to trick the PHY, from Bruce Allan.

15) Fix e1000e conflicts with Management Engine that can corrupt the
    TX and RX tail pointers.  Also from Bruce Allan.

16) Revert one iwlagn change, and part of another, to fix sysfs private
    handling and eliminating a bad pointer oops on unload, from
    Emmanuel Grumbach.

17) In vmxnet3 do not enable vlan filters in promisc mode, from Jesse Gross.

18) Fix double free in sja1000 CAN driver, from Julia Lawall.

19) Fix build due to missing include in sh_eth.c, from Nobuhiro Iwamatsu.

20) gfar_ethflow_to_filter_table() uses more than 2K of stack space, fix
    from Wang Shaoyan.

21) Hopefully fix Ingo's forcedeth vlan regression, from Jiri Pirko.

22) vlan_untag() needs to reset SKB header pointers, from Jiri Pirko.

Please pull, thanks a lot!

The following changes since commit 14c62e78dc1379185515be41903c4a667efc6d54:

  Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip (2011-08-23 18:09:08 -0700)

are available in the git repository at:

  master.kernel.org:/pub/scm/linux/kernel/git/davem/net.git master

Alexander Duyck (1):
      ixgbe: Fix FCOE memory leak for DDP packets

Bruce Allan (3):
      e1000e: Spurious interrupts & dropped packets with 82577/8/9 in half-duplex
      e1000e: workaround for packet drop on 82579 at 100Mbps
      e1000e: workaround invalid Tx/Rx tail descriptor register write

Daniel Baluta (1):
      ipv6: Fix ipv6_getsockopt for IPV6_2292PKTOPTIONS

Daniel Schwierzeck (1):
      atm: br2684: Fix oops due to skb->dev being NULL

David S. Miller (2):
      Merge branch 'master' of master.kernel.org:/.../jkirsher/net
      Merge branch 'for-davem' of git://git.kernel.org/.../linville/wireless

Emmanuel Grumbach (2):
      Revert "iwlagn: sysfs couldn't find the priv pointer"
      iwlagn: sysfs couldn't find the priv pointer

Eric Dumazet (1):
      bridge: fix a possible net_device leak

Geoffrey Thomas (1):
      net: Documentation: RFC 2553bis is now RFC 3493

Jamal Hadi Salim (1):
      net_sched: fix port mirror/redirect stats reporting

Jesse Gross (1):
      vmxnet3: Don't enable vlan filters in promiscuous mode.

Jiri Pirko (4):
      gianfar: prevent buggy hw rx vlan tagging
      via-velocity: remove non-tagged packet filtering
      forcedeth: call vlan_mode only if hw supports vlans
      vlan: reset headers on accel emulation path

John W. Linville (1):
      Merge branch 'master' of git://git.kernel.org/.../linville/wireless into for-davem

Josh Boyer (1):
      usbnet/cdc_ncm: Don't use stack variables for DMA

Julia Lawall (2):
      drivers/net/wireless/wl12xx: add missing kfree
      drivers/net/can/sja1000/plx_pci.c: eliminate double free

Lionel Elie Mamane (1):
      sit tunnels: propagate IPv6 transport class to IPv4 Type of Service

Nobuhiro Iwamatsu (1):
      net: sh_eth: Fix build by forgot including linux/interrupt.h

Peter Pan(潘卫平) (1):
      bonding:reset backup and inactive flag of slave

Stanislaw Gruszka (3):
      rt2x00: fix crash in rt2800usb_write_tx_desc
      rt2x00: fix order of entry flags modification
      rt2x00: fix crash in rt2800usb_get_txwi

Wang Shaoyan (1):
      gianfar: reduce stack usage in gianfar_ethtool.c

Willem de Bruijn (3):
      net: add missing entries to Documentation/networking/00-INDEX
      net: minor update to Documentation/networking/scaling.txt
      net: netdev-features.txt update to Documentation/networking/00-INDEX

 Documentation/networking/00-INDEX       |  116 +++++++++++++++++++++++++++++++
 Documentation/networking/ip-sysctl.txt  |    2 +-
 Documentation/networking/scaling.txt    |   23 ++++--
 drivers/net/bonding/bond_main.c         |   18 +++++
 drivers/net/can/sja1000/plx_pci.c       |    4 +-
 drivers/net/e1000e/e1000.h              |    4 +
 drivers/net/e1000e/ich8lan.c            |   65 ++++++++++++++----
 drivers/net/e1000e/netdev.c             |   80 ++++++++++++++++++++-
 drivers/net/forcedeth.c                 |    3 +-
 drivers/net/gianfar.c                   |    9 ++-
 drivers/net/gianfar_ethtool.c           |   26 ++++++--
 drivers/net/ixgbe/ixgbe_main.c          |    4 +-
 drivers/net/sh_eth.c                    |    1 +
 drivers/net/usb/cdc_ncm.c               |   47 ++++++++++---
 drivers/net/via-velocity.c              |    4 -
 drivers/net/vmxnet3/vmxnet3_drv.c       |   34 +++++----
 drivers/net/wireless/iwlwifi/iwl-pci.c  |   25 +++----
 drivers/net/wireless/rt2x00/rt2800usb.c |   20 ++++--
 drivers/net/wireless/rt2x00/rt2x00usb.c |   17 ++---
 drivers/net/wireless/wl12xx/acx.c       |    6 +--
 drivers/net/wireless/wl12xx/testmode.c  |    5 +-
 net/8021q/vlan_core.c                   |    2 +
 net/atm/br2684.c                        |    7 +-
 net/bridge/br_if.c                      |    6 ++-
 net/ipv6/ipv6_sockglue.c                |    9 ++-
 net/ipv6/sit.c                          |    3 +
 net/sched/act_mirred.c                  |    3 +-
 27 files changed, 433 insertions(+), 110 deletions(-)

^ permalink raw reply

* [PATCH] bridge: Pseudo-header required for the checksum of ICMP6 header of MLD
From: Ang Way Chuang @ 2011-08-24  4:56 UTC (permalink / raw)
  To: netdev
  Cc: Eric Dumazet, Linus Lüssing, Herbert Xu, yoshfuji,
	Stephen Hemminger
In-Reply-To: <4E53E237.1060401@sfc.wide.ad.jp>

Checksum of ICMPv6 is not properly computed because the pseudo header is not used.
Thus, the MLD packet gets dropped by the bridge. This patch fixes the problem for my
testbed. This bug was made visible by commit ff9a57a62afbbe2d0f3a09af321f1fd7645f38a.

This patch has been tested on 3.0.3. Due to lack of understanding on the checksum
optimization and multicast snooping of the kernel stack, can someone please verify the
correctness of this patch?

Signed-off-by: Ang Way Chuang <wcang@sfc.wide.ad.jp>
---
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 2d85ca7..bbf361b 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -1528,9 +1528,12 @@ static int br_multicast_ipv6_rcv(struct net_bridge *br,
              break;
          /*FALLTHROUGH*/
      case CHECKSUM_NONE:
-        skb2->csum = 0;
-        if (skb_checksum_complete(skb2))
+        if (!skb_csum_unnecessary(skb2) && csum_ipv6_magic(&ip6h->saddr,
+ &ip6h->daddr, skb2->len, IPPROTO_ICMPV6,
+            skb_checksum(skb2, 0, skb2->len, 0))) {
+            err = -EINVAL;
              goto out;
+        }
      }

      err = 0;
---

^ permalink raw reply related

* Re: [PATCH] bridge: Pseudo-header required for the checksum of ICMP6 header of MLD
From: David Miller @ 2011-08-24  5:06 UTC (permalink / raw)
  To: wcang; +Cc: netdev, eric.dumazet, linus.luessing, herbert, yoshfuji,
	shemminger
In-Reply-To: <4E54846D.10906@sfc.wide.ad.jp>

From: Ang Way Chuang <wcang@sfc.wide.ad.jp>
Date: Wed, 24 Aug 2011 13:56:13 +0900

> @@ -1528,9 +1528,12 @@ static int br_multicast_ipv6_rcv(struct
> net_bridge *br,
>              break;
>          /*FALLTHROUGH*/
>      case CHECKSUM_NONE:
> -        skb2->csum = 0;
> -        if (skb_checksum_complete(skb2))
> + if (!skb_csum_unnecessary(skb2) && csum_ipv6_magic(&ip6h->saddr,
> + &ip6h->daddr, skb2->len, IPPROTO_ICMPV6,

Patch has been significantly corrupted by your email client, making
it unusable for us.

Please read linux/Documentation/email-clients.txt, email a test patch
to yourself, and only resend your patch to this list once you can
successfully apply such a patch yourself.

^ permalink raw reply

* [PATCH] bridge: fix a possible use after free
From: Eric Dumazet @ 2011-08-24  5:57 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Herbert Xu, Stephen Hemminger

br_multicast_ipv6_rcv() can call pskb_trim_rcsum() and therefore skb
head can be reallocated.

Cache icmp6_type field instead of dereferencing twice the struct
icmp6hdr pointer.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
---
 net/bridge/br_multicast.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 2d85ca7..5db95fd 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -1456,7 +1456,7 @@ static int br_multicast_ipv6_rcv(struct net_bridge *br,
 {
 	struct sk_buff *skb2;
 	const struct ipv6hdr *ip6h;
-	struct icmp6hdr *icmp6h;
+	u8 icmp6_type;
 	u8 nexthdr;
 	unsigned len;
 	int offset;
@@ -1502,9 +1502,9 @@ static int br_multicast_ipv6_rcv(struct net_bridge *br,
 	__skb_pull(skb2, offset);
 	skb_reset_transport_header(skb2);
 
-	icmp6h = icmp6_hdr(skb2);
+	icmp6_type = icmp6_hdr(skb2)->icmp6_type;
 
-	switch (icmp6h->icmp6_type) {
+	switch (icmp6_type) {
 	case ICMPV6_MGM_QUERY:
 	case ICMPV6_MGM_REPORT:
 	case ICMPV6_MGM_REDUCTION:
@@ -1537,7 +1537,7 @@ static int br_multicast_ipv6_rcv(struct net_bridge *br,
 
 	BR_INPUT_SKB_CB(skb)->igmp = 1;
 
-	switch (icmp6h->icmp6_type) {
+	switch (icmp6_type) {
 	case ICMPV6_MGM_REPORT:
 	    {
 		struct mld_msg *mld;

^ permalink raw reply related

* [PATCH] bridge: Pseudo-header required for the checksum of ICMP6 header of MLD
From: Ang Way Chuang @ 2011-08-24  6:10 UTC (permalink / raw)
  To: netdev; +Cc: Eric Dumazet

Just saw Eric's patch for icmp6_type. Suspect this patch may have issue for reference
of ip6h after pskb_trim_rcsum()?

Checksum of ICMPv6 is not properly computed because the pseudo header is not used.
Thus, the MLD packet gets dropped by the bridge. This patch fixes the problem for my
testbed. This bug was made visible by commit ff9a57a62afbbe2d0f3a09af321f1fd7645f38a.

This patch has been tested on 3.0.3. Due to lack of understanding on the checksum
optimization and multicast snooping of the kernel stack, can someone please verify the
correctness of this patch?

Signed-off-by: Ang Way Chuang <wcang@sfc.wide.ad.jp>
---
index 2d85ca7..bbf361b 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -1528,9 +1528,12 @@ static int br_multicast_ipv6_rcv(struct net_bridge *br,
 			break;
 		/*FALLTHROUGH*/
 	case CHECKSUM_NONE:
-		skb2->csum = 0;
-		if (skb_checksum_complete(skb2))
+		if (!skb_csum_unnecessary(skb2) && csum_ipv6_magic(&ip6h->saddr,
+			&ip6h->daddr, skb2->len, IPPROTO_ICMPV6,
+			skb_checksum(skb2, 0, skb2->len, 0))) {
+			err = -EINVAL;
 			goto out;
+		}
 	}
 
 	err = 0;
---

^ permalink raw reply related

* Re: slow performance on disk/network i/o full speed after drop_caches
From: Pekka Enberg @ 2011-08-24  6:20 UTC (permalink / raw)
  To: Stefan Priebe - Profihost AG
  Cc: LKML, linux-mm, Andrew Morton, Mel Gorman, Jens Axboe,
	Wu Fengguang, Linux Netdev List
In-Reply-To: <4E5494D4.1050605@profihost.ag>

On Wed, Aug 24, 2011 at 9:06 AM, Stefan Priebe - Profihost AG
<s.priebe@profihost.ag> wrote:
> i hope this is the correct list to write to if it would be nice to give me a
> hint where i can ask.
>
> Kernel: 2.6.38
>
> I'm seeing some strange problems on some of our servers after upgrading to
> 2.6.38.
>
> I'm copying a 1GB file via scp from Machine A to Machine B. When B is
> freshly booted the file transfer is done with about 80 to 85 Mb/s. I can
> repeat that various times to performance degrease.
>
> Then after some days copying is only done with about 900kb/s up to 3Mb/s
> going up and down while transfering the file.
>
> When i then do drop_caches it works again on 80Mb/s.
>
> sync && echo 3 >/proc/sys/vm/drop_caches && sleep 2 && echo 0
>>/proc/sys/vm/drop_caches
>
> Attached is also an output of meminfo before and after drop_caches.
>
> What's going on here? MemFree is pretty high.
>
> Please CC me i'm not on list.

Interesting. I can imagine one or more of the following to be
involved: networking, vmscan, block, and writeback. Lets CC all of
them!

> # before drop_caches
>
> # cat /proc/meminfo
> MemTotal:        8185544 kB
> MemFree:         6670292 kB
> Buffers:          105164 kB
> Cached:           166672 kB
> SwapCached:            0 kB
> Active:           728308 kB
> Inactive:         567428 kB
> Active(anon):     639204 kB
> Inactive(anon):   394932 kB
> Active(file):      89104 kB
> Inactive(file):   172496 kB
> Unevictable:        2976 kB
> Mlocked:            2992 kB
> SwapTotal:       1464316 kB
> SwapFree:        1464316 kB
> Dirty:                52 kB
> Writeback:             0 kB
> AnonPages:       1026920 kB
> Mapped:            54208 kB
> Shmem:              8380 kB
> Slab:              80724 kB
> SReclaimable:      22844 kB
> SUnreclaim:        57880 kB
> KernelStack:        2872 kB
> PageTables:        35448 kB
> NFS_Unstable:          0 kB
> Bounce:                0 kB
> WritebackTmp:          0 kB
> CommitLimit:     5557088 kB
> Committed_AS:    6187972 kB
> VmallocTotal:   34359738367 kB
> VmallocUsed:      292360 kB
> VmallocChunk:   34359425327 kB
> HardwareCorrupted:     0 kB
> DirectMap4k:        5632 kB
> DirectMap2M:     2082816 kB
> DirectMap1G:     6291456 kB
>
> # cat /proc/meminfo
> MemTotal:        8185544 kB
> MemFree:         6888060 kB
> Buffers:             372 kB
> Cached:            61492 kB
> SwapCached:            0 kB
> Active:           659156 kB
> Inactive:         426664 kB
> Active(anon):     638892 kB
> Inactive(anon):   395200 kB
> Active(file):      20264 kB
> Inactive(file):    31464 kB
> Unevictable:        2976 kB
> Mlocked:            2992 kB
> SwapTotal:       1464316 kB
> SwapFree:        1464316 kB
> Dirty:                 0 kB
> Writeback:             0 kB
> AnonPages:       1026952 kB
> Mapped:            54236 kB
> Shmem:              8316 kB
> Slab:              70616 kB
> SReclaimable:      12264 kB
> SUnreclaim:        58352 kB
> KernelStack:        2864 kB
> PageTables:        35448 kB
> NFS_Unstable:          0 kB
> Bounce:                0 kB
> WritebackTmp:          0 kB
> CommitLimit:     5557088 kB
> Committed_AS:    6187932 kB
> VmallocTotal:   34359738367 kB
> VmallocUsed:      292360 kB
> VmallocChunk:   34359425327 kB
> HardwareCorrupted:     0 kB
> DirectMap4k:        5632 kB
> DirectMap2M:     2082816 kB
> DirectMap1G:     6291456 kB
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply

* $1,000,000.00 Dollars
From: CSBR - Reservations Department @ 2011-08-24  6:37 UTC (permalink / raw)


One Million Dollars have been awarded to you
catholiccharityfunds@yahoo.com








































































































































































Bali, Mauritius and Goa, India are just three of the new destinations 

where you will find a Centara Resort in 2012

More choice in Thailand this winter, with new resorts opening in Krabi, 

Pattaya and Khoa lak.

Discover a brand new look to our website from 01 July 2011


Discover them all today at: www.centarahotelsresorts.com
==============================================
Centara Hotels & Resorts
999/99 Rama 1 Road, Pathumwan
Bangkok 10330, Thailand
 
Tel: +66 (0) 2 769 1234
Fax: +66 (0) 2 769 1235
Email: centara@chr.co.th
 
For Reservations:
Tel: +66 (0) 2 101 1234, Press 1
Fax: +66 (0) 2 101 1235
Email: reservations@chr.co.th 
==============================================
Disclaimer: This e-mail and any files transmitted with it are confidential
and are intended solely for the use of the individual or entity to whom 
they are addressed. Unauthorized use, disclosure, copying or alteration 
of this message is strictly forbidden. If you have received this e-mail in 
error, please notify the sender and delete the e-mail and any copies of 
it.Please note that CHR is able to, and reserves the right to, monitor
e-mail communications passing through its network. 
==============================================

^ permalink raw reply

* Re: IPv6 multicast snooping behaviour on 2.6.39-rc2 and later
From: Yan, Zheng  @ 2011-08-24  7:04 UTC (permalink / raw)
  To: Ang Way Chuang; +Cc: Eric Dumazet, netdev, Linus Lüssing, Herbert Xu
In-Reply-To: <4E53E237.1060401@sfc.wide.ad.jp>

On Wed, Aug 24, 2011 at 1:24 AM, Ang Way Chuang <wcang@sfc.wide.ad.jp> wrote:
> This is what I found so far from debugging.
>
> The packet is not forwarded due to the failed checksum at
> br_multicast.c:1533
>
>        case CHECKSUM_NONE:
>                skb2->csum = 0;
>                if (skb_checksum_complete(skb2))
>                        goto out;
>        }
>
> Contrary to description of commit ff9a57a6, when the patch of commit
> ff9a57a6 is applied,
> pskb_trim_rcsum is never called at all on my testbed. When commit ff9a57a6
> is reverted,
> pskb_trim_rcsum will be called. The difference is:
>
> with commit ff9a57a6,
>   pskb_trim_rcsum is never called, br_multicast_ipv6_rcv returns -EINVAL
> which causes
>   br_handle_frame_finish to drop the packet
>
> without commit ff9a57a6,
>   pskb_trim_rcsum is called overwriting err with 0. br_multicast_ipv6_rcv
> still fails on the
>   same line (skb_checksum_complete). But the difference is err is set to 0
> this time. Thereby,
>   allowing the packet to be forwarded.
>
> Anyway, I don't think the behaviour is correct with or without commit
> ff9a57a6
>
>

Looks like a checksum calculation bug. Please try below patch, Thanks.

---
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 2d85ca7..22d2d1a 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -1520,16 +1520,23 @@ static int br_multicast_ipv6_rcv(struct net_bridge *br,
 		err = pskb_trim_rcsum(skb2, len);
 		if (err)
 			goto out;
+		err = -EINVAL;
 	}

+	ip6h = ipv6_hdr(skb2);
+
 	switch (skb2->ip_summed) {
 	case CHECKSUM_COMPLETE:
-		if (!csum_fold(skb2->csum))
+		if (!csum_ipv6_magic(&ip6h->saddr, &ip6h->daddr, skb2->len,
+					IPPROTO_ICMPV6, skb2->csum))
 			break;
 		/*FALLTHROUGH*/
 	case CHECKSUM_NONE:
-		skb2->csum = 0;
-		if (skb_checksum_complete(skb2))
+		skb2->csum = ~csum_unfold(csum_ipv6_magic(&ip6h->saddr,
+							&ip6h->daddr,
+							skb2->len,
+							IPPROTO_ICMPV6, 0));
+		if (__skb_checksum_complete(skb2))
 			goto out;
 	}

---

^ permalink raw reply related

* Re: [PATCH] bridge: Pseudo-header required for the checksum of ICMP6 header of MLD
From: Eric Dumazet @ 2011-08-24  7:18 UTC (permalink / raw)
  To: Ang Way Chuang; +Cc: netdev
In-Reply-To: <4E5495EA.1080906@gmail.com>

Le mercredi 24 août 2011 à 15:10 +0900, Ang Way Chuang a écrit :
> Just saw Eric's patch for icmp6_type. Suspect this patch may have issue for reference
> of ip6h after pskb_trim_rcsum()?
> 

I dont think so, because ip6h is against skb header, not skb2 one.


> Checksum of ICMPv6 is not properly computed because the pseudo header is not used.
> Thus, the MLD packet gets dropped by the bridge. This patch fixes the problem for my
> testbed. This bug was made visible by commit ff9a57a62afbbe2d0f3a09af321f1fd7645f38a.
> 
> This patch has been tested on 3.0.3. Due to lack of understanding on the checksum
> optimization and multicast snooping of the kernel stack, can someone please verify the
> correctness of this patch?
> 
> Signed-off-by: Ang Way Chuang <wcang@sfc.wide.ad.jp>
> ---
> index 2d85ca7..bbf361b 100644
> --- a/net/bridge/br_multicast.c
> +++ b/net/bridge/br_multicast.c
> @@ -1528,9 +1528,12 @@ static int br_multicast_ipv6_rcv(struct net_bridge *br,
>  			break;
>  		/*FALLTHROUGH*/
>  	case CHECKSUM_NONE:
> -		skb2->csum = 0;
> -		if (skb_checksum_complete(skb2))
> +		if (!skb_csum_unnecessary(skb2) && csum_ipv6_magic(&ip6h->saddr,
> +			&ip6h->daddr, skb2->len, IPPROTO_ICMPV6,
> +			skb_checksum(skb2, 0, skb2->len, 0))) {
> +			err = -EINVAL;
>  			goto out;
> +		}
>  	}
>  
>  	err = 0;
> ---


Sorry, I cannot comment on this, checksum games are hard :(

^ permalink raw reply

* Re: IPv6 multicast snooping behaviour on 2.6.39-rc2 and later
From: Eric Dumazet @ 2011-08-24  7:22 UTC (permalink / raw)
  To: Yan, Zheng; +Cc: Ang Way Chuang, netdev, Linus Lüssing, Herbert Xu
In-Reply-To: <CAAM7YAmht5FFTTFHrDUXAXHD5h5gzn1GrtEbHkQfbaoCwccG0w@mail.gmail.com>

Le mercredi 24 août 2011 à 15:04 +0800, Yan, Zheng a écrit :
> On Wed, Aug 24, 2011 at 1:24 AM, Ang Way Chuang <wcang@sfc.wide.ad.jp> wrote:
> > This is what I found so far from debugging.
> >
> > The packet is not forwarded due to the failed checksum at
> > br_multicast.c:1533
> >
> >        case CHECKSUM_NONE:
> >                skb2->csum = 0;
> >                if (skb_checksum_complete(skb2))
> >                        goto out;
> >        }
> >
> > Contrary to description of commit ff9a57a6, when the patch of commit
> > ff9a57a6 is applied,
> > pskb_trim_rcsum is never called at all on my testbed. When commit ff9a57a6
> > is reverted,
> > pskb_trim_rcsum will be called. The difference is:
> >
> > with commit ff9a57a6,
> >   pskb_trim_rcsum is never called, br_multicast_ipv6_rcv returns -EINVAL
> > which causes
> >   br_handle_frame_finish to drop the packet
> >
> > without commit ff9a57a6,
> >   pskb_trim_rcsum is called overwriting err with 0. br_multicast_ipv6_rcv
> > still fails on the
> >   same line (skb_checksum_complete). But the difference is err is set to 0
> > this time. Thereby,
> >   allowing the packet to be forwarded.
> >
> > Anyway, I don't think the behaviour is correct with or without commit
> > ff9a57a6
> >
> >
> 
> Looks like a checksum calculation bug. Please try below patch, Thanks.
> 
> ---
> diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
> index 2d85ca7..22d2d1a 100644
> --- a/net/bridge/br_multicast.c
> +++ b/net/bridge/br_multicast.c
> @@ -1520,16 +1520,23 @@ static int br_multicast_ipv6_rcv(struct net_bridge *br,
>  		err = pskb_trim_rcsum(skb2, len);
>  		if (err)
>  			goto out;
> +		err = -EINVAL;
>  	}
> 
> +	ip6h = ipv6_hdr(skb2);
> +
>  	switch (skb2->ip_summed) {
>  	case CHECKSUM_COMPLETE:
> -		if (!csum_fold(skb2->csum))
> +		if (!csum_ipv6_magic(&ip6h->saddr, &ip6h->daddr, skb2->len,
> +					IPPROTO_ICMPV6, skb2->csum))
>  			break;
>  		/*FALLTHROUGH*/
>  	case CHECKSUM_NONE:
> -		skb2->csum = 0;
> -		if (skb_checksum_complete(skb2))
> +		skb2->csum = ~csum_unfold(csum_ipv6_magic(&ip6h->saddr,
> +							&ip6h->daddr,
> +							skb2->len,
> +							IPPROTO_ICMPV6, 0));
> +		if (__skb_checksum_complete(skb2))
>  			goto out;
>  	}
> 
> ---


We also could reuse/factorize code, say the one from icmpv6_rcv()

^ permalink raw reply

* Re: [net-next 0/9][pull request] Complete drivers/net/ move
From: David Miller @ 2011-08-24  7:25 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo
In-Reply-To: <1314160774-6980-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue, 23 Aug 2011 21:39:25 -0700

> The following series moves the FDDI, PPP, HIPPI, PLIP, SLIP and the cleanup
> of the drivers/net/ Kconfig & Makefile's.  This series in addition moves
> the 2 remaining drivers in drivers/net/pcmcia/ into their respective
> directories (arcnet & tokenring).  The last remaining change is to
> make the all the "new" Kconfig options introduced by the Ethernet
> drivers move to yes, so that current defconfig's will compile the expected
> drivers.
> 
> v2- remove the changes for FDDI, HIPPI, PPP, etc Kconfig from menuconfig back
> to config and used tristate instead of bool.  Apparently some configs load
> FDDI and others as a module.

Still has build failures:

In file included from drivers/net/fddi/skfp/hwmtm.c:29:0:
drivers/net/fddi/skfp/h/smc.h:41:24: fatal error: h/osdef1st.h: No such file or directory
compilation terminated.
make[4]: *** [drivers/net/fddi/skfp/hwmtm.o] Error 1
make[4]: *** Waiting for unfinished jobs....
In file included from drivers/net/fddi/skfp/skfddi.c:97:0:
drivers/net/fddi/skfp/h/smc.h:41:24: fatal error: h/osdef1st.h: No such file or directory
compilation terminated.
make[4]: *** [drivers/net/fddi/skfp/skfddi.o] Error 1
make[3]: *** [drivers/net/fddi/skfp] Error 2
make[2]: *** [drivers/net/fddi] Error 2
make[2]: *** Waiting for unfinished jobs....
drivers/net/tokenring/ibmtr_cs.c: In function ‘ibmtr_config’:
drivers/net/tokenring/ibmtr_cs.c:195:5: warning: ‘pcmcia_request_exclusive_irq’ is deprecated (declared at include/pcmcia/ds.h:201) [-Wdeprecated-declarations]
make[1]: *** [drivers/net] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [drivers] Error 2

^ permalink raw reply

* Re: IPv6 multicast snooping behaviour on 2.6.39-rc2 and later
From: Ang Way Chuang @ 2011-08-24  7:38 UTC (permalink / raw)
  To: Yan, Zheng ; +Cc: Eric Dumazet, netdev, Linus Lüssing, Herbert Xu
In-Reply-To: <CAAM7YAmht5FFTTFHrDUXAXHD5h5gzn1GrtEbHkQfbaoCwccG0w@mail.gmail.com>

Thanks Zheng Yan. Your patch works as well. I trust others' code more than mine,
so please ignore the patch that I sent earlier.

On 24/08/11 16:04, Yan, Zheng wrote:
> On Wed, Aug 24, 2011 at 1:24 AM, Ang Way Chuang <wcang@sfc.wide.ad.jp> wrote:
>> This is what I found so far from debugging.
>>
>> The packet is not forwarded due to the failed checksum at
>> br_multicast.c:1533
>>
>>        case CHECKSUM_NONE:
>>                skb2->csum = 0;
>>                if (skb_checksum_complete(skb2))
>>                        goto out;
>>        }
>>
>> Contrary to description of commit ff9a57a6, when the patch of commit
>> ff9a57a6 is applied,
>> pskb_trim_rcsum is never called at all on my testbed. When commit ff9a57a6
>> is reverted,
>> pskb_trim_rcsum will be called. The difference is:
>>
>> with commit ff9a57a6,
>>   pskb_trim_rcsum is never called, br_multicast_ipv6_rcv returns -EINVAL
>> which causes
>>   br_handle_frame_finish to drop the packet
>>
>> without commit ff9a57a6,
>>   pskb_trim_rcsum is called overwriting err with 0. br_multicast_ipv6_rcv
>> still fails on the
>>   same line (skb_checksum_complete). But the difference is err is set to 0
>> this time. Thereby,
>>   allowing the packet to be forwarded.
>>
>> Anyway, I don't think the behaviour is correct with or without commit
>> ff9a57a6
>>
>>
> Looks like a checksum calculation bug. Please try below patch, Thanks.
>
> ---
> diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
> index 2d85ca7..22d2d1a 100644
> --- a/net/bridge/br_multicast.c
> +++ b/net/bridge/br_multicast.c
> @@ -1520,16 +1520,23 @@ static int br_multicast_ipv6_rcv(struct net_bridge *br,
>  		err = pskb_trim_rcsum(skb2, len);
>  		if (err)
>  			goto out;
> +		err = -EINVAL;
>  	}
>
> +	ip6h = ipv6_hdr(skb2);
> +
>  	switch (skb2->ip_summed) {
>  	case CHECKSUM_COMPLETE:
> -		if (!csum_fold(skb2->csum))
> +		if (!csum_ipv6_magic(&ip6h->saddr, &ip6h->daddr, skb2->len,
> +					IPPROTO_ICMPV6, skb2->csum))
>  			break;
>  		/*FALLTHROUGH*/
>  	case CHECKSUM_NONE:
> -		skb2->csum = 0;
> -		if (skb_checksum_complete(skb2))
> +		skb2->csum = ~csum_unfold(csum_ipv6_magic(&ip6h->saddr,
> +							&ip6h->daddr,
> +							skb2->len,
> +							IPPROTO_ICMPV6, 0));
> +		if (__skb_checksum_complete(skb2))
>  			goto out;
>  	}
>
> ---
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply

* Re: [PATCH 1/4] net: convert core to skb paged frag APIs
From: Ian Campbell @ 2011-08-24  7:49 UTC (permalink / raw)
  To: Michał Mirosław
  Cc: netdev@vger.kernel.org, David S. Miller, Eric Dumazet,
	Michał Mirosław
In-Reply-To: <CAHXqBFJSXB1z6sqEqLg_rc-GnYJBN7b7=mjwsGL8NTf6ga5qaQ@mail.gmail.com>

On Tue, 2011-08-23 at 19:34 +0100, Michał Mirosław wrote:
> 2011/8/23 Ian Campbell <ian.campbell@citrix.com>:
> > +               for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
> > +                       skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
> 
> This is a rather common construct, so it might be worth it to
> introduce something like for_each_skb_frag().

I agree. My first stab at this helper (which was untenable for other
reasons, I never posted it) had such a helper. I decided not to tackle
it on this pass since it touches a bunch of places which even this
enormous series doesn't. I've got it on my list to do some time after
this series as a cleanup though.

Some places want the frag nr and others want the skb_frag_t* so I think
you'd end up with
	for_each_skb_frag(skb, frag) { ... }
and
	for_each_skb_frag_nr(skb, i) { ... }
a few places use both frag and i within the loop but not enough to
warrant an explicit helper, I don't think.

An "skb_frag(skb, i)" helper for the &skb_shinfo(skb)->frags[i]
construct might be nice too.

Ian.

^ permalink raw reply

* [PATCH] mcast: Fix source address selection for multicast listener report.
From: Yan, Zheng  @ 2011-08-24  7:55 UTC (permalink / raw)
  To: netdev; +Cc: dlstevens, davem

Should check use count of include mode filter instead of total number
of include mode filters.

Signed-off-by: Zheng Yan  <zheng.z.yan@intel.com>
---
diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c
index 283c0a2..d577199 100644
--- a/net/ipv4/igmp.c
+++ b/net/ipv4/igmp.c
@@ -767,7 +767,7 @@ static int igmp_xmarksources(struct ip_mc_list
*pmc, int nsrcs, __be32 *srcs)
 			break;
 		for (i=0; i<nsrcs; i++) {
 			/* skip inactive filters */
-			if (pmc->sfcount[MCAST_INCLUDE] ||
+			if (psf->sf_count[MCAST_INCLUDE] ||
 			    pmc->sfcount[MCAST_EXCLUDE] !=
 			    psf->sf_count[MCAST_EXCLUDE])
 				continue;
diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c
index 3e6ebcd..ee7839f 100644
--- a/net/ipv6/mcast.c
+++ b/net/ipv6/mcast.c
@@ -1059,7 +1059,7 @@ static int mld_xmarksources(struct ifmcaddr6
*pmc, int nsrcs,
 			break;
 		for (i=0; i<nsrcs; i++) {
 			/* skip inactive filters */
-			if (pmc->mca_sfcount[MCAST_INCLUDE] ||
+			if (psf->sf_count[MCAST_INCLUDE] ||
 			    pmc->mca_sfcount[MCAST_EXCLUDE] !=
 			    psf->sf_count[MCAST_EXCLUDE])
 				continue;

^ permalink raw reply related

* Re: [net-next 0/9][pull request] Complete drivers/net/ move
From: Jeff Kirsher @ 2011-08-24  8:18 UTC (permalink / raw)
  To: David Miller; +Cc: netdev@vger.kernel.org, gospo@redhat.com
In-Reply-To: <20110824.002513.807528305559470333.davem@davemloft.net>

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

On Wed, 2011-08-24 at 00:25 -0700, David Miller wrote:
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Tue, 23 Aug 2011 21:39:25 -0700
> 
> > The following series moves the FDDI, PPP, HIPPI, PLIP, SLIP and the cleanup
> > of the drivers/net/ Kconfig & Makefile's.  This series in addition moves
> > the 2 remaining drivers in drivers/net/pcmcia/ into their respective
> > directories (arcnet & tokenring).  The last remaining change is to
> > make the all the "new" Kconfig options introduced by the Ethernet
> > drivers move to yes, so that current defconfig's will compile the expected
> > drivers.
> > 
> > v2- remove the changes for FDDI, HIPPI, PPP, etc Kconfig from menuconfig back
> > to config and used tristate instead of bool.  Apparently some configs load
> > FDDI and others as a module.
> 
> Still has build failures:
> 
> In file included from drivers/net/fddi/skfp/hwmtm.c:29:0:
> drivers/net/fddi/skfp/h/smc.h:41:24: fatal error: h/osdef1st.h: No such file or directory
> compilation terminated.
> make[4]: *** [drivers/net/fddi/skfp/hwmtm.o] Error 1
> make[4]: *** Waiting for unfinished jobs....
> In file included from drivers/net/fddi/skfp/skfddi.c:97:0:
> drivers/net/fddi/skfp/h/smc.h:41:24: fatal error: h/osdef1st.h: No such file or directory
> compilation terminated.
> make[4]: *** [drivers/net/fddi/skfp/skfddi.o] Error 1
> make[3]: *** [drivers/net/fddi/skfp] Error 2
> make[2]: *** [drivers/net/fddi] Error 2
> make[2]: *** Waiting for unfinished jobs....
> drivers/net/tokenring/ibmtr_cs.c: In function ‘ibmtr_config’:
> drivers/net/tokenring/ibmtr_cs.c:195:5: warning: ‘pcmcia_request_exclusive_irq’ is deprecated (declared at include/pcmcia/ds.h:201) [-Wdeprecated-declarations]
> make[1]: *** [drivers/net] Error 2
> make[1]: *** Waiting for unfinished jobs....
> make: *** [drivers] Error 2

I am flabbergasted that this built just fine before the move.  I am
wondering why the move exposed the problem in the driver.  I get the
driver working, but had to make the following changes (NOTE- I will
submit a for these changes):

diff --git a/drivers/net/fddi/skfp/h/cmtdef.h
b/drivers/net/fddi/skfp/h/cmtdef.h
index 5a6c612..f5bc90f 100644
--- a/drivers/net/fddi/skfp/h/cmtdef.h
+++ b/drivers/net/fddi/skfp/h/cmtdef.h
@@ -477,8 +477,8 @@ struct s_plc {
 /*
  * function prototypes
  */
-#include "h/mbuf.h"	/* Type definitions for MBUFs */
-#include "h/smtstate.h"	/* struct smt_state */
+#include "mbuf.h"	/* Type definitions for MBUFs */
+#include "smtstate.h"	/* struct smt_state */
 
 void hwt_restart(struct s_smc *smc);	/* hwt.c */
 SMbuf *smt_build_frame(struct s_smc *smc, int class, int type,
diff --git a/drivers/net/fddi/skfp/h/hwmtm.h
b/drivers/net/fddi/skfp/h/hwmtm.h
index e1a7e5f..5924d42 100644
--- a/drivers/net/fddi/skfp/h/hwmtm.h
+++ b/drivers/net/fddi/skfp/h/hwmtm.h
@@ -15,7 +15,7 @@
 #ifndef	_HWM_
 #define	_HWM_
 
-#include "h/mbuf.h"
+#include "mbuf.h"
 
 /*
  * MACRO for DMA synchronization:
diff --git a/drivers/net/fddi/skfp/h/sba.h
b/drivers/net/fddi/skfp/h/sba.h
index 638cf02..35ddb44 100644
--- a/drivers/net/fddi/skfp/h/sba.h
+++ b/drivers/net/fddi/skfp/h/sba.h
@@ -19,8 +19,8 @@
 #ifndef _SBA_
 #define _SBA_
 
-#include "h/mbuf.h"
-#include "h/sba_def.h"
+#include "mbuf.h"
+#include "sba_def.h"
 
 #ifdef	SBA
 
diff --git a/drivers/net/fddi/skfp/h/skfbiinc.h
b/drivers/net/fddi/skfp/h/skfbiinc.h
index ac2d719..ce72557 100644
--- a/drivers/net/fddi/skfp/h/skfbiinc.h
+++ b/drivers/net/fddi/skfp/h/skfbiinc.h
@@ -15,7 +15,7 @@
 #ifndef	_SKFBIINC_
 #define _SKFBIINC_
 
-#include "h/supern_2.h"
+#include "supern_2.h"
 
 /*
  * special defines for use into .asm files
diff --git a/drivers/net/fddi/skfp/h/smc.h
b/drivers/net/fddi/skfp/h/smc.h
index c774a95..3ca308b 100644
--- a/drivers/net/fddi/skfp/h/smc.h
+++ b/drivers/net/fddi/skfp/h/smc.h
@@ -38,18 +38,18 @@
  *	fddi.h
  */
 #ifdef	OSDEF
-#include "h/osdef1st.h"
+#include "osdef1st.h"
 #endif	/* OSDEF */
 #ifdef	OEM_CONCEPT
 #include "oemdef.h"
 #endif	/* OEM_CONCEPT */
-#include "h/smt.h"
-#include "h/cmtdef.h"
-#include "h/fddimib.h"
-#include "h/targethw.h"		/* all target hw dependencies */
-#include "h/targetos.h"		/* all target os dependencies */
+#include "smt.h"
+#include "cmtdef.h"
+#include "fddimib.h"
+#include "targethw.h"		/* all target hw dependencies */
+#include "targetos.h"		/* all target os dependencies */
 #ifdef	ESS
-#include "h/sba.h"
+#include "sba.h"
 #endif
 
 /*
diff --git a/drivers/net/fddi/skfp/h/targethw.h
b/drivers/net/fddi/skfp/h/targethw.h
index 626dc72..842a690 100644
--- a/drivers/net/fddi/skfp/h/targethw.h
+++ b/drivers/net/fddi/skfp/h/targethw.h
@@ -25,11 +25,11 @@
 #define SK_ML_ID_2	0x30
 #endif
 
-#include	"h/skfbi.h"
+#include	"skfbi.h"
 #ifndef TAG_MODE	
-#include	"h/fplus.h"
+#include	"fplus.h"
 #else
-#include	"h/fplustm.h"
+#include	"fplustm.h"
 #endif
 
 #ifndef	HW_PTR
diff --git a/drivers/net/fddi/skfp/h/targetos.h
b/drivers/net/fddi/skfp/h/targetos.h
index 5d940e7..53bacc1 100644
--- a/drivers/net/fddi/skfp/h/targetos.h
+++ b/drivers/net/fddi/skfp/h/targetos.h
@@ -58,7 +58,7 @@
 #define	ADDR(a) (((a)>>7) ? (outp(smc->hw.iop+B0_RAP,(a)>>7),
(smc->hw.iop+( ((a)&0x7F) | ((a)>>7 ? 0x80:0)) )) : (smc->hw.iop
+(((a)&0x7F)|((a)>>7 ? 0x80:0))))
 #endif
 
-#include "h/hwmtm.h"
+#include "hwmtm.h"
 
 #define TRUE  1
 #define FALSE 0

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply related

* Assalam-o-alaikum!
From: Rabil Sabah @ 2011-08-24  8:33 UTC (permalink / raw)


Greetings. My name is Sabah Rahil , i'm in urgent need of your assistance please
respond to my email.

Regards
Sabah Rahil

^ permalink raw reply

* Re: [PATCH] mcast: Fix source address selection for multicast listener report.
From: Yan, Zheng  @ 2011-08-24  8:47 UTC (permalink / raw)
  To: netdev; +Cc: dlstevens, davem
In-Reply-To: <CAAM7YAku7DgV_c7joAHCx5fP8Dea3Y_VaxbokdTR3m2ADz1qhg@mail.gmail.com>

On Wed, Aug 24, 2011 at 3:55 PM, Yan, Zheng <yanzheng@21cn.com> wrote:
> Should check use count of include mode filter instead of total number
> of include mode filters.
>
> Signed-off-by: Zheng Yan  <zheng.z.yan@intel.com>
> ---
> diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c
> index 283c0a2..d577199 100644
> --- a/net/ipv4/igmp.c
> +++ b/net/ipv4/igmp.c
> @@ -767,7 +767,7 @@ static int igmp_xmarksources(struct ip_mc_list
> *pmc, int nsrcs, __be32 *srcs)
>                        break;
>                for (i=0; i<nsrcs; i++) {
>                        /* skip inactive filters */
> -                       if (pmc->sfcount[MCAST_INCLUDE] ||
> +                       if (psf->sf_count[MCAST_INCLUDE] ||
>                            pmc->sfcount[MCAST_EXCLUDE] !=
>                            psf->sf_count[MCAST_EXCLUDE])
>                                continue;
> diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c
> index 3e6ebcd..ee7839f 100644
> --- a/net/ipv6/mcast.c
> +++ b/net/ipv6/mcast.c
> @@ -1059,7 +1059,7 @@ static int mld_xmarksources(struct ifmcaddr6
> *pmc, int nsrcs,
>                        break;
>                for (i=0; i<nsrcs; i++) {
>                        /* skip inactive filters */
> -                       if (pmc->mca_sfcount[MCAST_INCLUDE] ||
> +                       if (psf->sf_count[MCAST_INCLUDE] ||
>                            pmc->mca_sfcount[MCAST_EXCLUDE] !=
>                            psf->sf_count[MCAST_EXCLUDE])
>                                continue;
>

Sorry. this one is malformed, please ignore it.

^ permalink raw reply

* [PATCH] bridge: Pseudo-header required for the checksum of ICMPv6
From: Yan, Zheng @ 2011-08-24  8:54 UTC (permalink / raw)
  To: netdev; +Cc: wcang, davem

Checksum of ICMPv6 is not properly computed because the pseudo header is not used.
Thus, the MLD packet gets dropped by the bridge.

Signed-off-by: Zheng Yan <zheng.z.yan@intel.com>
Reported-by: Ang Way Chuang <wcang@sfc.wide.ad.jp>

---
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 2d85ca7..22d2d1a 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -1520,16 +1520,23 @@ static int br_multicast_ipv6_rcv(struct net_bridge *br,
 		err = pskb_trim_rcsum(skb2, len);
 		if (err)
 			goto out;
+		err = -EINVAL;
 	}
 
+	ip6h = ipv6_hdr(skb2);
+
 	switch (skb2->ip_summed) {
 	case CHECKSUM_COMPLETE:
-		if (!csum_fold(skb2->csum))
+		if (!csum_ipv6_magic(&ip6h->saddr, &ip6h->daddr, skb2->len,
+					IPPROTO_ICMPV6, skb2->csum))
 			break;
 		/*FALLTHROUGH*/
 	case CHECKSUM_NONE:
-		skb2->csum = 0;
-		if (skb_checksum_complete(skb2))
+		skb2->csum = ~csum_unfold(csum_ipv6_magic(&ip6h->saddr,
+							&ip6h->daddr,
+							skb2->len,
+							IPPROTO_ICMPV6, 0));
+		if (__skb_checksum_complete(skb2))
 			goto out;
 	}
 

^ permalink raw reply related

* [PATCH] mcast: Fix source address selection for multicast listener report
From: Yan, Zheng @ 2011-08-24  8:54 UTC (permalink / raw)
  To: netdev; +Cc: davem, dlstevens

Should check use count of include mode filter instead of total number
of include mode filters.

Signed-off-by: Zheng Yan <zheng.z.yan@intel.com>

---
diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c
index 283c0a2..d577199 100644
--- a/net/ipv4/igmp.c
+++ b/net/ipv4/igmp.c
@@ -767,7 +767,7 @@ static int igmp_xmarksources(struct ip_mc_list *pmc, int nsrcs, __be32 *srcs)
 			break;
 		for (i=0; i<nsrcs; i++) {
 			/* skip inactive filters */
-			if (pmc->sfcount[MCAST_INCLUDE] ||
+			if (psf->sf_count[MCAST_INCLUDE] ||
 			    pmc->sfcount[MCAST_EXCLUDE] !=
 			    psf->sf_count[MCAST_EXCLUDE])
 				continue;
diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c
index 3e6ebcd..ee7839f 100644
--- a/net/ipv6/mcast.c
+++ b/net/ipv6/mcast.c
@@ -1059,7 +1059,7 @@ static int mld_xmarksources(struct ifmcaddr6 *pmc, int nsrcs,
 			break;
 		for (i=0; i<nsrcs; i++) {
 			/* skip inactive filters */
-			if (pmc->mca_sfcount[MCAST_INCLUDE] ||
+			if (psf->sf_count[MCAST_INCLUDE] ||
 			    pmc->mca_sfcount[MCAST_EXCLUDE] !=
 			    psf->sf_count[MCAST_EXCLUDE])
 				continue;

^ permalink raw reply related

* Re: slow performance on disk/network i/o full speed after drop_caches
From: Stefan Priebe - Profihost AG @ 2011-08-24  9:01 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: LKML, linux-mm, Andrew Morton, Mel Gorman, Jens Axboe,
	Wu Fengguang, Linux Netdev List
In-Reply-To: <CAOJsxLEFYW0eDbXQ0Uixf-FjsxHZ_1nmnovNx1CWj=m-c-_vJw@mail.gmail.com>


>> sync&&  echo 3>/proc/sys/vm/drop_caches&&  sleep 2&&  echo 0
>>> /proc/sys/vm/drop_caches

Another way to get it working again is to stop some processes. Could be 
mysql or apache or php fcgi doesn't matter. Just free some memory. 
Although there are already 5GB free.

Stefan

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply

* [net-next 00/10][pull request] Complete drivers/net/ move
From: Jeff Kirsher @ 2011-08-24  9:02 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo

The following series moves the FDDI, PPP, HIPPI, PLIP, SLIP and the cleanup
of the drivers/net/ Kconfig & Makefile's.  This series in addition moves
the 2 remaining drivers in drivers/net/pcmcia/ into their respective
directories (arcnet & tokenring).  The last remaining change is to
make the all the "new" Kconfig options introduced by the Ethernet
drivers move to yes, so that current defconfig's will compile the expected
drivers.
 
v2- remove the changes for FDDI, HIPPI, PPP, etc Kconfig from menuconfig back
to config and used tristate instead of bool.  Apparently some configs load
FDDI and others as a module.
v3- Fix compile issues exposed by the driver move where local headers were
included with the incorrect path.
 
The following are changes since commit 131ea6675c761f655d43b808dd0fe83d15d5cdd3:
  net: add APIs for manipulating skb page fragments.
and are available in the git repository at:
  master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/next-organize master

Jeff Kirsher (10):
  fddi: Move the FDDI drivers
  skfp: Fix SysKonnect FDDI driver compile issues
  ppp: Move the PPP drivers
  hippi: Move the HIPPI driver
  plip: Move the PLIP driver
  slip: Move the SLIP drivers
  ixbmtr_cs: Move the IBM PCMCIA Token Ring driver
  com20020_cs: Move the PCMCIA Arcnet driver
  drivers/net: Kconfig & Makefile cleanup
  drivers/net/ethernet/*: Enabled vendor Kconfig options

 MAINTAINERS                                  |   11 +-
 drivers/net/Kconfig                          |  640 ++++++--------------------
 drivers/net/Makefile                         |   84 ++--
 drivers/net/arcnet/Kconfig                   |   14 +-
 drivers/net/arcnet/Makefile                  |    1 +
 drivers/net/{pcmcia => arcnet}/com20020_cs.c |    0
 drivers/net/ethernet/3com/Kconfig            |    1 +
 drivers/net/ethernet/8390/Kconfig            |    1 +
 drivers/net/ethernet/adaptec/Kconfig         |    1 +
 drivers/net/ethernet/alteon/Kconfig          |    1 +
 drivers/net/ethernet/amd/Kconfig             |    1 +
 drivers/net/ethernet/apple/Kconfig           |    1 +
 drivers/net/ethernet/atheros/Kconfig         |    1 +
 drivers/net/ethernet/broadcom/Kconfig        |    1 +
 drivers/net/ethernet/brocade/Kconfig         |    1 +
 drivers/net/ethernet/chelsio/Kconfig         |    1 +
 drivers/net/ethernet/cirrus/Kconfig          |    1 +
 drivers/net/ethernet/cisco/Kconfig           |    1 +
 drivers/net/ethernet/dec/Kconfig             |    1 +
 drivers/net/ethernet/dlink/Kconfig           |    1 +
 drivers/net/ethernet/emulex/Kconfig          |    1 +
 drivers/net/ethernet/faraday/Kconfig         |    1 +
 drivers/net/ethernet/freescale/Kconfig       |    1 +
 drivers/net/ethernet/fujitsu/Kconfig         |    1 +
 drivers/net/ethernet/hp/Kconfig              |    1 +
 drivers/net/ethernet/i825xx/Kconfig          |    1 +
 drivers/net/ethernet/ibm/Kconfig             |    1 +
 drivers/net/ethernet/intel/Kconfig           |    1 +
 drivers/net/ethernet/marvell/Kconfig         |    1 +
 drivers/net/ethernet/mellanox/Kconfig        |    1 +
 drivers/net/ethernet/micrel/Kconfig          |    1 +
 drivers/net/ethernet/microchip/Kconfig       |    1 +
 drivers/net/ethernet/myricom/Kconfig         |    1 +
 drivers/net/ethernet/natsemi/Kconfig         |    1 +
 drivers/net/ethernet/neterion/Kconfig        |    1 +
 drivers/net/ethernet/nuvoton/Kconfig         |    1 +
 drivers/net/ethernet/nvidia/Kconfig          |    1 +
 drivers/net/ethernet/oki-semi/Kconfig        |    1 +
 drivers/net/ethernet/pasemi/Kconfig          |    1 +
 drivers/net/ethernet/qlogic/Kconfig          |    1 +
 drivers/net/ethernet/racal/Kconfig           |    1 +
 drivers/net/ethernet/rdc/Kconfig             |    1 +
 drivers/net/ethernet/realtek/Kconfig         |    1 +
 drivers/net/ethernet/seeq/Kconfig            |    1 +
 drivers/net/ethernet/sgi/Kconfig             |    1 +
 drivers/net/ethernet/sis/Kconfig             |    1 +
 drivers/net/ethernet/smsc/Kconfig            |    1 +
 drivers/net/ethernet/stmicro/Kconfig         |    1 +
 drivers/net/ethernet/sun/Kconfig             |    1 +
 drivers/net/ethernet/tehuti/Kconfig          |    1 +
 drivers/net/ethernet/ti/Kconfig              |    1 +
 drivers/net/ethernet/toshiba/Kconfig         |    1 +
 drivers/net/ethernet/tundra/Kconfig          |    1 +
 drivers/net/ethernet/via/Kconfig             |    1 +
 drivers/net/ethernet/xilinx/Kconfig          |    1 +
 drivers/net/ethernet/xircom/Kconfig          |    1 +
 drivers/net/ethernet/xscale/Kconfig          |    1 +
 drivers/net/fddi/Kconfig                     |   77 +++
 drivers/net/fddi/Makefile                    |    6 +
 drivers/net/{ => fddi}/defxx.c               |    0
 drivers/net/{ => fddi}/defxx.h               |    0
 drivers/net/{ => fddi}/skfp/Makefile         |    0
 drivers/net/{ => fddi}/skfp/cfm.c            |    0
 drivers/net/{ => fddi}/skfp/drvfbi.c         |    0
 drivers/net/{ => fddi}/skfp/ecm.c            |    0
 drivers/net/{ => fddi}/skfp/ess.c            |    0
 drivers/net/{ => fddi}/skfp/fplustm.c        |    0
 drivers/net/{ => fddi}/skfp/h/cmtdef.h       |    4 +-
 drivers/net/{ => fddi}/skfp/h/fddi.h         |    0
 drivers/net/{ => fddi}/skfp/h/fddimib.h      |    0
 drivers/net/{ => fddi}/skfp/h/fplustm.h      |    0
 drivers/net/{ => fddi}/skfp/h/hwmtm.h        |    2 +-
 drivers/net/{ => fddi}/skfp/h/mbuf.h         |    0
 drivers/net/{ => fddi}/skfp/h/osdef1st.h     |    0
 drivers/net/{ => fddi}/skfp/h/sba.h          |    4 +-
 drivers/net/{ => fddi}/skfp/h/sba_def.h      |    0
 drivers/net/{ => fddi}/skfp/h/skfbi.h        |    0
 drivers/net/{ => fddi}/skfp/h/skfbiinc.h     |    2 +-
 drivers/net/{ => fddi}/skfp/h/smc.h          |   14 +-
 drivers/net/{ => fddi}/skfp/h/smt.h          |    0
 drivers/net/{ => fddi}/skfp/h/smt_p.h        |    0
 drivers/net/{ => fddi}/skfp/h/smtstate.h     |    0
 drivers/net/{ => fddi}/skfp/h/supern_2.h     |    0
 drivers/net/{ => fddi}/skfp/h/targethw.h     |    6 +-
 drivers/net/{ => fddi}/skfp/h/targetos.h     |    2 +-
 drivers/net/{ => fddi}/skfp/h/types.h        |    0
 drivers/net/{ => fddi}/skfp/hwmtm.c          |    0
 drivers/net/{ => fddi}/skfp/hwt.c            |    0
 drivers/net/{ => fddi}/skfp/pcmplc.c         |    0
 drivers/net/{ => fddi}/skfp/pmf.c            |    0
 drivers/net/{ => fddi}/skfp/queue.c          |    0
 drivers/net/{ => fddi}/skfp/rmt.c            |    0
 drivers/net/{ => fddi}/skfp/skfddi.c         |    0
 drivers/net/{ => fddi}/skfp/smt.c            |    0
 drivers/net/{ => fddi}/skfp/smtdef.c         |    0
 drivers/net/{ => fddi}/skfp/smtinit.c        |    0
 drivers/net/{ => fddi}/skfp/smttimer.c       |    0
 drivers/net/{ => fddi}/skfp/srf.c            |    0
 drivers/net/hippi/Kconfig                    |   39 ++
 drivers/net/hippi/Makefile                   |    5 +
 drivers/net/{ => hippi}/rrunner.c            |    0
 drivers/net/{ => hippi}/rrunner.h            |    0
 drivers/net/pcmcia/Kconfig                   |   45 --
 drivers/net/pcmcia/Makefile                  |    8 -
 drivers/net/phy/Kconfig                      |    2 +-
 drivers/net/plip/Kconfig                     |   38 ++
 drivers/net/plip/Makefile                    |    5 +
 drivers/net/{ => plip}/plip.c                |    0
 drivers/net/ppp/Kconfig                      |  176 +++++++
 drivers/net/ppp/Makefile                     |   13 +
 drivers/net/{ => ppp}/bsd_comp.c             |    0
 drivers/net/{ => ppp}/ppp_async.c            |    0
 drivers/net/{ => ppp}/ppp_deflate.c          |    0
 drivers/net/{ => ppp}/ppp_generic.c          |    0
 drivers/net/{ => ppp}/ppp_mppe.c             |    0
 drivers/net/{ => ppp}/ppp_mppe.h             |    0
 drivers/net/{ => ppp}/ppp_synctty.c          |    0
 drivers/net/{ => ppp}/pppoe.c                |    0
 drivers/net/{ => ppp}/pppox.c                |    0
 drivers/net/{ => ppp}/pptp.c                 |    0
 drivers/net/slip/Kconfig                     |   79 ++++
 drivers/net/slip/Makefile                    |    6 +
 drivers/net/{ => slip}/slhc.c                |    0
 drivers/net/{ => slip}/slip.c                |    0
 drivers/net/{ => slip}/slip.h                |    0
 drivers/net/tokenring/Kconfig                |   15 +-
 drivers/net/tokenring/Makefile               |   21 +-
 drivers/net/{pcmcia => tokenring}/ibmtr_cs.c |    2 +-
 128 files changed, 727 insertions(+), 645 deletions(-)
 rename drivers/net/{pcmcia => arcnet}/com20020_cs.c (100%)
 create mode 100644 drivers/net/fddi/Kconfig
 create mode 100644 drivers/net/fddi/Makefile
 rename drivers/net/{ => fddi}/defxx.c (100%)
 rename drivers/net/{ => fddi}/defxx.h (100%)
 rename drivers/net/{ => fddi}/skfp/Makefile (100%)
 rename drivers/net/{ => fddi}/skfp/cfm.c (100%)
 rename drivers/net/{ => fddi}/skfp/drvfbi.c (100%)
 rename drivers/net/{ => fddi}/skfp/ecm.c (100%)
 rename drivers/net/{ => fddi}/skfp/ess.c (100%)
 rename drivers/net/{ => fddi}/skfp/fplustm.c (100%)
 rename drivers/net/{ => fddi}/skfp/h/cmtdef.h (99%)
 rename drivers/net/{ => fddi}/skfp/h/fddi.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/fddimib.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/fplustm.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/hwmtm.h (99%)
 rename drivers/net/{ => fddi}/skfp/h/mbuf.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/osdef1st.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/sba.h (98%)
 rename drivers/net/{ => fddi}/skfp/h/sba_def.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/skfbi.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/skfbiinc.h (99%)
 rename drivers/net/{ => fddi}/skfp/h/smc.h (98%)
 rename drivers/net/{ => fddi}/skfp/h/smt.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/smt_p.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/smtstate.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/supern_2.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/targethw.h (98%)
 rename drivers/net/{ => fddi}/skfp/h/targetos.h (99%)
 rename drivers/net/{ => fddi}/skfp/h/types.h (100%)
 rename drivers/net/{ => fddi}/skfp/hwmtm.c (100%)
 rename drivers/net/{ => fddi}/skfp/hwt.c (100%)
 rename drivers/net/{ => fddi}/skfp/pcmplc.c (100%)
 rename drivers/net/{ => fddi}/skfp/pmf.c (100%)
 rename drivers/net/{ => fddi}/skfp/queue.c (100%)
 rename drivers/net/{ => fddi}/skfp/rmt.c (100%)
 rename drivers/net/{ => fddi}/skfp/skfddi.c (100%)
 rename drivers/net/{ => fddi}/skfp/smt.c (100%)
 rename drivers/net/{ => fddi}/skfp/smtdef.c (100%)
 rename drivers/net/{ => fddi}/skfp/smtinit.c (100%)
 rename drivers/net/{ => fddi}/skfp/smttimer.c (100%)
 rename drivers/net/{ => fddi}/skfp/srf.c (100%)
 create mode 100644 drivers/net/hippi/Kconfig
 create mode 100644 drivers/net/hippi/Makefile
 rename drivers/net/{ => hippi}/rrunner.c (100%)
 rename drivers/net/{ => hippi}/rrunner.h (100%)
 delete mode 100644 drivers/net/pcmcia/Kconfig
 delete mode 100644 drivers/net/pcmcia/Makefile
 create mode 100644 drivers/net/plip/Kconfig
 create mode 100644 drivers/net/plip/Makefile
 rename drivers/net/{ => plip}/plip.c (100%)
 create mode 100644 drivers/net/ppp/Kconfig
 create mode 100644 drivers/net/ppp/Makefile
 rename drivers/net/{ => ppp}/bsd_comp.c (100%)
 rename drivers/net/{ => ppp}/ppp_async.c (100%)
 rename drivers/net/{ => ppp}/ppp_deflate.c (100%)
 rename drivers/net/{ => ppp}/ppp_generic.c (100%)
 rename drivers/net/{ => ppp}/ppp_mppe.c (100%)
 rename drivers/net/{ => ppp}/ppp_mppe.h (100%)
 rename drivers/net/{ => ppp}/ppp_synctty.c (100%)
 rename drivers/net/{ => ppp}/pppoe.c (100%)
 rename drivers/net/{ => ppp}/pppox.c (100%)
 rename drivers/net/{ => ppp}/pptp.c (100%)
 create mode 100644 drivers/net/slip/Kconfig
 create mode 100644 drivers/net/slip/Makefile
 rename drivers/net/{ => slip}/slhc.c (100%)
 rename drivers/net/{ => slip}/slip.c (100%)
 rename drivers/net/{ => slip}/slip.h (100%)
 rename drivers/net/{pcmcia => tokenring}/ibmtr_cs.c (99%)

-- 
1.7.6

^ permalink raw reply

* [net-next 01/10] fddi: Move the FDDI drivers
From: Jeff Kirsher @ 2011-08-24  9:02 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, Maciej W. Rozycki, Christoph Goos,
	linux
In-Reply-To: <1314176570-20298-1-git-send-email-jeffrey.t.kirsher@intel.com>

Move the FDDI drivers into drivers/net/fddi/ and make the
necessary Kconfig and Makefile changes.

CC: "Maciej W. Rozycki" <macro@linux-mips.org>
CC: Christoph Goos <cgoos@syskonnect.de>
CC: <linux@syskonnect.de>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 MAINTAINERS                              |    2 +-
 drivers/net/Kconfig                      |   72 +---------------------------
 drivers/net/Makefile                     |    3 +-
 drivers/net/fddi/Kconfig                 |   77 ++++++++++++++++++++++++++++++
 drivers/net/fddi/Makefile                |    6 ++
 drivers/net/{ => fddi}/defxx.c           |    0
 drivers/net/{ => fddi}/defxx.h           |    0
 drivers/net/{ => fddi}/skfp/Makefile     |    0
 drivers/net/{ => fddi}/skfp/cfm.c        |    0
 drivers/net/{ => fddi}/skfp/drvfbi.c     |    0
 drivers/net/{ => fddi}/skfp/ecm.c        |    0
 drivers/net/{ => fddi}/skfp/ess.c        |    0
 drivers/net/{ => fddi}/skfp/fplustm.c    |    0
 drivers/net/{ => fddi}/skfp/h/cmtdef.h   |    0
 drivers/net/{ => fddi}/skfp/h/fddi.h     |    0
 drivers/net/{ => fddi}/skfp/h/fddimib.h  |    0
 drivers/net/{ => fddi}/skfp/h/fplustm.h  |    0
 drivers/net/{ => fddi}/skfp/h/hwmtm.h    |    0
 drivers/net/{ => fddi}/skfp/h/mbuf.h     |    0
 drivers/net/{ => fddi}/skfp/h/osdef1st.h |    0
 drivers/net/{ => fddi}/skfp/h/sba.h      |    0
 drivers/net/{ => fddi}/skfp/h/sba_def.h  |    0
 drivers/net/{ => fddi}/skfp/h/skfbi.h    |    0
 drivers/net/{ => fddi}/skfp/h/skfbiinc.h |    0
 drivers/net/{ => fddi}/skfp/h/smc.h      |    0
 drivers/net/{ => fddi}/skfp/h/smt.h      |    0
 drivers/net/{ => fddi}/skfp/h/smt_p.h    |    0
 drivers/net/{ => fddi}/skfp/h/smtstate.h |    0
 drivers/net/{ => fddi}/skfp/h/supern_2.h |    0
 drivers/net/{ => fddi}/skfp/h/targethw.h |    0
 drivers/net/{ => fddi}/skfp/h/targetos.h |    0
 drivers/net/{ => fddi}/skfp/h/types.h    |    0
 drivers/net/{ => fddi}/skfp/hwmtm.c      |    0
 drivers/net/{ => fddi}/skfp/hwt.c        |    0
 drivers/net/{ => fddi}/skfp/pcmplc.c     |    0
 drivers/net/{ => fddi}/skfp/pmf.c        |    0
 drivers/net/{ => fddi}/skfp/queue.c      |    0
 drivers/net/{ => fddi}/skfp/rmt.c        |    0
 drivers/net/{ => fddi}/skfp/skfddi.c     |    0
 drivers/net/{ => fddi}/skfp/smt.c        |    0
 drivers/net/{ => fddi}/skfp/smtdef.c     |    0
 drivers/net/{ => fddi}/skfp/smtinit.c    |    0
 drivers/net/{ => fddi}/skfp/smttimer.c   |    0
 drivers/net/{ => fddi}/skfp/srf.c        |    0
 44 files changed, 87 insertions(+), 73 deletions(-)
 create mode 100644 drivers/net/fddi/Kconfig
 create mode 100644 drivers/net/fddi/Makefile
 rename drivers/net/{ => fddi}/defxx.c (100%)
 rename drivers/net/{ => fddi}/defxx.h (100%)
 rename drivers/net/{ => fddi}/skfp/Makefile (100%)
 rename drivers/net/{ => fddi}/skfp/cfm.c (100%)
 rename drivers/net/{ => fddi}/skfp/drvfbi.c (100%)
 rename drivers/net/{ => fddi}/skfp/ecm.c (100%)
 rename drivers/net/{ => fddi}/skfp/ess.c (100%)
 rename drivers/net/{ => fddi}/skfp/fplustm.c (100%)
 rename drivers/net/{ => fddi}/skfp/h/cmtdef.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/fddi.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/fddimib.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/fplustm.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/hwmtm.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/mbuf.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/osdef1st.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/sba.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/sba_def.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/skfbi.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/skfbiinc.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/smc.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/smt.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/smt_p.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/smtstate.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/supern_2.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/targethw.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/targetos.h (100%)
 rename drivers/net/{ => fddi}/skfp/h/types.h (100%)
 rename drivers/net/{ => fddi}/skfp/hwmtm.c (100%)
 rename drivers/net/{ => fddi}/skfp/hwt.c (100%)
 rename drivers/net/{ => fddi}/skfp/pcmplc.c (100%)
 rename drivers/net/{ => fddi}/skfp/pmf.c (100%)
 rename drivers/net/{ => fddi}/skfp/queue.c (100%)
 rename drivers/net/{ => fddi}/skfp/rmt.c (100%)
 rename drivers/net/{ => fddi}/skfp/skfddi.c (100%)
 rename drivers/net/{ => fddi}/skfp/smt.c (100%)
 rename drivers/net/{ => fddi}/skfp/smtdef.c (100%)
 rename drivers/net/{ => fddi}/skfp/smtinit.c (100%)
 rename drivers/net/{ => fddi}/skfp/smttimer.c (100%)
 rename drivers/net/{ => fddi}/skfp/srf.c (100%)

diff --git a/MAINTAINERS b/MAINTAINERS
index d32e1ca..2777088 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2113,7 +2113,7 @@ F:	net/decnet/
 DEFXX FDDI NETWORK DRIVER
 M:	"Maciej W. Rozycki" <macro@linux-mips.org>
 S:	Maintained
-F:	drivers/net/defxx.*
+F:	drivers/net/fddi/defxx.*
 
 DELL LAPTOP DRIVER
 M:	Matthew Garrett <mjg59@srcf.ucam.org>
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index ef6b6be..7bdc22b 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -195,6 +195,8 @@ config SUNGEM_PHY
 
 source "drivers/net/ethernet/Kconfig"
 
+source "drivers/net/fddi/Kconfig"
+
 source "drivers/net/tokenring/Kconfig"
 
 source "drivers/net/wireless/Kconfig"
@@ -268,76 +270,6 @@ config RIONET_RX_SIZE
 	depends on RIONET
 	default "128"
 
-config FDDI
-	tristate "FDDI driver support"
-	depends on (PCI || EISA || TC)
-	help
-	  Fiber Distributed Data Interface is a high speed local area network
-	  design; essentially a replacement for high speed Ethernet. FDDI can
-	  run over copper or fiber. If you are connected to such a network and
-	  want a driver for the FDDI card in your computer, say Y here (and
-	  then also Y to the driver for your FDDI card, below). Most people
-	  will say N.
-
-config DEFXX
-	tristate "Digital DEFTA/DEFEA/DEFPA adapter support"
-	depends on FDDI && (PCI || EISA || TC)
-	---help---
-	  This is support for the DIGITAL series of TURBOchannel (DEFTA),
-	  EISA (DEFEA) and PCI (DEFPA) controllers which can connect you
-	  to a local FDDI network.
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called defxx.  If unsure, say N.
-
-config DEFXX_MMIO
-	bool
-	prompt "Use MMIO instead of PIO" if PCI || EISA
-	depends on DEFXX
-	default n if PCI || EISA
-	default y
-	---help---
-	  This instructs the driver to use EISA or PCI memory-mapped I/O
-	  (MMIO) as appropriate instead of programmed I/O ports (PIO).
-	  Enabling this gives an improvement in processing time in parts
-	  of the driver, but it may cause problems with EISA (DEFEA)
-	  adapters.  TURBOchannel does not have the concept of I/O ports,
-	  so MMIO is always used for these (DEFTA) adapters.
-
-	  If unsure, say N.
-
-config SKFP
-	tristate "SysKonnect FDDI PCI support"
-	depends on FDDI && PCI
-	select BITREVERSE
-	---help---
-	  Say Y here if you have a SysKonnect FDDI PCI adapter.
-	  The following adapters are supported by this driver:
-	  - SK-5521 (SK-NET FDDI-UP)
-	  - SK-5522 (SK-NET FDDI-UP DAS)
-	  - SK-5541 (SK-NET FDDI-FP)
-	  - SK-5543 (SK-NET FDDI-LP)
-	  - SK-5544 (SK-NET FDDI-LP DAS)
-	  - SK-5821 (SK-NET FDDI-UP64)
-	  - SK-5822 (SK-NET FDDI-UP64 DAS)
-	  - SK-5841 (SK-NET FDDI-FP64)
-	  - SK-5843 (SK-NET FDDI-LP64)
-	  - SK-5844 (SK-NET FDDI-LP64 DAS)
-	  - Netelligent 100 FDDI DAS Fibre SC
-	  - Netelligent 100 FDDI SAS Fibre SC
-	  - Netelligent 100 FDDI DAS UTP
-	  - Netelligent 100 FDDI SAS UTP
-	  - Netelligent 100 FDDI SAS Fibre MIC
-
-	  Read <file:Documentation/networking/skfp.txt> for information about
-	  the driver.
-
-	  Questions concerning this driver can be addressed to:
-	  <linux@syskonnect.de>
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called skfp.  This is recommended.
-
 config HIPPI
 	bool "HIPPI driver support (EXPERIMENTAL)"
 	depends on EXPERIMENTAL && INET && PCI
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index c33009b..3087b27 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
@@ -14,7 +14,6 @@ obj-$(CONFIG_VMXNET3) += vmxnet3/
 #
 obj-$(CONFIG_PLIP) += plip.o
 obj-$(CONFIG_ROADRUNNER) += rrunner.o
-obj-$(CONFIG_SKFP) += skfp/
 obj-$(CONFIG_RIONET) += rionet.o
 
 #
@@ -42,13 +41,13 @@ obj-$(CONFIG_DUMMY) += dummy.o
 obj-$(CONFIG_IFB) += ifb.o
 obj-$(CONFIG_MACVLAN) += macvlan.o
 obj-$(CONFIG_MACVTAP) += macvtap.o
-obj-$(CONFIG_DEFXX) += defxx.o
 obj-$(CONFIG_EQUALIZER) += eql.o
 obj-$(CONFIG_TUN) += tun.o
 obj-$(CONFIG_VETH) += veth.o
 
 obj-$(CONFIG_DEV_APPLETALK) += appletalk/
 obj-$(CONFIG_ETHERNET) += ethernet/
+obj-$(CONFIG_FDDI) += fddi/
 obj-$(CONFIG_TR) += tokenring/
 obj-$(CONFIG_WAN) += wan/
 obj-$(CONFIG_ARCNET) += arcnet/
diff --git a/drivers/net/fddi/Kconfig b/drivers/net/fddi/Kconfig
new file mode 100644
index 0000000..3a424c8
--- /dev/null
+++ b/drivers/net/fddi/Kconfig
@@ -0,0 +1,77 @@
+#
+# FDDI network device configuration
+#
+
+config FDDI
+	tristate "FDDI driver support"
+	depends on PCI || EISA || TC
+	---help---
+	  Fiber Distributed Data Interface is a high speed local area network
+	  design; essentially a replacement for high speed Ethernet. FDDI can
+	  run over copper or fiber. If you are connected to such a network and
+	  want a driver for the FDDI card in your computer, say Y here (and
+	  then also Y to the driver for your FDDI card, below). Most people
+	  will say N.
+
+if FDDI
+
+config DEFXX
+	tristate "Digital DEFTA/DEFEA/DEFPA adapter support"
+	depends on FDDI && (PCI || EISA || TC)
+	---help---
+	  This is support for the DIGITAL series of TURBOchannel (DEFTA),
+	  EISA (DEFEA) and PCI (DEFPA) controllers which can connect you
+	  to a local FDDI network.
+
+	  To compile this driver as a module, choose M here: the module
+	  will be called defxx.  If unsure, say N.
+
+config DEFXX_MMIO
+	bool
+	prompt "Use MMIO instead of PIO" if PCI || EISA
+	depends on DEFXX
+	default n if PCI || EISA
+	default y
+	---help---
+	  This instructs the driver to use EISA or PCI memory-mapped I/O
+	  (MMIO) as appropriate instead of programmed I/O ports (PIO).
+	  Enabling this gives an improvement in processing time in parts
+	  of the driver, but it may cause problems with EISA (DEFEA)
+	  adapters.  TURBOchannel does not have the concept of I/O ports,
+	  so MMIO is always used for these (DEFTA) adapters.
+
+	  If unsure, say N.
+
+config SKFP
+	tristate "SysKonnect FDDI PCI support"
+	depends on FDDI && PCI
+	select BITREVERSE
+	---help---
+	  Say Y here if you have a SysKonnect FDDI PCI adapter.
+	  The following adapters are supported by this driver:
+	  - SK-5521 (SK-NET FDDI-UP)
+	  - SK-5522 (SK-NET FDDI-UP DAS)
+	  - SK-5541 (SK-NET FDDI-FP)
+	  - SK-5543 (SK-NET FDDI-LP)
+	  - SK-5544 (SK-NET FDDI-LP DAS)
+	  - SK-5821 (SK-NET FDDI-UP64)
+	  - SK-5822 (SK-NET FDDI-UP64 DAS)
+	  - SK-5841 (SK-NET FDDI-FP64)
+	  - SK-5843 (SK-NET FDDI-LP64)
+	  - SK-5844 (SK-NET FDDI-LP64 DAS)
+	  - Netelligent 100 FDDI DAS Fibre SC
+	  - Netelligent 100 FDDI SAS Fibre SC
+	  - Netelligent 100 FDDI DAS UTP
+	  - Netelligent 100 FDDI SAS UTP
+	  - Netelligent 100 FDDI SAS Fibre MIC
+
+	  Read <file:Documentation/networking/skfp.txt> for information about
+	  the driver.
+
+	  Questions concerning this driver can be addressed to:
+	  <linux@syskonnect.de>
+
+	  To compile this driver as a module, choose M here: the module
+	  will be called skfp.  This is recommended.
+
+endif # FDDI
diff --git a/drivers/net/fddi/Makefile b/drivers/net/fddi/Makefile
new file mode 100644
index 0000000..36da19c
--- /dev/null
+++ b/drivers/net/fddi/Makefile
@@ -0,0 +1,6 @@
+#
+# Makefile for the Linux FDDI network device drivers.
+#
+
+obj-$(CONFIG_DEFXX) += defxx.o
+obj-$(CONFIG_SKFP) += skfp/
diff --git a/drivers/net/defxx.c b/drivers/net/fddi/defxx.c
similarity index 100%
rename from drivers/net/defxx.c
rename to drivers/net/fddi/defxx.c
diff --git a/drivers/net/defxx.h b/drivers/net/fddi/defxx.h
similarity index 100%
rename from drivers/net/defxx.h
rename to drivers/net/fddi/defxx.h
diff --git a/drivers/net/skfp/Makefile b/drivers/net/fddi/skfp/Makefile
similarity index 100%
rename from drivers/net/skfp/Makefile
rename to drivers/net/fddi/skfp/Makefile
diff --git a/drivers/net/skfp/cfm.c b/drivers/net/fddi/skfp/cfm.c
similarity index 100%
rename from drivers/net/skfp/cfm.c
rename to drivers/net/fddi/skfp/cfm.c
diff --git a/drivers/net/skfp/drvfbi.c b/drivers/net/fddi/skfp/drvfbi.c
similarity index 100%
rename from drivers/net/skfp/drvfbi.c
rename to drivers/net/fddi/skfp/drvfbi.c
diff --git a/drivers/net/skfp/ecm.c b/drivers/net/fddi/skfp/ecm.c
similarity index 100%
rename from drivers/net/skfp/ecm.c
rename to drivers/net/fddi/skfp/ecm.c
diff --git a/drivers/net/skfp/ess.c b/drivers/net/fddi/skfp/ess.c
similarity index 100%
rename from drivers/net/skfp/ess.c
rename to drivers/net/fddi/skfp/ess.c
diff --git a/drivers/net/skfp/fplustm.c b/drivers/net/fddi/skfp/fplustm.c
similarity index 100%
rename from drivers/net/skfp/fplustm.c
rename to drivers/net/fddi/skfp/fplustm.c
diff --git a/drivers/net/skfp/h/cmtdef.h b/drivers/net/fddi/skfp/h/cmtdef.h
similarity index 100%
rename from drivers/net/skfp/h/cmtdef.h
rename to drivers/net/fddi/skfp/h/cmtdef.h
diff --git a/drivers/net/skfp/h/fddi.h b/drivers/net/fddi/skfp/h/fddi.h
similarity index 100%
rename from drivers/net/skfp/h/fddi.h
rename to drivers/net/fddi/skfp/h/fddi.h
diff --git a/drivers/net/skfp/h/fddimib.h b/drivers/net/fddi/skfp/h/fddimib.h
similarity index 100%
rename from drivers/net/skfp/h/fddimib.h
rename to drivers/net/fddi/skfp/h/fddimib.h
diff --git a/drivers/net/skfp/h/fplustm.h b/drivers/net/fddi/skfp/h/fplustm.h
similarity index 100%
rename from drivers/net/skfp/h/fplustm.h
rename to drivers/net/fddi/skfp/h/fplustm.h
diff --git a/drivers/net/skfp/h/hwmtm.h b/drivers/net/fddi/skfp/h/hwmtm.h
similarity index 100%
rename from drivers/net/skfp/h/hwmtm.h
rename to drivers/net/fddi/skfp/h/hwmtm.h
diff --git a/drivers/net/skfp/h/mbuf.h b/drivers/net/fddi/skfp/h/mbuf.h
similarity index 100%
rename from drivers/net/skfp/h/mbuf.h
rename to drivers/net/fddi/skfp/h/mbuf.h
diff --git a/drivers/net/skfp/h/osdef1st.h b/drivers/net/fddi/skfp/h/osdef1st.h
similarity index 100%
rename from drivers/net/skfp/h/osdef1st.h
rename to drivers/net/fddi/skfp/h/osdef1st.h
diff --git a/drivers/net/skfp/h/sba.h b/drivers/net/fddi/skfp/h/sba.h
similarity index 100%
rename from drivers/net/skfp/h/sba.h
rename to drivers/net/fddi/skfp/h/sba.h
diff --git a/drivers/net/skfp/h/sba_def.h b/drivers/net/fddi/skfp/h/sba_def.h
similarity index 100%
rename from drivers/net/skfp/h/sba_def.h
rename to drivers/net/fddi/skfp/h/sba_def.h
diff --git a/drivers/net/skfp/h/skfbi.h b/drivers/net/fddi/skfp/h/skfbi.h
similarity index 100%
rename from drivers/net/skfp/h/skfbi.h
rename to drivers/net/fddi/skfp/h/skfbi.h
diff --git a/drivers/net/skfp/h/skfbiinc.h b/drivers/net/fddi/skfp/h/skfbiinc.h
similarity index 100%
rename from drivers/net/skfp/h/skfbiinc.h
rename to drivers/net/fddi/skfp/h/skfbiinc.h
diff --git a/drivers/net/skfp/h/smc.h b/drivers/net/fddi/skfp/h/smc.h
similarity index 100%
rename from drivers/net/skfp/h/smc.h
rename to drivers/net/fddi/skfp/h/smc.h
diff --git a/drivers/net/skfp/h/smt.h b/drivers/net/fddi/skfp/h/smt.h
similarity index 100%
rename from drivers/net/skfp/h/smt.h
rename to drivers/net/fddi/skfp/h/smt.h
diff --git a/drivers/net/skfp/h/smt_p.h b/drivers/net/fddi/skfp/h/smt_p.h
similarity index 100%
rename from drivers/net/skfp/h/smt_p.h
rename to drivers/net/fddi/skfp/h/smt_p.h
diff --git a/drivers/net/skfp/h/smtstate.h b/drivers/net/fddi/skfp/h/smtstate.h
similarity index 100%
rename from drivers/net/skfp/h/smtstate.h
rename to drivers/net/fddi/skfp/h/smtstate.h
diff --git a/drivers/net/skfp/h/supern_2.h b/drivers/net/fddi/skfp/h/supern_2.h
similarity index 100%
rename from drivers/net/skfp/h/supern_2.h
rename to drivers/net/fddi/skfp/h/supern_2.h
diff --git a/drivers/net/skfp/h/targethw.h b/drivers/net/fddi/skfp/h/targethw.h
similarity index 100%
rename from drivers/net/skfp/h/targethw.h
rename to drivers/net/fddi/skfp/h/targethw.h
diff --git a/drivers/net/skfp/h/targetos.h b/drivers/net/fddi/skfp/h/targetos.h
similarity index 100%
rename from drivers/net/skfp/h/targetos.h
rename to drivers/net/fddi/skfp/h/targetos.h
diff --git a/drivers/net/skfp/h/types.h b/drivers/net/fddi/skfp/h/types.h
similarity index 100%
rename from drivers/net/skfp/h/types.h
rename to drivers/net/fddi/skfp/h/types.h
diff --git a/drivers/net/skfp/hwmtm.c b/drivers/net/fddi/skfp/hwmtm.c
similarity index 100%
rename from drivers/net/skfp/hwmtm.c
rename to drivers/net/fddi/skfp/hwmtm.c
diff --git a/drivers/net/skfp/hwt.c b/drivers/net/fddi/skfp/hwt.c
similarity index 100%
rename from drivers/net/skfp/hwt.c
rename to drivers/net/fddi/skfp/hwt.c
diff --git a/drivers/net/skfp/pcmplc.c b/drivers/net/fddi/skfp/pcmplc.c
similarity index 100%
rename from drivers/net/skfp/pcmplc.c
rename to drivers/net/fddi/skfp/pcmplc.c
diff --git a/drivers/net/skfp/pmf.c b/drivers/net/fddi/skfp/pmf.c
similarity index 100%
rename from drivers/net/skfp/pmf.c
rename to drivers/net/fddi/skfp/pmf.c
diff --git a/drivers/net/skfp/queue.c b/drivers/net/fddi/skfp/queue.c
similarity index 100%
rename from drivers/net/skfp/queue.c
rename to drivers/net/fddi/skfp/queue.c
diff --git a/drivers/net/skfp/rmt.c b/drivers/net/fddi/skfp/rmt.c
similarity index 100%
rename from drivers/net/skfp/rmt.c
rename to drivers/net/fddi/skfp/rmt.c
diff --git a/drivers/net/skfp/skfddi.c b/drivers/net/fddi/skfp/skfddi.c
similarity index 100%
rename from drivers/net/skfp/skfddi.c
rename to drivers/net/fddi/skfp/skfddi.c
diff --git a/drivers/net/skfp/smt.c b/drivers/net/fddi/skfp/smt.c
similarity index 100%
rename from drivers/net/skfp/smt.c
rename to drivers/net/fddi/skfp/smt.c
diff --git a/drivers/net/skfp/smtdef.c b/drivers/net/fddi/skfp/smtdef.c
similarity index 100%
rename from drivers/net/skfp/smtdef.c
rename to drivers/net/fddi/skfp/smtdef.c
diff --git a/drivers/net/skfp/smtinit.c b/drivers/net/fddi/skfp/smtinit.c
similarity index 100%
rename from drivers/net/skfp/smtinit.c
rename to drivers/net/fddi/skfp/smtinit.c
diff --git a/drivers/net/skfp/smttimer.c b/drivers/net/fddi/skfp/smttimer.c
similarity index 100%
rename from drivers/net/skfp/smttimer.c
rename to drivers/net/fddi/skfp/smttimer.c
diff --git a/drivers/net/skfp/srf.c b/drivers/net/fddi/skfp/srf.c
similarity index 100%
rename from drivers/net/skfp/srf.c
rename to drivers/net/fddi/skfp/srf.c
-- 
1.7.6

^ permalink raw reply related

* [net-next 02/10] skfp: Fix SysKonnect FDDI driver compile issues
From: Jeff Kirsher @ 2011-08-24  9:02 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, Maciej W. Rozycki, Christoph Goos,
	linux
In-Reply-To: <1314176570-20298-1-git-send-email-jeffrey.t.kirsher@intel.com>

After moving the skfp driver, issues with the #include pathing to
their locel headers was somehow exposed.  Several headers had the
incorrect path, so they were not able to be found during compile
time.

This patch fixes up the path issues to the local headers that need
to be included.

CC: "Maciej W. Rozycki" <macro@linux-mips.org>
CC: Christoph Goos <cgoos@syskonnect.de>
CC: <linux@syskonnect.de>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/fddi/skfp/h/cmtdef.h   |    4 ++--
 drivers/net/fddi/skfp/h/hwmtm.h    |    2 +-
 drivers/net/fddi/skfp/h/sba.h      |    4 ++--
 drivers/net/fddi/skfp/h/skfbiinc.h |    2 +-
 drivers/net/fddi/skfp/h/smc.h      |   14 +++++++-------
 drivers/net/fddi/skfp/h/targethw.h |    6 +++---
 drivers/net/fddi/skfp/h/targetos.h |    2 +-
 7 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/drivers/net/fddi/skfp/h/cmtdef.h b/drivers/net/fddi/skfp/h/cmtdef.h
index 5a6c612..f5bc90f 100644
--- a/drivers/net/fddi/skfp/h/cmtdef.h
+++ b/drivers/net/fddi/skfp/h/cmtdef.h
@@ -477,8 +477,8 @@ struct s_plc {
 /*
  * function prototypes
  */
-#include "h/mbuf.h"	/* Type definitions for MBUFs */
-#include "h/smtstate.h"	/* struct smt_state */
+#include "mbuf.h"	/* Type definitions for MBUFs */
+#include "smtstate.h"	/* struct smt_state */
 
 void hwt_restart(struct s_smc *smc);	/* hwt.c */
 SMbuf *smt_build_frame(struct s_smc *smc, int class, int type,
diff --git a/drivers/net/fddi/skfp/h/hwmtm.h b/drivers/net/fddi/skfp/h/hwmtm.h
index e1a7e5f..5924d42 100644
--- a/drivers/net/fddi/skfp/h/hwmtm.h
+++ b/drivers/net/fddi/skfp/h/hwmtm.h
@@ -15,7 +15,7 @@
 #ifndef	_HWM_
 #define	_HWM_
 
-#include "h/mbuf.h"
+#include "mbuf.h"
 
 /*
  * MACRO for DMA synchronization:
diff --git a/drivers/net/fddi/skfp/h/sba.h b/drivers/net/fddi/skfp/h/sba.h
index 638cf02..35ddb44 100644
--- a/drivers/net/fddi/skfp/h/sba.h
+++ b/drivers/net/fddi/skfp/h/sba.h
@@ -19,8 +19,8 @@
 #ifndef _SBA_
 #define _SBA_
 
-#include "h/mbuf.h"
-#include "h/sba_def.h"
+#include "mbuf.h"
+#include "sba_def.h"
 
 #ifdef	SBA
 
diff --git a/drivers/net/fddi/skfp/h/skfbiinc.h b/drivers/net/fddi/skfp/h/skfbiinc.h
index ac2d719..ce72557 100644
--- a/drivers/net/fddi/skfp/h/skfbiinc.h
+++ b/drivers/net/fddi/skfp/h/skfbiinc.h
@@ -15,7 +15,7 @@
 #ifndef	_SKFBIINC_
 #define _SKFBIINC_
 
-#include "h/supern_2.h"
+#include "supern_2.h"
 
 /*
  * special defines for use into .asm files
diff --git a/drivers/net/fddi/skfp/h/smc.h b/drivers/net/fddi/skfp/h/smc.h
index c774a95..3ca308b 100644
--- a/drivers/net/fddi/skfp/h/smc.h
+++ b/drivers/net/fddi/skfp/h/smc.h
@@ -38,18 +38,18 @@
  *	fddi.h
  */
 #ifdef	OSDEF
-#include "h/osdef1st.h"
+#include "osdef1st.h"
 #endif	/* OSDEF */
 #ifdef	OEM_CONCEPT
 #include "oemdef.h"
 #endif	/* OEM_CONCEPT */
-#include "h/smt.h"
-#include "h/cmtdef.h"
-#include "h/fddimib.h"
-#include "h/targethw.h"		/* all target hw dependencies */
-#include "h/targetos.h"		/* all target os dependencies */
+#include "smt.h"
+#include "cmtdef.h"
+#include "fddimib.h"
+#include "targethw.h"		/* all target hw dependencies */
+#include "targetos.h"		/* all target os dependencies */
 #ifdef	ESS
-#include "h/sba.h"
+#include "sba.h"
 #endif
 
 /*
diff --git a/drivers/net/fddi/skfp/h/targethw.h b/drivers/net/fddi/skfp/h/targethw.h
index 626dc72..842a690 100644
--- a/drivers/net/fddi/skfp/h/targethw.h
+++ b/drivers/net/fddi/skfp/h/targethw.h
@@ -25,11 +25,11 @@
 #define SK_ML_ID_2	0x30
 #endif
 
-#include	"h/skfbi.h"
+#include	"skfbi.h"
 #ifndef TAG_MODE	
-#include	"h/fplus.h"
+#include	"fplus.h"
 #else
-#include	"h/fplustm.h"
+#include	"fplustm.h"
 #endif
 
 #ifndef	HW_PTR
diff --git a/drivers/net/fddi/skfp/h/targetos.h b/drivers/net/fddi/skfp/h/targetos.h
index 5d940e7..53bacc1 100644
--- a/drivers/net/fddi/skfp/h/targetos.h
+++ b/drivers/net/fddi/skfp/h/targetos.h
@@ -58,7 +58,7 @@
 #define	ADDR(a) (((a)>>7) ? (outp(smc->hw.iop+B0_RAP,(a)>>7), (smc->hw.iop+( ((a)&0x7F) | ((a)>>7 ? 0x80:0)) )) : (smc->hw.iop+(((a)&0x7F)|((a)>>7 ? 0x80:0))))
 #endif
 
-#include "h/hwmtm.h"
+#include "hwmtm.h"
 
 #define TRUE  1
 #define FALSE 0
-- 
1.7.6

^ permalink raw reply related

* [net-next 04/10] hippi: Move the HIPPI driver
From: Jeff Kirsher @ 2011-08-24  9:02 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, Jes Sorensen, Jes Sorensen
In-Reply-To: <1314176570-20298-1-git-send-email-jeffrey.t.kirsher@intel.com>

Move the HIPPI driver into drivers/net/hippi/ and make the
necessary Kconfig and Makefile changes.

CC: Jes Sorensen <jes@wildopensource.com>
CC: Jes Sorensen <jes@trained-monkey.org>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 MAINTAINERS                       |    1 +
 drivers/net/Kconfig               |   32 ------------------------------
 drivers/net/Makefile              |    2 +-
 drivers/net/hippi/Kconfig         |   39 +++++++++++++++++++++++++++++++++++++
 drivers/net/hippi/Makefile        |    5 ++++
 drivers/net/{ => hippi}/rrunner.c |    0
 drivers/net/{ => hippi}/rrunner.h |    0
 7 files changed, 46 insertions(+), 33 deletions(-)
 create mode 100644 drivers/net/hippi/Kconfig
 create mode 100644 drivers/net/hippi/Makefile
 rename drivers/net/{ => hippi}/rrunner.c (100%)
 rename drivers/net/{ => hippi}/rrunner.h (100%)

diff --git a/MAINTAINERS b/MAINTAINERS
index c5ec925..194095a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3049,6 +3049,7 @@ S:	Maintained
 F:	include/linux/hippidevice.h
 F:	include/linux/if_hippi.h
 F:	net/802/hippi.c
+F:	drivers/net/hippi/
 
 HOST AP DRIVER
 M:	Jouni Malinen <j@w1.fi>
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index c5e2a38..1d8fa95 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -272,38 +272,6 @@ config RIONET_RX_SIZE
 	depends on RIONET
 	default "128"
 
-config HIPPI
-	bool "HIPPI driver support (EXPERIMENTAL)"
-	depends on EXPERIMENTAL && INET && PCI
-	help
-	  HIgh Performance Parallel Interface (HIPPI) is a 800Mbit/sec and
-	  1600Mbit/sec dual-simplex switched or point-to-point network. HIPPI
-	  can run over copper (25m) or fiber (300m on multi-mode or 10km on
-	  single-mode). HIPPI networks are commonly used for clusters and to
-	  connect to super computers. If you are connected to a HIPPI network
-	  and have a HIPPI network card in your computer that you want to use
-	  under Linux, say Y here (you must also remember to enable the driver
-	  for your HIPPI card below). Most people will say N here.
-
-config ROADRUNNER
-	tristate "Essential RoadRunner HIPPI PCI adapter support (EXPERIMENTAL)"
-	depends on HIPPI && PCI
-	help
-	  Say Y here if this is your PCI HIPPI network card.
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called rrunner.  If unsure, say N.
-
-config ROADRUNNER_LARGE_RINGS
-	bool "Use large TX/RX rings (EXPERIMENTAL)"
-	depends on ROADRUNNER
-	help
-	  If you say Y here, the RoadRunner driver will preallocate up to 2 MB
-	  of additional memory to allow for fastest operation, both for
-	  transmitting and receiving. This memory cannot be used by any other
-	  kernel code or by user space programs. Say Y here only if you have
-	  the memory.
-
 config PLIP
 	tristate "PLIP (parallel port) support"
 	depends on PARPORT
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index 9ce7c70..aff07bd 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
@@ -13,7 +13,6 @@ obj-$(CONFIG_VMXNET3) += vmxnet3/
 # link order important here
 #
 obj-$(CONFIG_PLIP) += plip.o
-obj-$(CONFIG_ROADRUNNER) += rrunner.o
 obj-$(CONFIG_RIONET) += rionet.o
 
 #
@@ -39,6 +38,7 @@ obj-$(CONFIG_VETH) += veth.o
 obj-$(CONFIG_DEV_APPLETALK) += appletalk/
 obj-$(CONFIG_ETHERNET) += ethernet/
 obj-$(CONFIG_FDDI) += fddi/
+obj-$(CONFIG_HIPPI) += hippi/
 onj-$(CONFIG_PPP) += ppp/
 obj-$(CONFIG_TR) += tokenring/
 obj-$(CONFIG_WAN) += wan/
diff --git a/drivers/net/hippi/Kconfig b/drivers/net/hippi/Kconfig
new file mode 100644
index 0000000..7393eb7
--- /dev/null
+++ b/drivers/net/hippi/Kconfig
@@ -0,0 +1,39 @@
+#
+# HIPPI network device configuration
+#
+
+config HIPPI
+	bool "HIPPI driver support (EXPERIMENTAL)"
+	depends on EXPERIMENTAL && INET && PCI
+	---help---
+	  HIgh Performance Parallel Interface (HIPPI) is a 800Mbit/sec and
+	  1600Mbit/sec dual-simplex switched or point-to-point network. HIPPI
+	  can run over copper (25m) or fiber (300m on multi-mode or 10km on
+	  single-mode). HIPPI networks are commonly used for clusters and to
+	  connect to super computers. If you are connected to a HIPPI network
+	  and have a HIPPI network card in your computer that you want to use
+	  under Linux, say Y here (you must also remember to enable the driver
+	  for your HIPPI card below). Most people will say N here.
+
+if HIPPI
+
+config ROADRUNNER
+	tristate "Essential RoadRunner HIPPI PCI adapter support (EXPERIMENTAL)"
+	depends on PCI
+	---help---
+	  Say Y here if this is your PCI HIPPI network card.
+
+	  To compile this driver as a module, choose M here: the module
+	  will be called rrunner.  If unsure, say N.
+
+config ROADRUNNER_LARGE_RINGS
+	bool "Use large TX/RX rings (EXPERIMENTAL)"
+	depends on ROADRUNNER
+	---help---
+	  If you say Y here, the RoadRunner driver will preallocate up to 2 MB
+	  of additional memory to allow for fastest operation, both for
+	  transmitting and receiving. This memory cannot be used by any other
+	  kernel code or by user space programs. Say Y here only if you have
+	  the memory.
+
+endif /* HIPPI */
diff --git a/drivers/net/hippi/Makefile b/drivers/net/hippi/Makefile
new file mode 100644
index 0000000..b95d629
--- /dev/null
+++ b/drivers/net/hippi/Makefile
@@ -0,0 +1,5 @@
+#
+# Makefile for the HIPPI network device drivers.
+#
+
+obj-$(CONFIG_ROADRUNNER) += rrunner.o
diff --git a/drivers/net/rrunner.c b/drivers/net/hippi/rrunner.c
similarity index 100%
rename from drivers/net/rrunner.c
rename to drivers/net/hippi/rrunner.c
diff --git a/drivers/net/rrunner.h b/drivers/net/hippi/rrunner.h
similarity index 100%
rename from drivers/net/rrunner.h
rename to drivers/net/hippi/rrunner.h
-- 
1.7.6

^ permalink raw reply related

* [net-next 05/10] plip: Move the PLIP driver
From: Jeff Kirsher @ 2011-08-24  9:02 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, Niibe Yutaka
In-Reply-To: <1314176570-20298-1-git-send-email-jeffrey.t.kirsher@intel.com>

Move the Parallel Line Internet Protocol (PLIP) driver into
drivers/net/plip/ and make the necessary Kconfig and Makefile changes.

CC: Niibe Yutaka <gniibe@mri.co.jp>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Acked-by: Alan Cox <alan@linux.intel.com>
---
 drivers/net/Kconfig           |   37 ++-----------------------------------
 drivers/net/Makefile          |    2 +-
 drivers/net/plip/Kconfig      |   38 ++++++++++++++++++++++++++++++++++++++
 drivers/net/plip/Makefile     |    5 +++++
 drivers/net/{ => plip}/plip.c |    0
 5 files changed, 46 insertions(+), 36 deletions(-)
 create mode 100644 drivers/net/plip/Kconfig
 create mode 100644 drivers/net/plip/Makefile
 rename drivers/net/{ => plip}/plip.c (100%)

diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index 1d8fa95..3f72686 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -197,6 +197,8 @@ source "drivers/net/ethernet/Kconfig"
 
 source "drivers/net/fddi/Kconfig"
 
+source "drivers/net/plip/Kconfig"
+
 source "drivers/net/tokenring/Kconfig"
 
 source "drivers/net/wireless/Kconfig"
@@ -272,41 +274,6 @@ config RIONET_RX_SIZE
 	depends on RIONET
 	default "128"
 
-config PLIP
-	tristate "PLIP (parallel port) support"
-	depends on PARPORT
-	---help---
-	  PLIP (Parallel Line Internet Protocol) is used to create a
-	  reasonably fast mini network consisting of two (or, rarely, more)
-	  local machines.  A PLIP link from a Linux box is a popular means to
-	  install a Linux distribution on a machine which doesn't have a
-	  CD-ROM drive (a minimal system has to be transferred with floppies
-	  first). The kernels on both machines need to have this PLIP option
-	  enabled for this to work.
-
-	  The PLIP driver has two modes, mode 0 and mode 1.  The parallel
-	  ports (the connectors at the computers with 25 holes) are connected
-	  with "null printer" or "Turbo Laplink" cables which can transmit 4
-	  bits at a time (mode 0) or with special PLIP cables, to be used on
-	  bidirectional parallel ports only, which can transmit 8 bits at a
-	  time (mode 1); you can find the wiring of these cables in
-	  <file:Documentation/networking/PLIP.txt>.  The cables can be up to
-	  15m long.  Mode 0 works also if one of the machines runs DOS/Windows
-	  and has some PLIP software installed, e.g. the Crynwr PLIP packet
-	  driver (<http://oak.oakland.edu/simtel.net/msdos/pktdrvr-pre.html>)
-	  and winsock or NCSA's telnet.
-
-	  If you want to use PLIP, say Y and read the PLIP mini-HOWTO as well
-	  as the NET-3-HOWTO, both available from
-	  <http://www.tldp.org/docs.html#howto>.  Note that the PLIP
-	  protocol has been changed and this PLIP driver won't work together
-	  with the PLIP support in Linux versions 1.0.x.  This option enlarges
-	  your kernel by about 8 KB.
-
-	  To compile this driver as a module, choose M here. The module
-	  will be called plip. If unsure, say Y or M, in case you buy
-	  a laptop later.
-
 config SLIP
 	tristate "SLIP (serial line) support"
 	---help---
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index aff07bd..7013815 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
@@ -12,7 +12,6 @@ obj-$(CONFIG_VMXNET3) += vmxnet3/
 #
 # link order important here
 #
-obj-$(CONFIG_PLIP) += plip.o
 obj-$(CONFIG_RIONET) += rionet.o
 
 #
@@ -39,6 +38,7 @@ obj-$(CONFIG_DEV_APPLETALK) += appletalk/
 obj-$(CONFIG_ETHERNET) += ethernet/
 obj-$(CONFIG_FDDI) += fddi/
 obj-$(CONFIG_HIPPI) += hippi/
+obj-$(CONFIG_PLIP) += plip/
 onj-$(CONFIG_PPP) += ppp/
 obj-$(CONFIG_TR) += tokenring/
 obj-$(CONFIG_WAN) += wan/
diff --git a/drivers/net/plip/Kconfig b/drivers/net/plip/Kconfig
new file mode 100644
index 0000000..80c4a33
--- /dev/null
+++ b/drivers/net/plip/Kconfig
@@ -0,0 +1,38 @@
+#
+# Parallel Line Internet Protocol (PLIP) network device configuration
+#
+
+config PLIP
+	tristate "PLIP (parallel port) support"
+	depends on PARPORT
+	---help---
+	  PLIP (Parallel Line Internet Protocol) is used to create a
+	  reasonably fast mini network consisting of two (or, rarely, more)
+	  local machines.  A PLIP link from a Linux box is a popular means to
+	  install a Linux distribution on a machine which doesn't have a
+	  CD-ROM drive (a minimal system has to be transferred with floppies
+	  first). The kernels on both machines need to have this PLIP option
+	  enabled for this to work.
+
+	  The PLIP driver has two modes, mode 0 and mode 1.  The parallel
+	  ports (the connectors at the computers with 25 holes) are connected
+	  with "null printer" or "Turbo Laplink" cables which can transmit 4
+	  bits at a time (mode 0) or with special PLIP cables, to be used on
+	  bidirectional parallel ports only, which can transmit 8 bits at a
+	  time (mode 1); you can find the wiring of these cables in
+	  <file:Documentation/networking/PLIP.txt>.  The cables can be up to
+	  15m long.  Mode 0 works also if one of the machines runs DOS/Windows
+	  and has some PLIP software installed, e.g. the Crynwr PLIP packet
+	  driver (<http://oak.oakland.edu/simtel.net/msdos/pktdrvr-pre.html>)
+	  and winsock or NCSA's telnet.
+
+	  If you want to use PLIP, say Y and read the PLIP mini-HOWTO as well
+	  as the NET-3-HOWTO, both available from
+	  <http://www.tldp.org/docs.html#howto>.  Note that the PLIP
+	  protocol has been changed and this PLIP driver won't work together
+	  with the PLIP support in Linux versions 1.0.x.  This option enlarges
+	  your kernel by about 8 KB.
+
+	  To compile this driver as a module, choose M here. The module
+	  will be called plip. If unsure, say Y or M, in case you buy
+	  a laptop later.
diff --git a/drivers/net/plip/Makefile b/drivers/net/plip/Makefile
new file mode 100644
index 0000000..ed95879
--- /dev/null
+++ b/drivers/net/plip/Makefile
@@ -0,0 +1,5 @@
+#
+# Makefile for the PLIP network device drivers.
+#
+
+obj-$(CONFIG_PLIP) += plip.o
diff --git a/drivers/net/plip.c b/drivers/net/plip/plip.c
similarity index 100%
rename from drivers/net/plip.c
rename to drivers/net/plip/plip.c
-- 
1.7.6

^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox