platform/kernel/linux-arm64.git
10 years agor8152: support RTL8153
hayeswang [Thu, 2 Jan 2014 03:25:10 +0000 (11:25 +0800)]
r8152: support RTL8153

Support new chip RTL8153 which is the USB 3.0 giga ethernet adapter.

Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agor8152: split rtl8152_enable
hayeswang [Thu, 2 Jan 2014 03:22:43 +0000 (11:22 +0800)]
r8152: split rtl8152_enable

Split the contents of rtl8152_enable() into rtl_set_eee_plus() and
rtl_enable().

Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agor8152: add rtl_ops
hayeswang [Thu, 2 Jan 2014 03:22:42 +0000 (11:22 +0800)]
r8152: add rtl_ops

The different chips may have different settings. This makes it easy
to let different chips have the same flow with differnt settings.

Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agor8152: change some definitions
hayeswang [Thu, 2 Jan 2014 03:22:41 +0000 (11:22 +0800)]
r8152: change some definitions

Replace RX_BUF_THR with RX_THR_HIGH.
Replace RWSUME_INDICATE with RESUME_INDICATE.
Add CRC_SIZE, TX_ALIGN, and RX_ALIGN.

Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agor8152: modify the method of accessing PHY
hayeswang [Thu, 2 Jan 2014 03:22:40 +0000 (11:22 +0800)]
r8152: modify the method of accessing PHY

The old method to access PHY is through mdio channel. Replace it
with the OCP channel.

Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agor8152: move rtl8152_unload and ocp_reg_write
hayeswang [Thu, 2 Jan 2014 03:22:39 +0000 (11:22 +0800)]
r8152: move rtl8152_unload and ocp_reg_write

Change the locations of rtl8152_unload() and ocp_reg_write().

Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoMerge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville...
David S. Miller [Thu, 2 Jan 2014 03:16:57 +0000 (22:16 -0500)]
Merge branch 'for-davem' of git://git./linux/kernel/git/linville/wireless-next

John W. Linville says:

====================
pull request: wireless-next 2014-01-01

These patches were tucked-in with me for my long winter's nap!
Please pull them for the 3.14 stream...

For the mac80211 bits, Johannes says:

"Here I just have a collection of fixes/improvements/cleanups, very
little really stands out apart from CSA fixes, vendor command support
and the RCU speedups."

For the iwlwifi bits, Emmanuel says:

"I have hear quite a few things. Alex continues his work on power
management. Arik is reworking the transport API by unifying redudant
APIs and making error handling more generic. Eyal keeps on digging in
the rate scaling code.
We also have two new features - Max is using the brand new generic
cipher infrastructure in mac80211, and Lilach implements the smart fifo
which allows to save power by making interrupt coalescing smarter."

Along with those, Arend and company bring a batch of brcmfmac.
Sujith and Felix bring the usual high level of ath9k activity as well.
Bing gives mwifiex some love as well, and a handful of other bits
get updates here and there.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agocnic: Add a signature to indicate valid doorbell offset.
Eddie Wai [Wed, 1 Jan 2014 07:18:34 +0000 (23:18 -0800)]
cnic: Add a signature to indicate valid doorbell offset.

The buffer that is used to pass doorbell offset to the userspace UIO
driver may contain nonzero value in older versions of bnx2x driver.
Userspace cannot easily tell whether it contains a valid doorbell
offset or not.  With the added signature, userspace will only use
the doorbell offset if the signature is present.

Update version to 2.5.19.

Signed-off-by: Eddie Wai <eddie.wai@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agobnx2: Update version to 2.2.5.
Michael Chan [Wed, 1 Jan 2014 07:22:35 +0000 (23:22 -0800)]
bnx2: Update version to 2.2.5.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agobnx2: Report MDI/MDIX status to ethtool.
Michael Chan [Wed, 1 Jan 2014 07:22:34 +0000 (23:22 -0800)]
bnx2: Report MDI/MDIX status to ethtool.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agobnx2: Enable auto-mdix when autoneg is disabled.
Michael Chan [Wed, 1 Jan 2014 07:22:33 +0000 (23:22 -0800)]
bnx2: Enable auto-mdix when autoneg is disabled.

Auto-mdix currently only works if autoneg is enabled.  This patch enables
auto-mdix all the time by setting a bit in a PHY register.  Define
meaningful constants for this PHY registers.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agobnx2: Advertise nothing when speed is forced
Michael Chan [Wed, 1 Jan 2014 07:22:32 +0000 (23:22 -0800)]
bnx2: Advertise nothing when speed is forced

The current code does not reset the advertisement register when the speed
is forced, leaving the default advertisement value of 10 Mbps.  This does
not work with some link partners when the next patch enables auto-mdix.

Set advertisement register to 0 if the speed is forced.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
John W. Linville [Wed, 1 Jan 2014 20:39:56 +0000 (15:39 -0500)]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-next into for-davem

10 years agoMerge branch 'addr_compare'
David S. Miller [Tue, 31 Dec 2013 21:48:37 +0000 (16:48 -0500)]
Merge branch 'addr_compare'

Ding Tianhong says:

====================
slight optimization of addr compare for net modules

This is the second patchset for slight optimization of address compare,
mainly for net tree, just following the Joe's opinion, it will help review
the code for maintainers and supports.

v2: Change some style for patch 2.
    According Eric's suggestion, use the ether_addr_equal_64bits to instead
    of ether_addr_equal for patch 19.
    In fact, there are a lot of places which could use ether_addr_equal_64bits
    to instead of ether_addr_equal, but not this time, thanks for Joe's
    opinion.

v3: Change some style for patch 11/19:
    (net: packetengines: slight optimization of addr compare).
    Joe pointed out that is_broadcast_ether_addr(addr) would be appropriate here,
    but this should be left alone and not in this patch, so fix it later.

    In the patch (net: caif: slight optimization of addr compare), the operand for
    memcmp is not mac address, so it is unsuitable to use the ether_addr_equal
    to compare a non mac address, so remove the patch from the series.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: plip: slight optimization of addr compare
dingtianhong [Mon, 30 Dec 2013 07:41:33 +0000 (15:41 +0800)]
net: plip: slight optimization of addr compare

Use possibly more efficient ether_addr_equal_64bits
to instead of memcmp.

Cc: "David S. Miller" <davem@davemloft.net>
Suggested-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: fddi: slight optimization of addr compare
dingtianhong [Mon, 30 Dec 2013 07:41:30 +0000 (15:41 +0800)]
net: fddi: slight optimization of addr compare

Use possibly more efficient ether_addr_equal
to instead of memcmp.

Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: ti: slight optimization of addr compare
dingtianhong [Mon, 30 Dec 2013 07:41:27 +0000 (15:41 +0800)]
net: ti: slight optimization of addr compare

Use possibly more efficient ether_addr_equal
to instead of memcmp.

Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: sun: optimization of addr compare
dingtianhong [Mon, 30 Dec 2013 07:41:24 +0000 (15:41 +0800)]
net: sun: optimization of addr compare

Use possibly more efficient ether_addr_equal
to instead of memcmp.

Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: seeq: slight optimization of addr compare
dingtianhong [Mon, 30 Dec 2013 07:41:21 +0000 (15:41 +0800)]
net: seeq: slight optimization of addr compare

Use possibly more efficient ether_addr_equal
to instead of memcmp.

Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: renesas: slight optimization of addr compare
dingtianhong [Mon, 30 Dec 2013 07:41:17 +0000 (15:41 +0800)]
net: renesas: slight optimization of addr compare

Use possibly more efficient ether_addr_equal
to instead of memcmp.

Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: qlcnic: slight optimization of addr compare
dingtianhong [Mon, 30 Dec 2013 07:41:14 +0000 (15:41 +0800)]
net: qlcnic: slight optimization of addr compare

Use the possibly more efficient ether_addr_equal or
ether_addr_equal_unaligned to instead of memcmp.

Cc: Himanshu Madhani <himanshu.madhani@qlogic.com>
Cc: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: netxen: slight optimization of addr compare
dingtianhong [Mon, 30 Dec 2013 07:41:10 +0000 (15:41 +0800)]
net: netxen: slight optimization of addr compare

Use possibly more efficient ether_addr_equal
to instead of memcmp.

Cc: Manish Chopra <manish.chopra@qlogic.com>
Cc: Sony Chacko <sony.chacko@qlogic.com>
Cc: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: packetengines: slight optimization of addr
dingtianhong [Mon, 30 Dec 2013 07:41:06 +0000 (15:41 +0800)]
net: packetengines: slight optimization of addr

Use possibly more efficient ether_addr_equal
to instead of memcmp.

Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: vxge: slight optimization of addr compare
dingtianhong [Mon, 30 Dec 2013 07:41:02 +0000 (15:41 +0800)]
net: vxge: slight optimization of addr compare

Use possibly more efficient ether_addr_equal
to instead of memcmp.

Cc: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: ksz884x: slight optimization of addr compare
dingtianhong [Mon, 30 Dec 2013 07:40:59 +0000 (15:40 +0800)]
net: ksz884x: slight optimization of addr compare

Use possibly more efficient ether_addr_equal
to instead of memcmp.

Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: mlx4: slight optimization of addr compare
dingtianhong [Mon, 30 Dec 2013 07:40:55 +0000 (15:40 +0800)]
net: mlx4: slight optimization of addr compare

Use possibly more efficient ether_addr_equal
to instead of memcmp.

Cc: Amir Vadai <amirv@mellanox.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Acked-By: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: ixgbe: slight optimization of addr compare
dingtianhong [Mon, 30 Dec 2013 07:40:50 +0000 (15:40 +0800)]
net: ixgbe: slight optimization of addr compare

Use possibly more efficient ether_addr_equal
to instead of memcmp.

Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
Cc: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: igbvf: slight optimization of addr compare
dingtianhong [Mon, 30 Dec 2013 07:40:46 +0000 (15:40 +0800)]
net: igbvf: slight optimization of addr compare

Use possibly more efficient ether_addr_equal
to instead of memcmp.

Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
Cc: Carolyn Wyborny <carolyn.wyborny@intel.com>
Cc: Don Skidmore <donald.c.skidmore@intel.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: benet: slight optimization of addr compare
dingtianhong [Mon, 30 Dec 2013 07:40:43 +0000 (15:40 +0800)]
net: benet: slight optimization of addr compare

Use possibly more efficient ether_addr_equal
to instead of memcmp.

Cc: Sathya Perla <sathya.perla@emulex.com>
Cc: Subbu Seetharaman <subbu.seetharaman@emulex.com>
Cc: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: enic: slight optimization of addr compare
dingtianhong [Mon, 30 Dec 2013 07:40:40 +0000 (15:40 +0800)]
net: enic: slight optimization of addr compare

Use possibly more efficient ether_addr_equal
to instead of memcmp.

Cc: Christian Benvenuti <benve@cisco.com>
Cc: Sujith Sankar <ssujith@cisco.com>
Cc: Govindarajulu Varadarajan <govindarajulu90@gmail.com>
Cc: Neel Patel <neepatel@cisco.com>
Cc: Nishank Trivedi <nistrive@cisco.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Acked-by: Govindarajulu Varadarajan <govindarajulu90@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: cxgb3: slight optimization of addr compare
dingtianhong [Mon, 30 Dec 2013 07:40:35 +0000 (15:40 +0800)]
net: cxgb3: slight optimization of addr compare

Use possibly more efficient ether_addr_equal
to instead of memcmp.

Cc: Santosh Raspatur <santosh@chelsio.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: bnx2x: slight optimization of addr compare
dingtianhong [Mon, 30 Dec 2013 07:40:32 +0000 (15:40 +0800)]
net: bnx2x: slight optimization of addr compare

Use the possibly more efficient ether_addr_equal or
ether_addr_equal_unaligned to instead of memcmp.

Cc: Ariel Elior <ariele@broadcom.com>
Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: 3com: slight optimization of addr compare
dingtianhong [Mon, 30 Dec 2013 07:40:28 +0000 (15:40 +0800)]
net: 3com: slight optimization of addr compare

Use possibly more efficient ether_addr_equal
to instead of memcmp.

Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet, sch: fix the typo in register_qdisc()
Zhi Yong Wu [Tue, 31 Dec 2013 20:34:51 +0000 (04:34 +0800)]
net, sch: fix the typo in register_qdisc()

Signed-off-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet, rps: fix the comment of net_rps_action_and_irq_enable()
Zhi Yong Wu [Tue, 31 Dec 2013 20:34:50 +0000 (04:34 +0800)]
net, rps: fix the comment of net_rps_action_and_irq_enable()

Signed-off-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet, rps: fix build failure when CONFIG_RPS isn't set
Zhi Yong Wu [Tue, 31 Dec 2013 20:31:01 +0000 (04:31 +0800)]
net, rps: fix build failure when CONFIG_RPS isn't set

In file included from net/socket.c:99:0:
include/net/sock.h: In function ‘sock_rps_record_flow’:
include/net/sock.h:849:30: error: ‘const struct sock’ has no member named ‘sk_rxhash’
include/net/sock.h: In function ‘sock_rps_reset_flow’:
include/net/sock.h:854:29: error: ‘const struct sock’ has no member named ‘sk_rxhash’

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agosctp: move skb_dst_set() a bit downwards in sctp_packet_transmit()
wangweidong [Thu, 26 Dec 2013 05:55:56 +0000 (13:55 +0800)]
sctp: move skb_dst_set() a bit downwards in sctp_packet_transmit()

skb_dst_set will use dst, if dst is NULL although is not a problem,
then goto the 'no_route' and free nskb, so do the skb_dst_set is pointless.
so move the skb_dst_set after dst check.
Remove the unnecessary initialization as well.

v2: fix the subject line because it would confuse people,
    as pointed out by Daniel.

Signed-off-by: Wang Weidong <wangweidong1@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agosch_netem: support of 64bit rates
Yang Yingliang [Wed, 25 Dec 2013 09:35:15 +0000 (17:35 +0800)]
sch_netem: support of 64bit rates

Add a new attribute to support 64bit rates so that
tc can use them to break the 32bit limit.

Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agosch_netem: more precise length of packets
Yang Yingliang [Wed, 25 Dec 2013 09:35:14 +0000 (17:35 +0800)]
sch_netem: more precise length of packets

With TSO/GSO/GRO packets, skb->len doesn't represent
a precise amount of bytes on wire.
This patch replace skb->len with qdisc_pkt_len(skb)
which is more precise.

Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet/mlx4_en: Add netdev support for TCP/IP offloads of vxlan tunneling
Or Gerlitz [Mon, 23 Dec 2013 14:09:44 +0000 (16:09 +0200)]
net/mlx4_en: Add netdev support for TCP/IP offloads of vxlan tunneling

When the device tunneling offloads mode is vxlan do the following

 - call SET_PORT with the relevant setting

 - add DMFS steering vxlan rule for the device self and multicast mac addresses
   of the form: {<ETH, outer-mac> <VXLAN, ANY vnid> <ETH, ANY mac>} --> RSS QP

 - set relevant QPC fields in RSS context and RX ring QPs

 - in TX flow, set WQE fields to generate HW checksum, and handle gso skbs
   which are marked for encapsulation such that the HW will segment them properly.

 - in RX flow, read HW offloaded checksum for encapsulated packets from the CQE

 - advertize hw_enc_features and NETIF_F_GSO_UDP_TUNNEL to the networking stack

Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet/mlx4_core: Add basic support for TCP/IP offloads under tunneling
Or Gerlitz [Mon, 23 Dec 2013 14:09:43 +0000 (16:09 +0200)]
net/mlx4_core: Add basic support for TCP/IP offloads under tunneling

Add the low-level device commands and definitions used for TCP/IP HW offloads
of tunneled/vxlan traffic which are supported by the ConnectX3-pro NIC.

This is done through the following elements:

 - read tunneling device caps in QUERY_DEV_CAP
 - add helper function to do SET_PORT for tunneling
 - add DMFS VXLAN steering rule definitions
 - add CQE and WQE checksum offload field definitions

Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonetlink: specify netlink packet direction for nlmon
Daniel Borkmann [Mon, 23 Dec 2013 13:35:56 +0000 (14:35 +0100)]
netlink: specify netlink packet direction for nlmon

In order to facilitate development for netlink protocol dissector,
fill the unused field skb->pkt_type of the cloned skb with a hint
of the address space of the new owner (receiver) socket in the
notion of "to kernel" resp. "to user".

At the time we invoke __netlink_deliver_tap_skb(), we already have
set the new skb owner via netlink_skb_set_owner_r(), so we can use
that for netlink_is_kernel() probing.

In normal PF_PACKET network traffic, this field denotes if the
packet is destined for us (PACKET_HOST), if it's broadcast
(PACKET_BROADCAST), etc.

As we only have 3 bit reserved, we can use the value (= 6) of
PACKET_FASTROUTE as it's _not used_ anywhere in the whole kernel
and not supported anywhere, and packets of such type were never
exposed to user space, so there are no overlapping users of such
kind. Thus, as wished, that seems the only way to make both
PACKET_* values non-overlapping and therefore device agnostic.

By using those two flags for netlink skbs on nlmon devices, they
can be made available and picked up via sll_pkttype (previously
unused in netlink context) in struct sockaddr_ll. We now have
these two directions:

 - PACKET_USER (= 6)    ->  to user space
 - PACKET_KERNEL (= 7)  ->  to kernel space

Partial `ip a` example strace for sa_family=AF_NETLINK with
detected nl msg direction:

syscall:                     direction:
sendto(3,  ...) = 40         /* to kernel */
recvmsg(3, ...) = 3404       /* to user */
recvmsg(3, ...) = 1120       /* to user */
recvmsg(3, ...) = 20         /* to user */
sendto(3,  ...) = 40         /* to kernel */
recvmsg(3, ...) = 168        /* to user */
recvmsg(3, ...) = 144        /* to user */
recvmsg(3, ...) = 20         /* to user */

Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Signed-off-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonetlink: only do not deliver to tap when both sides are kernel sks
Daniel Borkmann [Mon, 23 Dec 2013 13:35:55 +0000 (14:35 +0100)]
netlink: only do not deliver to tap when both sides are kernel sks

We should also deliver packets to nlmon devices when we are in
netlink_unicast_kernel(), and only one of the {src,dst} sockets
is user sk and the other one kernel sk. That's e.g. the case in
netlink diag, netlink route, etc. Still, forbid to deliver messages
from kernel to kernel sks.

Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Signed-off-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoMerge branch 'sctp_logspam'
David S. Miller [Tue, 31 Dec 2013 18:59:21 +0000 (13:59 -0500)]
Merge branch 'sctp_logspam'

Neil Horman says:

====================
sctp: Consolidate and ratelimit deprecation warnings

The SCTP protocol has several deprecation warnings in its setsockopt path that
can be triggered by unprivlidged users.  Since these are not ratelimited, we can
spam the logs quite easily here.  Since these are all deprecation warnings, and
that type of warning isn't uncommon in the rest of the kernel, lets make a
common pr_warn_deprecated macro to produce somewhat generalized ratelimited
deprecation warnings easily
====================

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoSCTP: Reduce log spamming for sctp setsockopt
Neil Horman [Mon, 23 Dec 2013 13:29:43 +0000 (08:29 -0500)]
SCTP: Reduce log spamming for sctp setsockopt

During a recent discussion regarding some sctp socket options, it was noted that
we have several points at which we issue log warnings that can be flooded at an
unbounded rate by any user.  Fix this by converting all the pr_warns in the
sctp_setsockopt path to be pr_warn_ratelimited.

Note there are several debug level messages as well.  I'm leaving those alone,
as, if you turn on pr_debug, you likely want lots of verbosity.

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
CC: Vlad Yasevich <vyasevich@gmail.com>
CC: David Miller <davem@davemloft.net>
CC: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoprintk: Add a DEPRECATED macro
Neil Horman [Mon, 23 Dec 2013 13:29:42 +0000 (08:29 -0500)]
printk: Add a DEPRECATED macro

sctp has several points in its setsockopt path in which it issues deprecation
warnings.  It seems like it might be handy to macrotize such a warning so other
subsystems can use it easily

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
CC: "David S. Miller" <davem@davemloft.net>
CC: linux-kernel@vger.kernel.org
CC: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agosch_dsmark: use correct func name in print messages
Yang Yingliang [Mon, 23 Dec 2013 09:39:00 +0000 (17:39 +0800)]
sch_dsmark: use correct func name in print messages

In dsmark_drop(), the function name printed by pr_debug
is "dsmark_reset", correct it to "dsmark_drop" by using
__func__ .

BTW, replace the other function names with __func__ .

Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agosch_htb: use /* comments
Yang Yingliang [Mon, 23 Dec 2013 09:38:59 +0000 (17:38 +0800)]
sch_htb: use /* comments

Do not use C99 // comments and correct a spelling typo.

Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet_sched: replace pr_warning with pr_warn
Yang Yingliang [Mon, 23 Dec 2013 09:38:58 +0000 (17:38 +0800)]
net_sched: replace pr_warning with pr_warn

Prefer pr_warn(... to pr_warning(...

Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agopacket: fix "foo * bar" and "(foo*)" problems
Weilong Chen [Mon, 23 Dec 2013 03:31:38 +0000 (11:31 +0800)]
packet: fix "foo * bar" and "(foo*)" problems

Cleanup checkpatch errors.Specially,the second changed line
is exactly 80 columns long.

Signed-off-by: Weilong Chen <chenweilong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoipv6: unneccessary to get address prefix in addrconf_get_prefix_route
Li RongQing [Mon, 23 Dec 2013 01:32:38 +0000 (09:32 +0800)]
ipv6: unneccessary to get address prefix in addrconf_get_prefix_route

Since addrconf_get_prefix_route inputs the address prefix to fib6_locate,
which does not uses the data which is out of the prefix_len length,
so do not need to use ipv6_addr_prefix to get address prefix.

Signed-off-by: Li RongQing <roy.qing.li@gmail.com>
Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoMerge branch 'tun_rfs'
David S. Miller [Tue, 31 Dec 2013 18:31:42 +0000 (13:31 -0500)]
Merge branch 'tun_rfs'

Zhi Yong Wu says:

====================
tun: add the RFS support

Since Tom Herbert's hash related patchset was modified and got merged,
his pachset about adding support for RFS on tun flows also need to get
adjusted accordingly. I tried to update them, and before i will start
to do some perf tests, i hope to get one correct code base, so it's time
to post them out now. Any constructive comments are welcome, thanks.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agotun: Add support for RFS on tun flows
Tom Herbert [Sun, 22 Dec 2013 10:54:32 +0000 (18:54 +0800)]
tun: Add support for RFS on tun flows

This patch adds support so that the rps_flow_tables (RFS) can be
programmed using the tun flows which are already set up to track flows
for the purposes of queue selection.

On the receive path (corresponding to select_queue and tun_net_xmit) the
rxhash is saved in the flow_entry.  The original code only does flow
lookup in select_queue, so this patch adds a flow lookup in tun_net_xmit
if num_queues == 1 (select_queue is not called from
dev_queue_xmit->netdev_pick_tx in that case).

The flow is recorded (processing CPU) in tun_flow_update (TX path), and
reset when flow is deleted.

Signed-off-by: Tom Herbert <therbert@google.com>
Signed-off-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: Allow setting sock flow hash without a sock
Tom Herbert [Sun, 22 Dec 2013 10:54:31 +0000 (18:54 +0800)]
net: Allow setting sock flow hash without a sock

This patch adds sock_rps_record_flow_hash and sock_rps_reset_flow_hash
which take a hash value as an argument and sets the sock_flow_table
accordingly.  This allows the table to be populated in cases where flow
is being tracked outside of a sock structure.

sock_rps_record_flow and sock_rps_reset_flow call this function
where the hash is taken from sk_rxhash.

Signed-off-by: Tom Herbert <therbert@google.com>
Signed-off-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agobonding: update Documentation/networking/bonding.txt for option lp_interval
dingtianhong [Sat, 21 Dec 2013 06:40:22 +0000 (14:40 +0800)]
bonding: update Documentation/networking/bonding.txt for option lp_interval

Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agobonding: ust micro BOND_NO_USE_ARP to simplify the mode check
dingtianhong [Sat, 21 Dec 2013 06:40:17 +0000 (14:40 +0800)]
bonding: ust micro BOND_NO_USE_ARP to simplify the mode check

The bond 3ad and TLB/ALB has the same check path, so combine them.

Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agobonding: add option lp_interval for loading module
dingtianhong [Sat, 21 Dec 2013 06:40:12 +0000 (14:40 +0800)]
bonding: add option lp_interval for loading module

The bond driver could set the lp_interval when loading module.

Suggested-by: Scott Feldman <sfeldma@cumulusnetworks.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agolro: remove dead code
stephen hemminger [Sun, 29 Dec 2013 19:43:35 +0000 (11:43 -0800)]
lro: remove dead code

Remove leftover code that is not used anywhere in current tree.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agobonding: make local function static
stephen hemminger [Sun, 29 Dec 2013 19:41:25 +0000 (11:41 -0800)]
bonding: make local function static

bond_xmit_slave_id is only used in main.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agotcp: make local functions static
stephen hemminger [Sun, 29 Dec 2013 19:39:51 +0000 (11:39 -0800)]
tcp: make local functions static

The following are only used in one file:
  tcp_connect_init
  tcp_set_rto

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet/7990: Make lance_private.name const
Geert Uytterhoeven [Sat, 28 Dec 2013 20:11:15 +0000 (21:11 +0100)]
net/7990: Make lance_private.name const

This allows to drop a few casts.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet/7990: Fix whitespace errors
Geert Uytterhoeven [Sat, 28 Dec 2013 20:11:14 +0000 (21:11 +0100)]
net/7990: Fix whitespace errors

Most of them reported by checkpatch.pl

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoipv4: ping make local stuff static
Stephen Hemminger [Sat, 28 Dec 2013 19:11:42 +0000 (11:11 -0800)]
ipv4: ping make local stuff static

Don't export ping_table or ping_v4_sendmsg. Both are only used
inside ping code.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoipv4: remove unused function
Stephen Hemminger [Sat, 28 Dec 2013 19:08:22 +0000 (11:08 -0800)]
ipv4: remove unused function

inetpeer_invalidate_family defined but never used

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoarp: make arp_invalidate static
Stephen Hemminger [Sat, 28 Dec 2013 19:07:18 +0000 (11:07 -0800)]
arp: make arp_invalidate static

Don't export arp_invalidate, only used in arp.c

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoipv4: make fib_detect_death static
Stephen Hemminger [Sat, 28 Dec 2013 19:05:36 +0000 (11:05 -0800)]
ipv4: make fib_detect_death static

Make fib_detect_death function static only used in one file.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agomacvlan: make start_xmit local
stephen hemminger [Fri, 27 Dec 2013 20:06:46 +0000 (12:06 -0800)]
macvlan: make start_xmit local

Only used in one file, no need to expose

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agobgmac: use phy_mii_ioctl in ioctl handler
Hauke Mehrtens [Fri, 20 Dec 2013 14:34:45 +0000 (15:34 +0100)]
bgmac: use phy_mii_ioctl in ioctl handler

This works pretty much the same way, so avoid duplicating the code.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agobgmac: drop duplicated PHY defines
Rafał Miłecki [Fri, 20 Dec 2013 14:33:52 +0000 (15:33 +0100)]
bgmac: drop duplicated PHY defines

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoieee802154: space prohibited before that close parenthesis
Weilong Chen [Fri, 20 Dec 2013 03:41:15 +0000 (11:41 +0800)]
ieee802154: space prohibited before that close parenthesis

Fix checkpatch error with space.

Signed-off-by: Weilong Chen <chenweilong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agollc: "foo* bar" should be "foo *bar"
Weilong Chen [Fri, 20 Dec 2013 03:14:59 +0000 (11:14 +0800)]
llc: "foo* bar" should be "foo *bar"

Signed-off-by: Weilong Chen <chenweilong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agotile_net: Always enable PTP clock support on TILE-Gx
Ben Hutchings [Thu, 19 Dec 2013 19:21:14 +0000 (19:21 +0000)]
tile_net: Always enable PTP clock support on TILE-Gx

All other net drivers with PTP support enable it unconditionally.
Make tile_net consistent with this.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Acked-by: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agobnx2x: Fix build with SRIOV disabled.
David S. Miller [Thu, 26 Dec 2013 23:33:10 +0000 (18:33 -0500)]
bnx2x: Fix build with SRIOV disabled.

drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c: In function 'bnx2x_drv_info_ether_stat':
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c:3302:46: error: dereferencing pointer to incomplete type
make[6]: *** [drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.o] Error 1

Reported-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agovmxnet3: use initialized skb pointer to set hash
Michal Schmidt [Fri, 20 Dec 2013 12:16:57 +0000 (13:16 +0100)]
vmxnet3: use initialized skb pointer to set hash

The recent conversion to skb_set_hash() was incorrect. 'skb' is
uninitialized at this point.

Fixes: 0b6807034791 ('net: vmxnet3 calls skb_set_hash')
Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
Acked-by: Tom Herbert <therbert@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agosch_tbf: add TBF_BURST/TBF_PBURST attribute
Yang Yingliang [Fri, 20 Dec 2013 01:24:47 +0000 (09:24 +0800)]
sch_tbf: add TBF_BURST/TBF_PBURST attribute

When we set burst to 1514 with low rate in userspace,
the kernel get a value of burst that less than 1514,
which doesn't work.

Because it may make some loss when transform burst
to buffer in userspace. This makes burst lose some
bytes, when the kernel transform the buffer back to
burst.

This patch adds two new attributes to support sending
burst/mtu to kernel directly to avoid the loss.

Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agosctp: fix checkpatch errors with //commen
wangweidong [Mon, 23 Dec 2013 04:16:54 +0000 (12:16 +0800)]
sctp: fix checkpatch errors with //commen

Signed-off-by: Wang Weidong <wangweidong1@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agosctp: fix checkpatch errors with open brace '{' and trailing statements
wangweidong [Mon, 23 Dec 2013 04:16:53 +0000 (12:16 +0800)]
sctp: fix checkpatch errors with open brace '{' and trailing statements

fix checkpatch errors below:
ERROR: that open brace { should be on the previous line
ERROR: open brace '{' following function declarations go on the next line
ERROR: trailing statements should be on next line

Signed-off-by: Wang Weidong <wangweidong1@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agosctp: fix checkpatch errors with indent
wangweidong [Mon, 23 Dec 2013 04:16:52 +0000 (12:16 +0800)]
sctp: fix checkpatch errors with indent

fix checkpatch errors below:
ERROR: switch and case should be at the same inden
ERROR: code indent should use tabs where possible

Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Wang Weidong <wangweidong1@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agosctp: fix checkpatch errors with (foo*)|foo * bar|foo* bar
wangweidong [Mon, 23 Dec 2013 04:16:51 +0000 (12:16 +0800)]
sctp: fix checkpatch errors with (foo*)|foo * bar|foo* bar

fix checkpatch errors below:
ERROR: "(foo*)" should be "(foo *)"
ERROR: "foo * bar" should be "foo *bar"
ERROR: "foo* bar" should be "foo *bar"

Signed-off-by: Wang Weidong <wangweidong1@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agosctp: fix checkpatch errors with space required or prohibited
wangweidong [Mon, 23 Dec 2013 04:16:50 +0000 (12:16 +0800)]
sctp: fix checkpatch errors with space required or prohibited

fix checkpatch errors while the space is required or prohibited
to the "=,()++..."

Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Wang Weidong <wangweidong1@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoipv6: cleanup for tcp_ipv6.c
Weilong Chen [Thu, 19 Dec 2013 10:44:34 +0000 (18:44 +0800)]
ipv6: cleanup for tcp_ipv6.c

Fix some checkpatch errors for tcp_ipv6.c

Signed-off-by: Weilong Chen <chenweilong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoipv4: ipv4: Cleanup the comments in tcp_yeah.c
Weilong Chen [Mon, 23 Dec 2013 06:37:32 +0000 (14:37 +0800)]
ipv4: ipv4: Cleanup the comments in tcp_yeah.c

This cleanup the comments in tcp_yeah.c.
1.The old link is dead,use a new one to instead.
2.'lin' add nothing useful,remove it.
3.do not use C99 // comments.

Signed-off-by: Weilong Chen <chenweilong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoipv4: ERROR: code indent should use tabs where possible
Weilong Chen [Mon, 23 Dec 2013 06:37:31 +0000 (14:37 +0800)]
ipv4: ERROR: code indent should use tabs where possible

Signed-off-by: Weilong Chen <chenweilong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoipv4: ERROR: do not initialise globals to 0 or NULL
Weilong Chen [Mon, 23 Dec 2013 06:37:30 +0000 (14:37 +0800)]
ipv4: ERROR: do not initialise globals to 0 or NULL

Signed-off-by: Weilong Chen <chenweilong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoipv4: fix all space errors in file igmp.c
Weilong Chen [Mon, 23 Dec 2013 06:37:29 +0000 (14:37 +0800)]
ipv4: fix all space errors in file igmp.c

Signed-off-by: Weilong Chen <chenweilong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoipv4: fix checkpatch error with foo * bar
Weilong Chen [Mon, 23 Dec 2013 06:37:28 +0000 (14:37 +0800)]
ipv4: fix checkpatch error with foo * bar

Signed-off-by: Weilong Chen <chenweilong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoipv4: fix checkpatch error "space prohibited"
Weilong Chen [Mon, 23 Dec 2013 06:37:27 +0000 (14:37 +0800)]
ipv4: fix checkpatch error "space prohibited"

Signed-off-by: Weilong Chen <chenweilong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoipv4: do clean up with spaces
Weilong Chen [Mon, 23 Dec 2013 06:37:26 +0000 (14:37 +0800)]
ipv4: do clean up with spaces

Fix checkpatch errors like:
ERROR: spaces required around that XXX

Signed-off-by: Weilong Chen <chenweilong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoMerge branch 'bnx2x'
David S. Miller [Thu, 26 Dec 2013 18:38:26 +0000 (13:38 -0500)]
Merge branch 'bnx2x'

Yuval Mintz says:

====================
bnx2x: new features patch series

This patch series adds/fixes several new features in the bnx2x driver -
it adds support for loading the bnx2x over an UNDI running on a Multi-function
device, adds missing bits for PCIe AER support and enables VFs to properly
configure multicast filters
(In addition, it also contains some small improvements in driver behaviour).

Please consider applying these patches to `net-next'.

Changes from previous versions
------------------------------
  v2:
     - Fixed comment typo in patch 4 (propogate --> propagate)
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agobnx2x: add VF Multicast filters support
Yuval Mintz [Thu, 26 Dec 2013 07:57:12 +0000 (09:57 +0200)]
bnx2x: add VF Multicast filters support

This patch adds the necessary support for configuring (and removing) multicast
filters to VFs.

Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agobnx2x: Add num of VFs to Management statistics
Yuval Mintz [Thu, 26 Dec 2013 07:57:11 +0000 (09:57 +0200)]
bnx2x: Add num of VFs to Management statistics

Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agobnx2x: no error when RSS configuration fails
Yuval Mintz [Thu, 26 Dec 2013 07:57:10 +0000 (09:57 +0200)]
bnx2x: no error when RSS configuration fails

It's possible for VMs with older versions of bnx2x to run over a hypervisor
with latest driver. If a VF in such a VM does not support RSS configuration,
the PF driver in the hypervisor will print an error message to system logs.

This changes the error message into a debug message, as this is very likely
a false alarm for an older VF (i.e., VF manages to work properly; PF simply
cannot configure the additional queues for it).

Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agobnx2x: add Big-Endian ethtool comment
Yuval Mintz [Thu, 26 Dec 2013 07:57:09 +0000 (09:57 +0200)]
bnx2x: add Big-Endian ethtool comment

There's a known issue that using `ethtool -e' flips the endianity of the
written data, i.e., using `ethtool -E' to dump eeprom image and than using
`ethtool -e' to re-write that same image will result in an image where
the data has the opposite endianity.
Sadly, this cannot be fixed as there are already various tools deployed
based on the endianity of the eeprom read/write.
Instead, a comment is added to the code to help explain why this is un-fixable.

Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agobnx2x: Add AER support (missing bits)
Yuval Mintz [Thu, 26 Dec 2013 07:57:08 +0000 (09:57 +0200)]
bnx2x: Add AER support (missing bits)

This function adds several OS calls required to fully enable PCIe AER support -
pci_enable_pcie_error_reporting() and pci_cleanup_aer_uncorrect_error_status().

Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agobnx2x: Add support for Multi-Function UNDI
Yuval Mintz [Thu, 26 Dec 2013 07:57:07 +0000 (09:57 +0200)]
bnx2x: Add support for Multi-Function UNDI

This adds the ability for bnx2x to load after UNDI is used in the
preboot environment on a multi-function interface which is not the first
interface of a given device.
Notice a side-effect is that the order by which the functions are probed and
thus interfaces appear might change, as this patch utilizes the EPROBE_DEFER
return value (and mechanism).

Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoMerge branch 'addr_compare'
David S. Miller [Thu, 26 Dec 2013 18:31:45 +0000 (13:31 -0500)]
Merge branch 'addr_compare'

Ding Tianhong says:

====================
slight optimization of addr compare for some modules

Joe Perches add ether_addr_equal_unaligned to test if
possibly unaligned to u16 Ethernet addresses are equal.

If CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is set, this uses
the slightly faster generic routine ether_addr_equal,
otherwise this uses memcmp.

So I use the recently added and possibly more efficient
ether_addr_equal_unaligned to instead of memcmp for slight
optimization.

v2: Because a lot of places are already using 16b aligned MAC
    address for both operands, so use the ether_addr_equal to
    instead of ether_addr_equal_unaligned.Thanks for Joe, Alex
    and Antonio's opinions.
    Also remove the patch for bridge.

v3: According Joe's suggestion, the patch
    (net: slight optimization of addr compare for some modules)
    should be broken into several patches, and it will be good
    to review for maintainers. So I will send rest of the patches
    for first step, and next step, I will seperate the netdev patch
    and send them by another patchset for net-next.
    also fix some changelog.

v3.5 Change some style for patch 8 and patch 13. Thanks for
     Sergei's suggestion.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agowireless: slight optimization of addr compare
dingtianhong [Thu, 26 Dec 2013 11:41:34 +0000 (19:41 +0800)]
wireless: slight optimization of addr compare

Use possibly more efficient ether_addr_equal or
ether_addr_equal_unaligned instead of memcmp.

Cc: John W. Linville <linville@tuxdriver.com>
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Weilong Chen <chenweilong@huawei.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agortlwifi: slight optimization of addr compare
dingtianhong [Thu, 26 Dec 2013 11:41:30 +0000 (19:41 +0800)]
rtlwifi: slight optimization of addr compare

Use possibly more efficient ether_addr_equal_unaligned
instead of memcmp.

Cc: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Chaoming Li <chaoming_li@realsil.com.cn>
Cc: John W. Linville <linville@tuxdriver.com>
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Weilong Chen <chenweilong@huawei.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agomwifiex: slight optimization of addr compare
dingtianhong [Thu, 26 Dec 2013 11:41:27 +0000 (19:41 +0800)]
mwifiex: slight optimization of addr compare

Use possibly more efficient ether_addr_equal
instead of memcmp.

Cc: Bing Zhao <bzhao@marvell.com>
Cc: John W. Linville <linville@tuxdriver.com>
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Weilong Chen <chenweilong@huawei.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoipw2x00: slight optimization of addr compare
dingtianhong [Thu, 26 Dec 2013 11:41:23 +0000 (19:41 +0800)]
ipw2x00: slight optimization of addr compare

Use possibly more efficient ether_addr_equal
instead of memcmp.

Cc: Stanislav Yakovlev <stas.yakovlev@gmail.com>
Cc: John W. Linville <linville@tuxdriver.com>
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Weilong Chen <chenweilong@huawei.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>