History log of /drivers/net/ethernet/mellanox/mlx4/en_rx.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7e2eb99cc6207e4464f018f72c67c55f2b1c93a4 06-Feb-2012 Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com> mlx4: fix DMA mapping leak when allocation fails

mlx4_en_prepare_rx_desc does not correctly clean up after it finds an
allocation failure. It should unmap a page before calling put_page, but
it only calls the later.

This bug would prevent a device removal using hotplug after setting the
device MTU to 9000 and opening the network interface. After the fix, we
still see the allocation failure with MTU 9000, but we are able to
remove the device.

Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/net/ethernet/mellanox/mlx4/en_rx.c
68355f71132bec25e0d89b2d8d3ed01286307d31 06-Feb-2012 Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com> mlx4: allow device removal by fixing dma unmap size

After opening the network interface, Mellanox ConnectX device cannot be
removed by hotplug because it has not properly unmapped all DMA memory.

It happens that mlx4_en_activate_rx_rings overrides the variable that
keeps the size of the memory mapped.

This is fixed by passing to mlx4_en_destroy_rx_ring the same size that is
given to mlx4_en_create_rx_ring.

After applying this patch, hot unplugging the device works after opening
the interface.

Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/net/ethernet/mellanox/mlx4/en_rx.c
93d3e3678f23109363cd6f99f2944d2cda616b23 17-Jan-2012 Yevgeny Petrilin <yevgenyp@mellanox.co.il> mlx4_en: set number of rx rings used by RSS using ethtool

Value must be a power of 2 due to HW limitation.
Driver supports only 'equal' mode in ethtool and can't be set by using weights.

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
Reviewed-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/net/ethernet/mellanox/mlx4/en_rx.c
89efea25cdceb9093e3f7fb717d3b4063f7f8749 19-Dec-2011 Yevgeny Petrilin <yevgenyp@mellanox.co.il> mlx4_en: FIX: Setting default_qpn before using it

When UDP RSS is enabled, we use same QPN for TCP and UDP ranges
The bug is that the default_qpn was used base UDP qpn before it
was set.
Fixes bug introduced in commit: 1202d460b1df3a77fda66f4ba5f90ae3527dd42f

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/net/ethernet/mellanox/mlx4/en_rx.c
5b4c4d36860ef1c411d0669ffc15090417a33389 13-Dec-2011 Eugenia Emantayev <eugenia@mellanox.co.il> mlx4_en: Allow communication between functions on same host

To enable internal loopback, always fill DMAC in control segment
when transmitting the packet, once this is done, the packet is subject
for loopback for if the DMAC mathces one of the multicast/unicast addresses
registered on the physical port.
In receive path if source MAC is our own MAC and we are not in selftest,
or not in force LB mode - drop this packet.

Signed-off-by: Eugenia Emantayev <eugenia@mellanox.co.il>
Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/net/ethernet/mellanox/mlx4/en_rx.c
1202d460b1df3a77fda66f4ba5f90ae3527dd42f 26-Nov-2011 Or Gerlitz <ogerlitz@mellanox.com> net/mlx4: fix UDP RSS related settings

Using RSS which takes into account UDP headers is controlled by
a module param, fix the setting of the HW RSS context to align
with that scheme. So far it was uncoditionally allowing hashing
on the UDP headers.

Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/net/ethernet/mellanox/mlx4/en_rx.c
876f6e67d1c617c098c67934a8d00b065bb9688b 26-Nov-2011 Or Gerlitz <ogerlitz@mellanox.com> net/mlx4: move RSS related definitions to be global

Towards adding RSS support for IB drivers/application who use
the mlx4 HW, make the RSS related definitions global and change
the mlx4_en driver to use them.

Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Shlomo Pongratz <shlomop@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/net/ethernet/mellanox/mlx4/en_rx.c
4a5f4dd8595a3d3cdf75db7247b644ae37f5d460 14-Nov-2011 Yevgeny Petrilin <yevgenyp@mellanox.co.il> mlx4_en: Remove FCS bytes from packet length.

When HW doesn't remove FCS bytes they are reported in the completion
byte count, we don't need to take them to skb.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/net/ethernet/mellanox/mlx4/en_rx.c
311761c8a553adaa3ad7482b1fdde1ce9042d3e2 20-Oct-2011 Ian Campbell <Ian.Campbell@citrix.com> mlx4: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/net/ethernet/mellanox/mlx4/en_rx.c
90278c9ffb8a92672d60a618a58a99e2370a98ac 19-Oct-2011 Eric Dumazet <eric.dumazet@gmail.com> mlx4_en: fix skb truesize underestimation

skb->truesize must account for allocated memory, not the used part of
it. Doing this work is important to avoid unexpected OOM situations.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/net/ethernet/mellanox/mlx4/en_rx.c
ad86107f7ba38f36597d6cfe9ed2ddfd2c88aee9 18-Oct-2011 Yevgeny Petrilin <yevgenyp@mellanox.co.il> mlx4_en: Adding rxhash support

Moving to Toeplitz function in RSS calculation.
Reporting rxhash in skb.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/net/ethernet/mellanox/mlx4/en_rx.c
3b61008d88b55467cffee5db9b1e0cf32edbe8ac 18-Oct-2011 Yevgeny Petrilin <yevgenyp@mellanox.co.il> mlx4_en: Recording rx queue for gro packets

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/net/ethernet/mellanox/mlx4/en_rx.c
ad04378cecca9c33b5ea3e46aa4ed71b15e0be0c 18-Oct-2011 Yevgeny Petrilin <yevgenyp@mellanox.co.il> mlx4_en: Checksum counters per ring

Not updating common counters from data path.
The checksum counters are per ring, summarizing them when collecting statistics.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/net/ethernet/mellanox/mlx4/en_rx.c
f3a9d1f25dfeadf22c775880633a587cc6778872 18-Oct-2011 Yevgeny Petrilin <yevgenyp@mellanox.co.il> mlx4_en: Controlling FCS header removal

Canceling FCS removal where FW allows for better alignment
of incoming data.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/net/ethernet/mellanox/mlx4/en_rx.c
9e903e085262ffbf1fc44a17ac06058aca03524a 18-Oct-2011 Eric Dumazet <eric.dumazet@gmail.com> net: add skb frag size accessors

To ease skb->truesize sanitization, its better to be able to localize
all references to skb frags size.

Define accessors : skb_frag_size() to fetch frag size, and
skb_frag_size_{set|add|sub}() to manipulate it.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/net/ethernet/mellanox/mlx4/en_rx.c
5a2cc190eb3fe58fe519795c509b01b25795992e 13-May-2011 Jeff Kirsher <jeffrey.t.kirsher@intel.com> mlx4: Move the Mellanox driver

Moves the Mellanox driver into drivers/net/ethernet/mellanox/ and
make the necessary Kconfig and Makefile changes.

CC: Roland Dreier <roland@kernel.org>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
/drivers/net/ethernet/mellanox/mlx4/en_rx.c