- 30 Jul, 2015 28 commits
-
-
Jiri Pirko authored
Benefit from the previously introduced Mellanox Switch infrastructure and add driver for SwitchX-2 ASIC. Note that this driver is very simple now. It implements bare minimum for getting device to work on slow-path. Fast-path offload functionality is going to be added soon. Signed-off-by:
Jiri Pirko <jiri@mellanox.com> Signed-off-by:
Ido Schimmel <idosch@mellanox.com> Signed-off-by:
Elad Raz <eladr@mellanox.com> Reviewed-by:
Scott Feldman <sfeldma@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Ido Schimmel authored
Ethernet Management Datagrams (EMADs) are Ethernet packets sent between the host and the device in order to configure the available device registers. Another use case is notifications sent from the device to the host, letting it know about certain events, such as port up / down. Add the ability to construct EMADs with provisions to construct and parse the registers' payloads. Implement EMAD transaction layer which is responsible for the reliable transmission of EMADs. Also, add an infrastructure used by the switch driver to register for particular events generated by the device. Signed-off-by:
Ido Schimmel <idosch@mellanox.com> Signed-off-by:
Jiri Pirko <jiri@mellanox.com> Signed-off-by:
Elad Raz <eladr@mellanox.com> Reviewed-by:
Scott Feldman <sfeldma@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Jiri Pirko authored
Add PCI bus implementation for Mellanox Technologies Switch ASICs. This includes firmware initialization, async queues manipulation and command interface implementation. Signed-off-by:
Jiri Pirko <jiri@mellanox.com> Signed-off-by:
Ido Schimmel <idosch@mellanox.com> Signed-off-by:
Elad Raz <eladr@mellanox.com> Reviewed-by:
Scott Feldman <sfeldma@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Jiri Pirko authored
Add core components of Mellanox switch driver infrastructure. Core infrastructure is designed so that it can be used by multiple bus drivers (PCI now, I2C and SGMII are planned to be implemented in the future). Multiple switch kind drivers can be registered as well. This core serves as a glue between buses and drivers. Signed-off-by:
Jiri Pirko <jiri@mellanox.com> Signed-off-by:
Ido Schimmel <idosch@mellanox.com> Signed-off-by:
Elad Raz <eladr@mellanox.com> Reviewed-by:
Scott Feldman <sfeldma@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Sriharsha Basavapatna authored
This patch adds vxlan offload specific counters to ethtool stats. We provide tx/rx queue counters to show the number of vxlan offload pkts sent/received. Signed-off-by:
Sriharsha Basavapatna <sriharsha.basavapatna@emulex.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Yuval Mintz authored
Current driver always uses vlan-promisc mode, i.e., it receives both tagged and untagged traffic and lets the network stack drop packets tagged with unrequested vlan tags. This patch implements vlan-filtering offload in the driver - Unless explicitly configured to promisc mode, only untagged packets or packets tagged with requested vlans would reach the Rx flow. Signed-off-by:
Yuval Mintz <Yuval.Mintz@qlogic.com> Signed-off-by:
Ariel Elior <Ariel.Elior@qlogic.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Amir Vadai says: ==================== net/mlx5e: Driver update 29-Jul-2015 This patchset contain bug fixes and code cleaning patches to the ConnectX-4 Ethernet driver. Patchset was applied and tested over commit 8c1a91f1 ("Merge branch 'mlx4-802.1ad-accel'") ==================== Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Achiad Shochat authored
It was used to update netdev priv parameters that require stopping and re-opening the device in a generic way - it got the new parameters and did: ndo_stop(), copy new parameters into current parameters, ndo_open(). We chose to remove it for two reasons: 1) It requires additional instance of struct mlx5e_params on the stack and looking forward we expect this struct to grow. 2) Sometimes we want to do additional operations (besides just updating the priv parameters) while the netdev is stopped. For example, updating netdev->mtu @mlx5e_change_mtu() should be done while the netdev is stopped (done in this commit). Signed-off-by:
Achiad Shochat <achiad@mellanox.com> Signed-off-by:
Amir Vadai <amirv@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Achiad Shochat authored
Introduce access functions to create/destroy RSS indrection table and use it in the Ethernet driver. Signed-off-by:
Achiad Shochat <achiad@mellanox.com> Signed-off-by:
Amir Vadai <amirv@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Achiad Shochat authored
Since it is un-named at this time. Signed-off-by:
Achiad Shochat <achiad@mellanox.com> Signed-off-by:
Amir Vadai <amirv@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Achiad Shochat authored
Use the already defined rq pointer directly. Signed-off-by:
Achiad Shochat <achiad@mellanox.com> Signed-off-by:
Amir Vadai <amirv@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Achiad Shochat authored
It is not needed by the mlx5 Eth driver since it has a CQ per RQ/SQ. Signed-off-by:
Achiad Shochat <achiad@mellanox.com> Signed-off-by:
Amir Vadai <amirv@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Achiad Shochat authored
This field already exists under the mlx5e_params struct Signed-off-by:
Achiad Shochat <achiad@mellanox.com> Signed-off-by:
Amir Vadai <amirv@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Achiad Shochat authored
The page size of the device's RQ/SQ/CQ objects is defined in 4K units regardless of the system pages size. Thus using the Linux's PAGE_SHIFT macro yields wrong device configuration in systems where PAGE_SHIFT!=12. Signed-off-by:
Achiad Shochat <achiad@mellanox.com> Signed-off-by:
Amir Vadai <amirv@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Haggai Abramonvsky authored
mlx5_cmd_exec() might fail - need to check return value. Signed-off-by:
Haggai Abramovsky <hagaya@mellanox.com> Signed-off-by:
Saeed Mahameed <saeedm@mellanox.com> Signed-off-by:
Amir Vadai <amirv@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Thomas Graf authored
This readds the config option CONFIG_OPENVSWITCH_VXLAN to avoid a hard dependency of OVS on VXLAN. It moves the VXLAN config compat code to vport-vxlan.c and allows compliation as a module. Fixes: 614732ea ("openvswitch: Use regular VXLAN net_device device") Fixes: 2661371a ("openvswitch: fix compilation when vxlan is a module") Cc: Pravin B Shelar <pshelar@nicira.com> Cc: Nicolas Dichtel <nicolas.dichtel@6wind.com> Signed-off-by:
Thomas Graf <tgraf@suug.ch> Acked-by:
Pravin B Shelar <pshelar@nicira.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Bogdan Hamciuc authored
Field pktgen_dev.allocated_skbs had been written to, but never read from. The number of allocated skbs can be deduced anyway, from the total number of sent packets and the 'clone_skb' param. Signed-off-by:
Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Bogdan Hamciuc authored
Allocate enough space so as not to force the outgoing net device to do skb_realloc_headroom(). Signed-off-by:
Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Thomas Graf authored
Any external user should use the registration API instead of accessing this directly. Cc: Roopa Prabhu <roopa@cumulusnetworks.com> Signed-off-by:
Thomas Graf <tgraf@suug.ch> Acked-by:
Roopa Prabhu <roopa@cumulusnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Scott Wood authored
As part of defconfig consolidation using fragments, we'd like to be able to have the same drivers enabled on 32-bit and 64-bit. Gianfar happens to only exist on 32-bit systems, and when building the resulting 64-bit kernel warnings were produced. A couple of the warnings are trivial, but the rfbptr code has deeper issues. It uses the virtual address as the DMA address, which again, happens to work in the environments where this driver is currently used, but is not the right thing to do. Fixes: 45b679c9 ("gianfar: Implement PAUSE frame generation support") Signed-off-by:
Scott Wood <scottwood@freescale.com> Signed-off-by:
Claudiu Manoil <claudiu.manoil@freescale.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Tom Herbert says: ==================== net: Initialize sk_hash to random value and reset for failing cnxs This patch set implements a common function to simply set sk_txhash to a random number instead of going through the trouble to call flow dissector. From dst_negative_advice we now reset the sk_txhash in hopes of finding a better ECMP path through the network. Changing sk_txhash affects: - IPv6 flow label and UDP source port which affect ECMP in the network - Local ECMP route selection (pending changes to use sk_txhash) ==================== Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Tom Herbert authored
When a connection is failing a transport protocol calls dst_negative_advice to try to get a better route. This patch includes changing the sk_txhash in that function. This provides a rudimentary method to try to find a different path in the network since sk_txhash affects ECMP on the local host and through the network (via flow labels or UDP source port in encapsulation). Signed-off-by:
Tom Herbert <tom@herbertland.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Tom Herbert authored
This patch creates sk_set_txhash and eliminates protocol specific inet_set_txhash and ip6_set_txhash. sk_set_txhash simply sets a random number instead of performing flow dissection. sk_set_txash is also allowed to be called multiple times for the same socket, we'll need this when redoing the hash for negative routing advice. Signed-off-by:
Tom Herbert <tom@herbertland.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Radha Mohan Chintakuntla says: ==================== Add MDIO support to ThunderX NIC driver This patch series adds MDIO support to ThunderX NIC driver by making use of existing mdio-octeon driver. In the process modified the mdio-octeon driver to work on both Octeon and ThunderX platforms. * From v1: - Removed default selection in Kconfig for MDIO_OCTEON - Replace uint64 with u64 as suggested by David Daney ==================== Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Radha Mohan Chintakuntla authored
The CONFIG_MDIO_OCTEON is required so that the ThunderX NIC driver can talk to the PHY drivers. Signed-off-by:
Radha Mohan Chintakuntla <rchintakuntla@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Radha Mohan Chintakuntla authored
This patch fixes a possible crash in the octeon_mdiobus_probe function if the return values are not handled properly. Signed-off-by:
Radha Mohan Chintakuntla <rchintakuntla@cavium.com> Signed-off-by:
Tomasz Nowicki <tomasz.nowicki@linaro.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Radha Mohan Chintakuntla authored
This patch modifies the mdio-octeon driver to work on both ThunderX and Octeon SoCs from Cavium Inc. Signed-off-by:
Sunil Goutham <sgoutham@cavium.com> Signed-off-by:
Radha Mohan Chintakuntla <rchintakuntla@cavium.com> Signed-off-by:
David Daney <david.daney@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
WingMan Kwok authored
On some of the K2E and K2L platforms, the two DWORDs in efuse occupied by the pre-programmed mac address for slave port 1 are swapped. To workaround this issue, this patch adds a new define NETCP_EFUSE_ADDR_SWAP (2) which signifies the occurrence of such swapping so that the driver can take proper action. The flag can be enabled in the corresponding netcp interface dts binding as efuse-mac = <2> under the corresponding netcp interface node. Signed-off-by:
WingMan Kwok <w-kwok2@ti.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 29 Jul, 2015 12 commits
-
-
Jon Maloy authored
In commit d999297c ("tipc: reduce locking scope during packet reception") we introduced a new function tipc_build_bcast_sync_msg(), which carries initial synchronization data between two nodes at first contact and at re-contact. In this function, we missed to add synchronization data, with the effect that the broadcast link endpoints will fail to synchronize correctly at re-contact between a running and a restarted node. All other cases work as intended. With this commit, we fix this bug. Signed-off-by:
Jon Maloy <jon.maloy@ericsson.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Tobias Klauser authored
Follow e8e85cc5 ("packet: remove handling of tx_ring") and remove the tx_ring parameter from prb_shutdown_retire_blk_timer() as it is only called with tx_ring = 0. Signed-off-by:
Tobias Klauser <tklauser@distanz.ch> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Michael Holzheu says: ==================== s390/bpf: recache skb->data/hlen for skb_vlan_push/pop Here the s390 backend for Alexei's patch 4e10df9a ("bpf: introduce bpf_skb_vlan_push/pop() helpers") plus two bugfixes and two minor improvements. The first patch "s390/bpf: clear correct BPF accumulator register" will also go upstream via Martin's "fixes" branch. * v2: Integrated suggestions from Joe Perches ==================== Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Michael Holzheu authored
Allow eBPF programs attached to TC qdiscs call skb_vlan_push/pop via helper functions. These functions may change skb->data/hlen. This data is cached by s390 JIT to improve performance of ld_abs/ld_ind instructions. Therefore after a change we have to reload the data. In case of usage of skb_vlan_push/pop, in the prologue we store the SKB pointer on the stack and restore it after BPF_JMP_CALL to skb_vlan_push/pop. Signed-off-by:
Michael Holzheu <holzheu@linux.vnet.ibm.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Michael Holzheu authored
Only classic BPF programs that have been converted to eBPF need to clear the A and X registers. We can check for converted programs with: bpf_prog->type == BPF_PROG_TYPE_UNSPEC So add the check and skip initialization for real eBPF programs. Signed-off-by:
Michael Holzheu <holzheu@linux.vnet.ibm.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Michael Holzheu authored
Currently we have the restriction that jitted BPF programs can have a maximum size of one page. The reason is that we use short displacements for the literal pool. The 20 bit displacements are available since z990 and BPF requires z196 as minimum. Therefore we can remove this restriction and use everywhere 20 bit signed long displacements. Acked-by:
Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by:
Michael Holzheu <holzheu@linux.vnet.ibm.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Michael Holzheu authored
The EMIT6_DISP_LH macro passes the "disp" parameter to the _EMIT6_DISP_LH macro. The _EMIT6_DISP_LH macro uses the "disp" parameter twice: unsigned int __disp_h = ((u32)disp) & 0xff000; unsigned int __disp_l = ((u32)disp) & 0x00fff; The EMIT6_DISP_LH is used several times with EMIT_CONST_U64() as "disp" parameter. Therefore always two constants are created per usage of EMIT6_DISP_LH. Fix this and add variable "_disp" to avoid multiple expansions. * v2: Move "_disp" to _EMIT6_DISP_LH as suggested by Joe Perches Fixes: 05462310 ("s390/bpf: Add s390x eBPF JIT compiler backend") Signed-off-by:
Michael Holzheu <holzheu@linux.vnet.ibm.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Michael Holzheu authored
Currently we assumed the following BPF to eBPF register mapping: - BPF_REG_A -> BPF_REG_7 - BPF_REG_X -> BPF_REG_8 Unfortunately this mapping is wrong. The correct mapping is: - BPF_REG_A -> BPF_REG_0 - BPF_REG_X -> BPF_REG_7 So clear the correct registers and use the BPF_REG_A and BPF_REG_X macros instead of BPF_REG_0/7. Fixes: 05462310 ("s390/bpf: Add s390x eBPF JIT compiler backend") Cc: stable@vger.kernel.org # 4.0+ Signed-off-by:
Michael Holzheu <holzheu@linux.vnet.ibm.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Amir Vadai authored
Fix mistakenly used, hard coded, port number in get_phv_bit() Fixes: 77fc29c4 ("net/mlx4_core: Preparations for 802.1ad VLAN support") Signed-off-by:
Amir Vadai <amirv@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Joachim Eastwood says: ==================== stmmac clean up for 4.3 part2 This patch set creates proper probe functions in the remaining dwmac-* drivers, lets the drivers manage their own of match data structure, and cleans up some of the drivers a bit. Note that should be no functional change in any of the drivers. First patch from Fengguang fixes a Coccinelle that was found after the previous patch set when into next. Probe functions are best placed just above the platform_driver struct since it usually needs to call other functions in the driver but this requires some code movement in the drivers. To keep the conversion itself easier to review the code movement is done in separate patches. This creates some extra churn but I think it's worth it in this case. As only a couple of drivers actually needs to use of match data this pushed down from stmmac_platform and into the drivers. This also makes it possible for drivers to have their own match data structure. dwmac-rk benefits most from this. After each driver has it's own probe function and manages it's own match data the setup/free hooks and common match data struct are removed. Sorry for the slightly largish patch set this time around. Since I can only test the core changes on my platform and not the specific dwmac-drivers I greatly appreciate if people could test this on their respective platforms. I did spend quite a bit of time visually checking all these patches, but nothing beats real hardware testing. Thanks! Patch set based on net-next can also be picked up from here: https://github.com/manabian/linux-lpc.git stmmac_4.3_part2 For those who want to have a look at all the patches for v4.3 a branch based on Linus master can be found here: https://github.com/manabian/linux-lpc.git stmmac_4.2 Previous parts can be found here: http://www.spinics.net/lists/netdev/msg328997.html http://www.spinics.net/lists/netdev/msg329932.html http://www.spinics.net/lists/netdev/msg336097.html ==================== Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Joachim Eastwood authored
Remove the two platform specific init callbacks and make them use a common one by creating a function member in the internal data structure. This allow us to remove the layer of indirection and simplify the code a bit. Signed-off-by:
Joachim Eastwood <manabian@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Joachim Eastwood authored
As all dwmac-* drivers have been converted to have a proper probe function the setup callback can now be removed. Also remove the free callback that wasn't used by any driver. New dwmac-* drivers should implement standard probe and remove functions to preform any needed setup and teardown. Signed-off-by:
Joachim Eastwood <manabian@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-