openwrt/staging/blogic.git
13 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/next...
David S. Miller [Sat, 27 Aug 2011 16:14:34 +0000 (12:14 -0400)]
Merge branch 'master' of /linux/kernel/git/jkirsher/next-organize

13 years agodrivers/net/ethernet/*: Enabled vendor Kconfig options
Jeff Kirsher [Tue, 23 Aug 2011 08:29:52 +0000 (01:29 -0700)]
drivers/net/ethernet/*: Enabled vendor Kconfig options

Based on finds for Stephen Rothwell, where current defconfig's
enable a ethernet driver and it is not compiled due to the newly
added NET_VENDOR_* component of Kconfig.

This patch enables all the "new" Kconfig options so that current
defconfig's will continue to compile the expected drivers.  In
addition, by enabling all the new Kconfig options does not add
any un-expected options.

CC: Stephen Rothwll <sfc@canb.auug.org.au>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agodrivers/net: Kconfig & Makefile cleanup
Jeff Kirsher [Tue, 23 Aug 2011 07:42:10 +0000 (00:42 -0700)]
drivers/net: Kconfig & Makefile cleanup

The is does a general cleanup of the drivers/net/ Kconfig and
Makefile.  This patch create a "core" option and places all
the networking core drivers into this option (default is yes
for this option).  In addition, it alphabitizes the Kconfig
driver options.

As a side cleanup, found that the arcnet, token ring, and PHY
Kconfig options were a tri-state option and should have been
a bool option.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agocom20020_cs: Move the PCMCIA Arcnet driver
Jeff Kirsher [Tue, 23 Aug 2011 01:04:50 +0000 (18:04 -0700)]
com20020_cs: Move the PCMCIA Arcnet driver

Move the COM20020 PCMICA Arcnet driver into drivers/net/arcnet/ with
the other Arcnet drivers.  Made the necessary Kconfig and Makefile
changes as well.

Since this was the "last" PCMCIA driver in drivers/net/pcmcia/, this patch
also cleans up the references to drivers/net/pcmcia.

CC: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixbmtr_cs: Move the IBM PCMCIA Token Ring driver
Jeff Kirsher [Tue, 23 Aug 2011 00:37:03 +0000 (17:37 -0700)]
ixbmtr_cs: Move the IBM PCMCIA Token Ring driver

Move the IBM PCMCIA Token Ring driver into drivers/net/tokenring/ with
the other Token Ring drivers.  Made the necessary Kconfig and Makefile
changes as well.

CC: Mike Phillips <phillim@amtrak.com>
CC: Burt Silverman <burts@us.ibm.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoslip: Move the SLIP drivers
Jeff Kirsher [Wed, 3 Aug 2011 10:17:13 +0000 (03:17 -0700)]
slip: Move the SLIP drivers

Move the Serial Line Internet Protocol (SLIP) drivers into
drivers/net/slip/ and make the necessary Kconfig and Makefile
changes.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Acked-by: Alan Cox <alan@linux.intel.com>
13 years agoplip: Move the PLIP driver
Jeff Kirsher [Wed, 3 Aug 2011 10:01:58 +0000 (03:01 -0700)]
plip: Move the PLIP driver

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>
13 years agohippi: Move the HIPPI driver
Jeff Kirsher [Tue, 2 Aug 2011 05:48:13 +0000 (22:48 -0700)]
hippi: Move the HIPPI driver

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>
13 years agoppp: Move the PPP drivers
Jeff Kirsher [Sun, 31 Jul 2011 09:38:19 +0000 (02:38 -0700)]
ppp: Move the PPP drivers

Move the PPP drivers into drivers/net/ppp/ and make the
necessary Kconfig and Makefile changes.

CC: Paul Mackerras <paulus@samba.org>
CC: Frank Cusack <fcusack@fcusack.com>
CC: Michal Ostrowski <mostrows@speakeasy.net>
CC: Michal Ostrowski <mostrows@earthlink.net>
CC: Dmitry Kozlov <xeb@mail.ru>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoskfp: Fix SysKonnect FDDI driver compile issues
Jeff Kirsher [Wed, 24 Aug 2011 08:34:35 +0000 (01:34 -0700)]
skfp: Fix SysKonnect FDDI driver compile issues

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>
13 years agofddi: Move the FDDI drivers
Jeff Kirsher [Sun, 31 Jul 2011 07:06:29 +0000 (00:06 -0700)]
fddi: Move the FDDI drivers

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>
13 years agoixgbe: convert rings from q_vector bit indexed array to linked list
Alexander Duyck [Fri, 15 Jul 2011 03:05:21 +0000 (03:05 +0000)]
ixgbe: convert rings from q_vector bit indexed array to linked list

This change converts the current bit array into a linked list so that the
q_vectors can simply go through ring by ring and locate each ring needing
to be cleaned.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe: Simplify transmit cleanup path
Alexander Duyck [Fri, 15 Jul 2011 03:05:14 +0000 (03:05 +0000)]
ixgbe: Simplify transmit cleanup path

This patch helps to simplify the work being done by the transmit path by
removing the unnecessary compares between count and the work limit.  Instead
we can simplify this by just adding a budget value that will act as a count
down from the work limit value.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbevf: convert to ndo_fix_features
Michał Mirosław [Wed, 8 Jun 2011 08:53:03 +0000 (08:53 +0000)]
ixgbevf: convert to ndo_fix_features

Private rx_csum flags are now duplicate of netdev->features & NETIF_F_RXCSUM.
Removing this needs deeper surgery.

Since ixgbevf doesn't change hardware state on RX csum enable/disable
its reset is avoided.

Things noticed:
 - HW VLAN acceleration probably can be toggled, but it's left as is
 - the resets on RX csum offload change can probably be avoided
 - there is A LOT of copy-and-pasted code here

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbevf: provide 64 bit statistics
Eric Dumazet [Wed, 22 Jun 2011 05:01:35 +0000 (05:01 +0000)]
ixgbevf: provide 64 bit statistics

Compute statistics per ring using 64 bits, and provide
network device stats in 64 bits.

It should make this driver multiqueue operations faster (no more cache
line ping pongs on netdev->stats structure)

Use u64_stats_sync infrastructure so that its safe on 32bit arches as
well.

Based on a prior patch from Stephen Hemminger

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Greg Rose <gregory.v.rose@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbevf: Check if EOP has changed before using it
Greg Rose [Fri, 3 Jun 2011 03:53:24 +0000 (03:53 +0000)]
ixgbevf: Check if EOP has changed before using it

There is a chance that between the time EOP is read and the time it is
used another transmit on a different CPU could have run and completed,
thus leaving EOP in a bad state.

Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoe1000e: convert to netdev features/hw_features API
Bruce Allan [Fri, 19 Aug 2011 03:23:48 +0000 (03:23 +0000)]
e1000e: convert to netdev features/hw_features API

Private rx_csum flags are now duplicate of netdev->features &
NETIF_F_RXCSUM.  Remove those duplicates and use the net_device_ops
ndo_set_features.  This is based on the original patch submitted by
Michał Mirosław <mirq-linux@rere.qmqm.pl>

Cc: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoMerge branch 'davem-next.mii' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu...
David S. Miller [Fri, 26 Aug 2011 17:13:04 +0000 (13:13 -0400)]
Merge branch 'davem-next.mii' of git://git./linux/kernel/git/romieu/netdev-2.6

13 years agoe1000: save skb counts in TX to avoid cache misses
Dean Nelson [Thu, 25 Aug 2011 14:39:24 +0000 (14:39 +0000)]
e1000: save skb counts in TX to avoid cache misses

Virtual Machines with emulated e1000 network adapter running on Parallels'
server were seeing kernel panics due to the e1000 driver dereferencing an
unexpected NULL pointer retrieved from buffer_info->skb.

The problem has been addressed for the e1000e driver, but not for the e1000.
Since the two drivers share similar code in the affected area, a port of the
following e1000e driver commit solves the issue for the e1000 driver:

commit 9ed318d546a29d7a591dbe648fd1a2efe3be1180
Author: Tom Herbert <therbert@google.com>
Date:   Wed May 5 14:02:27 2010 +0000

    e1000e: save skb counts in TX to avoid cache misses

    In e1000_tx_map, precompute number of segements and bytecounts which
    are derived from fields in skb; these are stored in buffer_info.  When
    cleaning tx in e1000_clean_tx_irq use the values in the associated
    buffer_info for statistics counting, this eliminates cache misses
    on skb fields.

Signed-off-by: Dean Nelson <dnelson@redhat.com>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet_sched: sfb: optimize enqueue on full queue
Eric Dumazet [Thu, 25 Aug 2011 06:21:32 +0000 (06:21 +0000)]
net_sched: sfb: optimize enqueue on full queue

In case SFB queue is full (hard limit reached), there is no point
spending time to compute hash and maximum qlen/p_mark.

We instead just early drop packet.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobna: off by one in bfa_msgq_rspq_pi_update()
Dan Carpenter [Wed, 24 Aug 2011 01:30:28 +0000 (01:30 +0000)]
bna: off by one in bfa_msgq_rspq_pi_update()

The rspq->rsphdlr[] array has BFI_MC_MAX elements, so this test was
off by one.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Rasesh Mody <rmody@brocade.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobna: unlock on error path in pnad_pci_probe()
Dan Carpenter [Wed, 24 Aug 2011 01:29:22 +0000 (01:29 +0000)]
bna: unlock on error path in pnad_pci_probe()

We introduced a new lock here, so there was error path which needs
an unlock now.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Rasesh Mody <rmody@brocade.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2x: Add new PHY BCM54616
Yaniv Rosner [Tue, 23 Aug 2011 06:33:24 +0000 (06:33 +0000)]
bnx2x: Add new PHY BCM54616

The BCM54616 PHY is very similar to the 54618SE, only without EEE support, which will not be activated due to querying the actual PHY type.
This check is already done by reading a dedicated PHY register.

Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2x: resurrect RX hashing
Michal Schmidt [Tue, 23 Aug 2011 06:15:32 +0000 (06:15 +0000)]
bnx2x: resurrect RX hashing

bnx2x used to be able to set rxhash, but this was lost in the conversion
to hw_features (commit 66371c441).
Restore it and enable it by default.

Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
CC: Vladislav Zolotarov <vladz@broadcom.com>
CC: Eilon Greenstein <eilong@broadcom.com>
CC: Dmitry Kravkov <dmitry@broadcom.com>
CC: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoaf_packet: Prefixed tpacket_v3 structs to avoid name space collision
chetan loke [Thu, 25 Aug 2011 10:43:30 +0000 (10:43 +0000)]
af_packet: Prefixed tpacket_v3 structs to avoid name space collision

structs introduced in tpacket_v3 implementation are prefixed with 'tpacket'
to avoid namespace collision.

Compile tested.

Signed-off-by: Chetan Loke <loke.chetan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agofcoe: convert to SKB paged frag API.
Ian Campbell [Wed, 24 Aug 2011 22:28:15 +0000 (22:28 +0000)]
fcoe: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Robert Love <robert.w.love@intel.com>
Cc: "James E.J. Bottomley" <JBottomley@parallels.com>
Cc: devel@open-fcoe.org
Cc: linux-scsi@vger.kernel.org
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2fc: convert to SKB paged frag API.
Ian Campbell [Wed, 24 Aug 2011 22:28:14 +0000 (22:28 +0000)]
bnx2fc: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
Cc: "James E.J. Bottomley" <JBottomley@parallels.com>
Cc: linux-scsi@vger.kernel.org
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2x: convert to SKB paged frag API.
Ian Campbell [Wed, 24 Aug 2011 22:28:13 +0000 (22:28 +0000)]
bnx2x: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Eilon Greenstein <eilong@broadcom.com>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2: convert to SKB paged frag API.
Ian Campbell [Wed, 24 Aug 2011 22:28:12 +0000 (22:28 +0000)]
bnx2: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Michael Chan <mchan@broadcom.com>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agotg3: convert to SKB paged frag API.
Ian Campbell [Wed, 24 Aug 2011 22:28:11 +0000 (22:28 +0000)]
tg3: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Matt Carlson <mcarlson@broadcom.com>
Cc: Michael Chan <mchan@broadcom.com>
Cc: netdev@vger.kernel.org
Cc: devicetree-discuss@lists.ozlabs.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoIPoIB: convert to SKB paged frag API.
Ian Campbell [Wed, 24 Aug 2011 22:28:10 +0000 (22:28 +0000)]
IPoIB: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Roland Dreier <roland@kernel.org>
Cc: Sean Hefty <sean.hefty@intel.com>
Cc: Hal Rosenstock <hal.rosenstock@gmail.com>
Cc: linux-rdma@vger.kernel.org
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoIB: nes: convert to SKB paged frag API.
Ian Campbell [Wed, 24 Aug 2011 22:28:09 +0000 (22:28 +0000)]
IB: nes: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Faisal Latif <faisal.latif@intel.com>
Cc: Roland Dreier <roland@kernel.org>
Cc: Sean Hefty <sean.hefty@intel.com>
Cc: Hal Rosenstock <hal.rosenstock@gmail.com>
Cc: linux-rdma@vger.kernel.org
Cc: netdev@vger.kernel.org
Acked-by: Faisal Latif <faisal.latif@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoIB: amso1100: convert to SKB paged frag API.
Ian Campbell [Wed, 24 Aug 2011 22:28:08 +0000 (22:28 +0000)]
IB: amso1100: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Tom Tucker <tom@opengridcomputing.com>
Cc: Steve Wise <swise@opengridcomputing.com>
Cc: Roland Dreier <roland@kernel.org>
Cc: Sean Hefty <sean.hefty@intel.com>
Cc: Hal Rosenstock <hal.rosenstock@gmail.com>
Cc: linux-rdma@vger.kernel.org
Cc: netdev@vger.kernel.org
Acked-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoatm: convert to SKB paged frag API.
Ian Campbell [Wed, 24 Aug 2011 22:28:07 +0000 (22:28 +0000)]
atm: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Chas Williams <chas@cmf.nrl.navy.mil>
Cc: linux-atm-general@lists.sourceforge.net
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoheaders, can: Add missing #include to <linux/can/bcm.h>
Ben Hutchings [Wed, 24 Aug 2011 18:46:06 +0000 (18:46 +0000)]
headers, can: Add missing #include to <linux/can/bcm.h>

<linux/can/bcm.h> uses type canid_t, defined in <linux/can.h>.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoheaders, xtables: Add missing #include <linux/netfilter.h>
Ben Hutchings [Wed, 24 Aug 2011 18:45:42 +0000 (18:45 +0000)]
headers, xtables: Add missing #include <linux/netfilter.h>

Various headers use union nf_inet_addr, defined in <linux/netfilter.h>.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Acked-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoheaders, netfilter: Add missing #include <limits.h> for userland
Ben Hutchings [Wed, 24 Aug 2011 18:45:36 +0000 (18:45 +0000)]
headers, netfilter: Add missing #include <limits.h> for userland

Various headers use INT_MIN and INT_MAX, which are defined for
userland in <limits.h>.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Acked-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoheaders, tipc: Add missing #include to <linux/tipc_config.h> for userland
Ben Hutchings [Wed, 24 Aug 2011 18:45:14 +0000 (18:45 +0000)]
headers, tipc: Add missing #include to <linux/tipc_config.h> for userland

<linux/tipc_config.h> defines inline functions using ntohs() etc.
For userland these are defined in <arpa/inet.h>.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoheaders, netfilter: Use kernel type names __u8, __u16, __u32
Ben Hutchings [Wed, 24 Aug 2011 18:44:57 +0000 (18:44 +0000)]
headers, netfilter: Use kernel type names __u8, __u16, __u32

These types are guaranteed to be defined by <linux/types.h> for
both userland and kernel, unlike u_intN_t.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Acked-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoheaders, net: Use __kernel_sa_family_t in more definitions shared with userland
Ben Hutchings [Wed, 24 Aug 2011 18:43:55 +0000 (18:43 +0000)]
headers, net: Use __kernel_sa_family_t in more definitions shared with userland

Complete the work started with commit
6602a4baf4d1a73cc4685a39ef859e1c5ddf654c ('net: Make userland include
of netlink.h more sane').

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoheaders, pppol2tp: Use __kernel_pid_t in <linux/pppol2tp.h>
Ben Hutchings [Wed, 24 Aug 2011 18:43:50 +0000 (18:43 +0000)]
headers, pppol2tp: Use __kernel_pid_t in <linux/pppol2tp.h>

<linux/types.h> defines __kernel_pid_t for userland; pid_t is
defined elsewhere (and potentially differently).

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoheaders, ax25: Add missing #include to <linux/netrom.h>, <linux/rose.h>
Ben Hutchings [Wed, 24 Aug 2011 18:43:18 +0000 (18:43 +0000)]
headers, ax25: Add missing #include to <linux/netrom.h>, <linux/rose.h>

These headers use the ax25_address type defined in <linux/ax25.h>.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoheaders, pppox: Add missing #include to <linux/if_pppox.h>
Ben Hutchings [Wed, 24 Aug 2011 18:40:48 +0000 (18:40 +0000)]
headers, pppox: Add missing #include to <linux/if_pppox.h>

<linux/if_ppox.h> uses ETH_ALEN, defined in <linux/if_ether.h>.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agosunbmac: use standard #defines from mii.h.
Francois Romieu [Sun, 21 Aug 2011 14:17:22 +0000 (16:17 +0200)]
sunbmac: use standard #defines from mii.h.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
13 years agodl2k: use standard #defines from mii.h.
Francois Romieu [Sun, 21 Aug 2011 16:32:05 +0000 (18:32 +0200)]
dl2k: use standard #defines from mii.h.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
13 years agoScm: Remove unnecessary pid & credential references in Unix socket's send and receive...
Tim Chen [Mon, 22 Aug 2011 14:57:26 +0000 (14:57 +0000)]
Scm: Remove unnecessary pid & credential references in Unix socket's send and receive path

Patch series 109f6e39..7361c36c back in 2.6.36 added functionality to
allow credentials to work across pid namespaces for packets sent via
UNIX sockets.  However, the atomic reference counts on pid and
credentials caused plenty of cache bouncing when there are numerous
threads of the same pid sharing a UNIX socket.  This patch mitigates the
problem by eliminating extraneous reference counts on pid and
credentials on both send and receive path of UNIX sockets. I found a 2x
improvement in hackbench's threaded case.

On the receive path in unix_dgram_recvmsg, currently there is an
increment of reference count on pid and credentials in scm_set_cred.
Then there are two decrement of the reference counts.  Once in scm_recv
and once when skb_free_datagram call skb->destructor function
unix_destruct_scm.  One pair of increment and decrement of ref count on
pid and credentials can be eliminated from the receive path.  Until we
destroy the skb, we already set a reference when we created the skb on
the send side.

On the send path, there are two increments of ref count on pid and
credentials, once in scm_send and once in unix_scm_to_skb.  Then there
is a decrement of the reference counts in scm_destroy's call to
scm_destroy_cred at the end of unix_dgram_sendmsg functions.   One pair
of increment and decrement of the reference counts can be removed so we
only need to increment the ref counts once.

By incorporating these changes, for hackbench running on a 4 socket
NHM-EX machine with 40 cores, the execution of hackbench on
50 groups of 20 threads sped up by factor of 2.

Hackbench command used for testing:
./hackbench 50 thread 2000

Signed-off-by: Tim Chen <tim.c.chen@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agosctp: Bundle HEAERTBEAT into ASCONF_ACK
Michio Honda [Thu, 16 Jun 2011 08:14:34 +0000 (17:14 +0900)]
sctp: Bundle HEAERTBEAT into ASCONF_ACK

With this patch a HEARTBEAT chunk is bundled into the ASCONF-ACK
for ADD IP ADDRESS, confirming the new destination as quickly as
possible.

Signed-off-by: Michio Honda <micchie@sfc.wide.ad.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agosctp: HEARTBEAT negotiation after ASCONF
Michio Honda [Thu, 16 Jun 2011 01:54:23 +0000 (10:54 +0900)]
sctp: HEARTBEAT negotiation after ASCONF

This patch fixes BUG that the ASCONF receiver transmits DATA chunks
to the newly added UNCONFIRMED destination.

Signed-off-by: Michio Honda <micchie@sfc.wide.ad.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoProportional Rate Reduction for TCP.
Nandita Dukkipati [Sun, 21 Aug 2011 20:21:57 +0000 (20:21 +0000)]
Proportional Rate Reduction for TCP.

This patch implements Proportional Rate Reduction (PRR) for TCP.
PRR is an algorithm that determines TCP's sending rate in fast
recovery. PRR avoids excessive window reductions and aims for
the actual congestion window size at the end of recovery to be as
close as possible to the window determined by the congestion control
algorithm. PRR also improves accuracy of the amount of data sent
during loss recovery.

The patch implements the recommended flavor of PRR called PRR-SSRB
(Proportional rate reduction with slow start reduction bound) and
replaces the existing rate halving algorithm. PRR improves upon the
existing Linux fast recovery under a number of conditions including:
  1) burst losses where the losses implicitly reduce the amount of
outstanding data (pipe) below the ssthresh value selected by the
congestion control algorithm and,
  2) losses near the end of short flows where application runs out of
data to send.

As an example, with the existing rate halving implementation a single
loss event can cause a connection carrying short Web transactions to
go into the slow start mode after the recovery. This is because during
recovery Linux pulls the congestion window down to packets_in_flight+1
on every ACK. A short Web response often runs out of new data to send
and its pipe reduces to zero by the end of recovery when all its packets
are drained from the network. Subsequent HTTP responses using the same
connection will have to slow start to raise cwnd to ssthresh. PRR on
the other hand aims for the cwnd to be as close as possible to ssthresh
by the end of recovery.

A description of PRR and a discussion of its performance can be found at
the following links:
- IETF Draft:
    http://tools.ietf.org/html/draft-mathis-tcpm-proportional-rate-reduction-01
- IETF Slides:
    http://www.ietf.org/proceedings/80/slides/tcpm-6.pdf
    http://tools.ietf.org/agenda/81/slides/tcpm-2.pdf
- Paper to appear in Internet Measurements Conference (IMC) 2011:
    Improving TCP Loss Recovery
    Nandita Dukkipati, Matt Mathis, Yuchung Cheng

Signed-off-by: Nandita Dukkipati <nanditad@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoaf-packet: TPACKET_V3 flexible buffer implementation.
chetan loke [Fri, 19 Aug 2011 10:18:16 +0000 (10:18 +0000)]
af-packet: TPACKET_V3 flexible buffer implementation.

1) Blocks can be configured with non-static frame-size.
2) Read/poll is at a block-level(as opposed to packet-level).
3) Added poll timeout to avoid indefinite user-space wait on idle links.
4) Added user-configurable knobs:
   4.1) block::timeout.
   4.2) tpkt_hdr::sk_rxhash.

Changes:
C1) tpacket_rcv()
    C1.1) packet_current_frame() is replaced by packet_current_rx_frame()
          The bulk of the processing is then moved in the following chain:
          packet_current_rx_frame()
            __packet_lookup_frame_in_block
              fill_curr_block()
              or
                retire_current_block
                dispatch_next_block
              or
              return NULL(queue is plugged/paused)

Signed-off-by: Chetan Loke <loke.chetan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoaf-packet: Added TPACKET_V3 headers.
chetan loke [Fri, 19 Aug 2011 10:18:15 +0000 (10:18 +0000)]
af-packet: Added TPACKET_V3 headers.

Added TPACKET_V3 definitions.

Signed-off-by: Chetan Loke <loke.chetan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoIEEE802.15.4: 6LoWPAN basic support
Alexander Smirnov [Thu, 25 Aug 2011 02:34:42 +0000 (19:34 -0700)]
IEEE802.15.4: 6LoWPAN basic support

This patch provides base support for transmission of IPv6 packets as
well as the formation of IPv6 link-local addresses and statelessly
autoconfigured addresses on top of IEEE 802.15.4 networks.

For more information please look at the RFC4944 "Compression Format
for IPv6 Datagrams in Low Power and Losst Networks (6LoWPAN).

Signed-off-by: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: xfrm: convert to SKB frag APIs
Ian Campbell [Mon, 22 Aug 2011 23:45:01 +0000 (23:45 +0000)]
net: xfrm: convert to SKB frag APIs

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: ipv6: convert to SKB frag APIs
Ian Campbell [Mon, 22 Aug 2011 23:45:00 +0000 (23:45 +0000)]
net: ipv6: convert to SKB frag APIs

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Cc: "Pekka Savola (ipv6)" <pekkas@netcore.fi>
Cc: James Morris <jmorris@namei.org>
Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
Cc: Patrick McHardy <kaber@trash.net>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: ipv4: convert to SKB frag APIs
Ian Campbell [Mon, 22 Aug 2011 23:44:59 +0000 (23:44 +0000)]
net: ipv4: convert to SKB frag APIs

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Cc: "Pekka Savola (ipv6)" <pekkas@netcore.fi>
Cc: James Morris <jmorris@namei.org>
Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
Cc: Patrick McHardy <kaber@trash.net>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: convert core to skb paged frag APIs
Ian Campbell [Mon, 22 Aug 2011 23:44:58 +0000 (23:44 +0000)]
net: convert core to skb paged frag APIs

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: "Michał Mirosław" <mirq-linux@rere.qmqm.pl>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobe2net: remove unused variable
Sathya Perla [Mon, 22 Aug 2011 19:41:55 +0000 (19:41 +0000)]
be2net: remove unused variable

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobe2net: increase FW update completion timeout
Sathya Perla [Mon, 22 Aug 2011 19:41:54 +0000 (19:41 +0000)]
be2net: increase FW update completion timeout

Flashing some of the PHYs can take longer thus increasing the total flash
update time to a max of 40s.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobe2net: fix erx->rx_drops_no_frags wrap around
Sathya Perla [Mon, 22 Aug 2011 19:41:53 +0000 (19:41 +0000)]
be2net: fix erx->rx_drops_no_frags wrap around

The rx_drops_no_frags HW counter for RSS rings is 16bits in HW and can
wraparound often. Maintain a 32-bit accumulator in the driver to prevent
frequent wraparound.

Also, incorporated Eric's feedback to use ACCESS_ONCE() for the accumulator
write.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobe2net: get rid of memory mapped pci-cfg space address
Sathya Perla [Mon, 22 Aug 2011 19:41:52 +0000 (19:41 +0000)]
be2net: get rid of memory mapped pci-cfg space address

Get rid of adapter->pcicfg and its use. Use pci_config_read/write_dword()
instead.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobe2net: Fix race in posting rx buffers.
Sathya Perla [Mon, 22 Aug 2011 19:41:51 +0000 (19:41 +0000)]
be2net: Fix race in posting rx buffers.

There is a possibility of be_post_rx_frags() being called simultaneously from
both be_worker() (when rx_post_starved) and be_poll_rx() (when rxq->used is 0).
This can be avoided by posting rx buffers only when some completions have been
reaped.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agorps: support IPIP encapsulation
Eric Dumazet [Wed, 24 Aug 2011 10:41:19 +0000 (10:41 +0000)]
rps: support IPIP encapsulation

Skip IPIP header to get proper layer-4 information.

Like GRE tunnels, this only works if rxhash is not already provided by
the device itself (ethtool -K ethX rxhash off), to allow kernel compute
a software rxhash.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoMerge branch 'batman-adv/next' of git://git.open-mesh.org/linux-merge
David S. Miller [Wed, 24 Aug 2011 17:33:00 +0000 (10:33 -0700)]
Merge branch 'batman-adv/next' of git://git.open-mesh.org/linux-merge

13 years agonet: add APIs for manipulating skb page fragments.
Ian Campbell [Fri, 19 Aug 2011 06:25:00 +0000 (06:25 +0000)]
net: add APIs for manipulating skb page fragments.

The primary aim is to add skb_frag_(ref|unref) in order to remove the use of
bare get/put_page on SKB pages fragments and to isolate users from subsequent
changes to the skb_frag_t data structure.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: "Michał Mirosław" <mirq-linux@rere.qmqm.pl>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoMerge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville...
David S. Miller [Mon, 22 Aug 2011 21:47:43 +0000 (14:47 -0700)]
Merge branch 'for-davem' of git://git./linux/kernel/git/linville/wireless-next

13 years agonet: vlan: goto another_round instead of calling __netif_receive_skb
Jiri Pirko [Mon, 22 Aug 2011 19:43:22 +0000 (12:43 -0700)]
net: vlan: goto another_round instead of calling __netif_receive_skb

Now, when vlan tag on untagged in non-accelerated path is stripped from
skb, headers are reset right away. Benefit from that and avoid calling
__netif_receive_skb recursivelly and just use another_round.

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet/wan/hdlc_ppp: use break in switch
Jesper Juhl [Mon, 22 Aug 2011 18:30:38 +0000 (11:30 -0700)]
net/wan/hdlc_ppp: use break in switch

We'll either hit one of the case labels or the default in the switch
and in all cases do we then 'goto out' and we also have a 'goto out'
after the switch that is redundant. Change to just use break in the
case statements and leave the 'goto out' after the lop for everyone to
hit.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
John W. Linville [Mon, 22 Aug 2011 18:28:50 +0000 (14:28 -0400)]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-next into for-davem

Conflicts:
drivers/staging/ath6kl/miscdrv/ar3kps/ar3kpsparser.c
drivers/staging/ath6kl/os/linux/ar6000_drv.c

13 years agobatman-adv: merge update_transtable() into tt related code
Marek Lindner [Sat, 30 Jul 2011 11:10:18 +0000 (13:10 +0200)]
batman-adv: merge update_transtable() into tt related code

Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
13 years agobatman-adv: reuse tt_len() to calculate tt buffer length
Marek Lindner [Fri, 29 Jul 2011 16:31:38 +0000 (18:31 +0200)]
batman-adv: reuse tt_len() to calculate tt buffer length

Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Acked-by: Antonio Quartulli <ordex@autistici.org>
13 years agobatman-adv: print client flags in the local/global transtables output
Antonio Quartulli [Thu, 7 Jul 2011 13:35:38 +0000 (15:35 +0200)]
batman-adv: print client flags in the local/global transtables output

Since clients can have several flags on or off, this patches make them
appear in the local/global transtable output so that they can be checked
for debugging purposes.

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
13 years agobatman-adv: implement AP-isolation on the sender side
Antonio Quartulli [Thu, 7 Jul 2011 13:35:37 +0000 (15:35 +0200)]
batman-adv: implement AP-isolation on the sender side

If a node has to send a packet issued by a WIFI client to another WIFI client,
the packet is dropped.

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
13 years agobatman-adv: implement AP-isolation on the receiver side
Antonio Quartulli [Thu, 7 Jul 2011 13:35:36 +0000 (15:35 +0200)]
batman-adv: implement AP-isolation on the receiver side

When a node receives a unicast packet it checks if the source and the
destination client can communicate or not due to the AP isolation

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
13 years agobatman-adv: detect clients connected through a 802.11 device
Antonio Quartulli [Thu, 7 Jul 2011 13:35:35 +0000 (15:35 +0200)]
batman-adv: detect clients connected through a 802.11 device

Clients connected through a 802.11 device are now marked with the
TT_CLIENT_WIFI flag. This flag is also advertised with the tt
announcement.

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
13 years agobatman-adv: correct several typ0s in the comments
Antonio Quartulli [Sat, 9 Jul 2011 15:52:13 +0000 (17:52 +0200)]
batman-adv: correct several typ0s in the comments

Several typos have been corrected and some sentences have been rephrased

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
13 years agobatman-adv: hash_add() has to discriminate on the return value
Antonio Quartulli [Sat, 9 Jul 2011 22:36:36 +0000 (00:36 +0200)]
batman-adv: hash_add() has to discriminate on the return value

hash_add() returns 0 on success while returns -1 either on error and on
entry already present. The caller could use such information to select
its behaviour. For this reason it is useful that hash_add() returns -1
in case on error and returns 1 in case of entry already present.

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
13 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/net...
David S. Miller [Sun, 21 Aug 2011 00:25:36 +0000 (17:25 -0700)]
Merge branch 'master' of /linux/kernel/git/jkirsher/net-next

Conflicts:
drivers/net/ethernet/intel/e1000e/netdev.c

13 years agonet: Preserve ooo_okay when copying skb header
Changli Gao [Fri, 19 Aug 2011 04:44:18 +0000 (04:44 +0000)]
net: Preserve ooo_okay when copying skb header

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agodm9000: define debug level as a module parameter
Vladimir Zapolskiy [Sat, 20 Aug 2011 21:15:55 +0000 (14:15 -0700)]
dm9000: define debug level as a module parameter

This change allows to get driver specific debug messages output
providing a module parameter. As far as the maximum level of verbosity
is too high, it is demoted by default.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net
David S. Miller [Sat, 20 Aug 2011 17:39:12 +0000 (10:39 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net

13 years agotg3: Update version to 3.120
Matt Carlson [Fri, 19 Aug 2011 13:58:24 +0000 (13:58 +0000)]
tg3: Update version to 3.120

This patch updates the tg3 version to 3.120.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agotg3: Add external loopback support to selftest
Matt Carlson [Fri, 19 Aug 2011 13:58:23 +0000 (13:58 +0000)]
tg3: Add external loopback support to selftest

This patch adds external loopback support to tg3's ethtool selftest.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agotg3: Restructure tg3_test_loopback
Matt Carlson [Fri, 19 Aug 2011 13:58:22 +0000 (13:58 +0000)]
tg3: Restructure tg3_test_loopback

The tg3_test_loopback() function is starting to get more complicated as
more loopback tests are added.  This patch cleans up the code.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agotg3: Pull phy int lpbk setup into separate func
Matt Carlson [Fri, 19 Aug 2011 13:58:21 +0000 (13:58 +0000)]
tg3: Pull phy int lpbk setup into separate func

This patch pulls out the internal phy loopback setup code into a
separate function.  This cleans up the loopback test code and makes it
available for NETIF_F_LOOPBACK support later.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agotg3: Consilidate MAC loopback code
Matt Carlson [Fri, 19 Aug 2011 13:58:20 +0000 (13:58 +0000)]
tg3: Consilidate MAC loopback code

The driver puts the device into MAC loopback in two places in the
driver.  This patch consolidates the code into a single routine.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agotg3: Remove dead code
Matt Carlson [Fri, 19 Aug 2011 13:58:19 +0000 (13:58 +0000)]
tg3: Remove dead code

Now that CPMU devices don't do MAC loopback, all the CPMU power saving
mode adjustments are unneeded.  This patch removes the dead code.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoqlge: Adding Maintainer.
Jitendra Kalsaria [Sat, 20 Aug 2011 17:33:34 +0000 (10:33 -0700)]
qlge: Adding Maintainer.

Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: add the comment for skb->l4_rxhash
Changli Gao [Fri, 19 Aug 2011 14:26:44 +0000 (07:26 -0700)]
net: add the comment for skb->l4_rxhash

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoixgbe: Cleanup FCOE and VLAN handling in xmit_frame_ring
Alexander Duyck [Wed, 29 Jun 2011 05:43:22 +0000 (05:43 +0000)]
ixgbe: Cleanup FCOE and VLAN handling in xmit_frame_ring

This change is meant to further cleanup the transmit path by streamlining
some of the VLAN and FCOE/DCB tasks in the transmit path.  In addition it
adds code for support software VLANs in the event that they are used in
conjunction with DCB and/or FCOE.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe: replace reference to CONFIG_FCOE with IXGBE_FCOE
Alexander Duyck [Fri, 15 Jul 2011 02:31:30 +0000 (02:31 +0000)]
ixgbe: replace reference to CONFIG_FCOE with IXGBE_FCOE

CONFIG_FCOE is not the correct define to check since it is possible for it
to be CONFIG_FCOE_MODULE, as such the reference to it should be replaced
with IXGBE_FCOE.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe: Refactor transmit map and cleanup routines
Alexander Duyck [Fri, 15 Jul 2011 02:31:25 +0000 (02:31 +0000)]
ixgbe: Refactor transmit map and cleanup routines

This patch implements a partial refactor of the TX map/queue and cleanup
routines.  It merges the map and queue functionality and as a result
improves the transmit performance by avoiding unnecessary reads from memory.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe - DDP last user buffer - error to warn
Amir Hanania [Thu, 28 Apr 2011 08:47:23 +0000 (08:47 +0000)]
ixgbe - DDP last user buffer - error to warn

Change the error message in the last DDP user buffer to warn_once

Signed-off-by: Amir Hanania <amir.hanania@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoipv6: Fix ipv6_getsockopt for IPV6_2292PKTOPTIONS
Daniel Baluta [Fri, 19 Aug 2011 10:19:07 +0000 (03:19 -0700)]
ipv6: Fix ipv6_getsockopt for IPV6_2292PKTOPTIONS

IPV6_2292PKTOPTIONS is broken for 32-bit applications running
in COMPAT mode on 64-bit kernels.

The same problem was fixed for IPv4 with the patch:
ipv4: Fix ip_getsockopt for IP_PKTOPTIONS,
commit dd23198e58cd35259dd09e8892bbdb90f1d57748

Signed-off-by: Sorin Dumitru <sdumitru@ixiacom.com>
Signed-off-by: Daniel Baluta <dbaluta@ixiacom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoe1000e: bump driver version number
Bruce Allan [Fri, 29 Jul 2011 05:53:12 +0000 (05:53 +0000)]
e1000e: bump driver version number

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoe1000e: convert driver to use extended descriptors
Bruce Allan [Fri, 22 Jul 2011 06:21:46 +0000 (06:21 +0000)]
e1000e: convert driver to use extended descriptors

Some features currently not supported by the driver (e.g. RSS) require the
use of extended descriptors, but the driver is setup to only use legacy
descriptors in all modes except for when jumbo frames are enabled on some
parts.  Convert the driver to always use extended descriptors in order to
enable the forthcoming support of these other features.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agonet: rps: support PPPOE session messages
Changli Gao [Fri, 19 Aug 2011 06:23:47 +0000 (23:23 -0700)]
net: rps: support PPPOE session messages

Inspect the payload of PPPOE session messages for the 4 tuples to generate
skb->rxhash.

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: rps: support 802.1Q
Changli Gao [Fri, 19 Aug 2011 05:07:54 +0000 (22:07 -0700)]
net: rps: support 802.1Q

For the 802.1Q packets, if the NIC doesn't support hw-accel-vlan-rx, RPS
won't inspect the internal 4 tuples to generate skb->rxhash, so this kind
of traffic can't get any benefit from RPS.

This patch adds the support for 802.1Q to RPS.

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobe2net: Storing the 'vid' got by the grp5 event instead of storing the vlan_tag
Somnath Kotur [Fri, 19 Aug 2011 04:51:49 +0000 (21:51 -0700)]
be2net: Storing the 'vid' got by the grp5 event instead of storing the vlan_tag

Signed-off-by: Somnath Kotur <somnath.kotur@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2x: downgrade Max BW error message to debug
Michal Schmidt [Fri, 19 Aug 2011 04:51:01 +0000 (21:51 -0700)]
bnx2x: downgrade Max BW error message to debug

There are valid configurations where Max BW is configured to zero for
some VNs.
Print the message only if debugging is enabled and do not call the
configuration "illegal".

[v2: use DP(), not BNX2X_DBG_ERR(); recommended by Eilon Greenstein.]

Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
Acked-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: fix IBM EMAC driver after rename.
Tony Breeds [Fri, 19 Aug 2011 04:33:49 +0000 (21:33 -0700)]
net: fix IBM EMAC driver after rename.

In commit 9aa3283595451ca093500ff0977b106e1f465586 (ehea/ibm*: Move the
IBM drivers) the IBM_NEW_EMAC* were renames to IBM_EMAC*

The conversion was incomplete so that even if the driver was added to
the .config it wasn't built, but there were no errors).  In this commit
we also update the various defconfigs that use EMAC to use the new
Kconfig symbol, and explicitly add the NET_VENDOR_IBM guard.

We do not explicitly select the Kconfig dependencies, as this would force
EMAC on.  Doing it in the defconfig allows more flexibility.

Tested on a canyondlands board.

Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>