aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* udp: get rid of sk_prot_clear_portaddr_nulls()Eric Dumazet2016-08-24
| | | | | | | | Since we no longer use SLAB_DESTROY_BY_RCU for UDP, we do not need sk_prot_clear_portaddr_nulls() helper. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* ipv6: udp: remove udp_v6_clear_sk()Eric Dumazet2016-08-24
| | | | | | | | Now RCU lookups of ipv6 udp sockets no longer dereference pinet6 field, we can get rid of udp_v6_clear_sk() helper. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: diag: support SOCK_DESTROY for UDP socketsDavid Ahern2016-08-24
| | | | | | | | | | This implements SOCK_DESTROY for UDP sockets similar to what was done for TCP with commit c1e64e298b8ca ("net: diag: Support destroying TCP sockets.") A process with a UDP socket targeted for destroy is awakened and recvmsg fails with ECONNABORTED. Signed-off-by: David Ahern <dsa@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* tipc: use kfree_skb() instead of kfree()Wei Yongjun2016-08-24
| | | | | | | | | Use kfree_skb() instead of kfree() to free sk_buff. Fixes: 0d051bf93c06 ("tipc: make bearer packet filtering generic") Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Acked-by: Ying Xue <ying.xue@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: ena: change the return type of ena_set_push_mode() to be void.Rami Rosen2016-08-23
| | | | | | | | This patch changes the return type of ena_set_push_mode() to be void, as it always returns 0. Signed-off-by: Rami Rosen <ramirose@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge tag 'rxrpc-rewrite-20160823-2' of ↵David S. Miller2016-08-23
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs David Howells says: ==================== rxrpc: Miscellaneous improvements Here are some improvements that are part of the AF_RXRPC rewrite. They need to be applied on top of the just posted cleanups. (1) Set the connection expiry on the connection becoming idle when its last currently active call completes rather than each time put is called. This means that the connection isn't held open by retransmissions, pings and duplicate packets. Future patches will limit the number of live connections that the kernel will support, so making sure that old connections don't overstay their welcome is necessary. (2) Calculate packet serial skew in the UDP data_ready callback rather than in the call processor on a work queue. Deferring it like this causes the skew to be elevated by further packets coming in before we get to make the calculation. (3) Move retransmission of the terminal ACK or ABORT packet for a connection to the connection processor, using the terminal state cached in the rxrpc_connection struct. This means that once last_call is set in a channel to the current call's ID, no more packets will be routed to that rxrpc_call struct. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * rxrpc: Perform terminal call ACK/ABORT retransmission from conn processorDavid Howells2016-08-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Perform terminal call ACK/ABORT retransmission in the connection processor rather than in the call processor. With this change, once last_call is set, no more incoming packets will be routed to the corresponding call or any earlier calls on that channel (call IDs must only increase on a channel on a connection). Further, if a packet's callNumber is before the last_call ID or a packet is aimed at successfully completed service call then that packet is discarded and ignored. Signed-off-by: David Howells <dhowells@redhat.com>
| * rxrpc: Calculate serial skew on packet receptionDavid Howells2016-08-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calculate the serial number skew in the data_ready handler when a packet has been received and a connection looked up. The skew is cached in the sk_buff's priority field. The connection highest received serial number is updated at this time also. This can be done without locks or atomic instructions because, at this point, the code is serialised by the socket. This generates more accurate skew data because if the packet is offloaded to a work queue before this is determined, more packets may come in, bumping the highest serial number and thereby increasing the apparent skew. This also removes some unnecessary atomic ops. Signed-off-by: David Howells <dhowells@redhat.com>
| * rxrpc: Set connection expiry on idle, not putDavid Howells2016-08-23
| | | | | | | | | | | | | | | | | | | | | | | | Set the connection expiry time when a connection becomes idle rather than doing this in rxrpc_put_connection(). This makes the put path more efficient (it is likely to be called occasionally whilst a connection has outstanding calls because active workqueue items needs to be given a ref). The time is also preset in the connection allocator in case the connection never gets used. Signed-off-by: David Howells <dhowells@redhat.com>
* | Merge tag 'rxrpc-rewrite-20160823-1' of ↵David S. Miller2016-08-23
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs David Howells says: ==================== rxrpc: Cleanups Here are some cleanups for the AF_RXRPC rewrite: (1) Remove some unused bits. (2) Call releasing on socket closure is now done in the order in which calls progress through the phases so that we don't miss a call actively moving list. (3) The rxrpc_call struct's channel number field is redundant and replaced with accesses to the masked off cid field instead. (4) Use a tracepoint for socket buffer accounting rather than printks. Unfortunately, since this would require currently non-existend arch-specific help to divine the current instruction location, the accounting functions are moved out of line so that __builtin_return_address() can be used. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * rxrpc: Use a tracepoint for skb accounting debuggingDavid Howells2016-08-23
| | | | | | | | | | | | | | Use a tracepoint to log various skb accounting points to help in debugging refcounting errors. Signed-off-by: David Howells <dhowells@redhat.com>
| * rxrpc: Drop channel number field from rxrpc_call structDavid Howells2016-08-23
| | | | | | | | | | | | | | | | | | Drop the channel number (channel) field from the rxrpc_call struct to reduce the size of the call struct. The field is redundant: if the call is attached to a connection, the channel can be obtained from there by AND'ing with RXRPC_CHANNELMASK. Signed-off-by: David Howells <dhowells@redhat.com>
| * rxrpc: When clearing a socket, clear the call sets in the right orderDavid Howells2016-08-23
| | | | | | | | | | | | | | | | | | | | When clearing a socket, we should clear the securing-in-progress list first, then the accept queue and last the main call tree because that's the order in which a call progresses. Not that a call should move from the accept queue to the main tree whilst we're shutting down a socket, but it a call could possibly move from sequreq to acceptq whilst we're clearing up. Signed-off-by: David Howells <dhowells@redhat.com>
| * rxrpc: Tidy up the rxrpc_call struct a bitDavid Howells2016-08-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do a little tidying of the rxrpc_call struct: (1) in_clientflag is no longer compared against the value that's in the packet, so keeping it in this form isn't necessary. Use a flag in flags instead and provide a pair of wrapper functions. (2) We don't read the epoch value, so that can go. (3) Move what remains of the data that were used for hashing up in the struct to be with the channel number. (4) Get rid of the local pointer. We can get at this via the socket struct and we only use this in the procfs viewer. Signed-off-by: David Howells <dhowells@redhat.com>
| * rxrpc: Remove RXRPC_CALL_PROC_BUSYDavid Howells2016-08-23
| | | | | | | | | | | | Remove RXRPC_CALL_PROC_BUSY as work queue items are now 100% non-reentrant. Signed-off-by: David Howells <dhowells@redhat.com>
* | net: hns: remove redundant dev_err call in hns_dsaf_get_cfg()Wei Yongjun2016-08-23
| | | | | | | | | | | | | | | | | | There is a error message within devm_ioremap_resource already, so remove the dev_err call to avoid redundant error message. Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | cxgb4: Remove unused including <linux/version.h>Wei Yongjun2016-08-23
| | | | | | | | | | | | | | Remove including <linux/version.h> that don't need it. Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: phy: xgmiitorgmii: Fix non static symbol warningWei Yongjun2016-08-23
| | | | | | | | | | | | | | | | | | | | Fixes the following sparse warning: drivers/net/phy/xilinx_gmii2rgmii.c:61:5: warning: symbol 'xgmiitorgmii_probe' was not declared. Should it be static? Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | qede: Add support for Tx/Rx-only queues.Sudarsana Reddy Kalluru2016-08-23
| | | | | | | | | | | | | | | | | | Add provision for configuring the fastpath queues with Tx (or Rx) only functionality. Signed-off-by: Sudarsana Reddy Kalluru <sudarsana.kalluru@qlogic.com> Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: rtnetlink: Don't export empty RTAX_FEATURESPhil Sutter2016-08-23
| | | | | | | | | | | | | | | | | | | | | | | | Since the features bit field has bits for internal only use as well, it may happen that the kernel exports RTAX_FEATURES attribute with zero value which is pointless. Fix this by making sure the attribute is added only if the exported value is non-zero. Signed-off-by: Phil Sutter <phil@nwl.cc> Signed-off-by: David S. Miller <davem@davemloft.net>
* | cxgb4: Fix issue while re-registering VF mgmt netdevHariprasad Shenai2016-08-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we disable SRIOV, we used to unregister the netdev but wasn't freed. But next time when the same netdev is registered, since the state was in 'NETREG_UNREGISTERED', we used to hit BUG_ON in register_netdevice, where it expects the state to be 'NETREG_UNINITIALIZED'. Alloc netdev and register them while configuring SRIOV, and free them when SRIOV is disabled. Also added a new function to setup ethernet properties instead of using ether_setup. Set carrier off by default, since we don't have to do any transmit on the interface. Fixes: 7829451c695e ("cxgb4: Add control net_device for configuring PCIe VF") Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net-tcp: retire TFO_SERVER_WO_SOCKOPT2 configYuchung Cheng2016-08-23
| | | | | | | | | | | | | | | | | | | | | | | | TFO_SERVER_WO_SOCKOPT2 was intended for debugging purposes during Fast Open development. Remove this config option and also update/clean-up the documentation of the Fast Open sysctl. Reported-by: Piotr Jurkiewicz <piotr.jerzy.jurkiewicz@gmail.com> Signed-off-by: Yuchung Cheng <ycheng@google.com> Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: Neal Cardwell <ncardwell@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | xen-netback: using kfree_rcu() to simplify the codeWei Yongjun2016-08-23
| | | | | | | | | | | | | | | | The callback function of call_rcu() just calls a kfree(), so we can use kfree_rcu() instead of call_rcu() + callback function. Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | liquidio: declare liquidio_set_rxcsum_command staticNicholas Mc Guire2016-08-23
| | | | | | | | | | | | | | | | liquidio_set_rxcsum_command is a local function only, no need to expose it outside of lio_main.c so declare it static and make sparse happy. Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | l2tp: Refactor the codes with existing macros instead of literal numberGao Feng2016-08-23
| | | | | | | | | | | | | | | | | | Use PPP_ALLSTATIONS, PPP_UI, and SEND_SHUTDOWN instead of 0xff, 0x03, and 2 separately. Signed-off-by: Gao Feng <fgao@ikuai8.com> Acked-by: Guillaume Nault <g.nault@alphalink.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge branch 'strp-kcm-fixes'David S. Miller2016-08-23
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tom Herbert says: ==================== strp: Minor fixes to strparser and kcm Fix locking issue in kcm and losing events when paused. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * | kcm: Fix locking issueTom Herbert2016-08-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lock the lower socket in kcm_unattach. Release during call to strp_done since that function cancels the RX timers and work queue with sync. Also added some status information in psock reporting. Signed-off-by: Tom Herbert <tom@herbertland.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | strparser: Queue work when being unpausedTom Herbert2016-08-23
|/ / | | | | | | | | | | | | | | When the upper layer unpauses a stream parser connection we need to queue rx_work to make sure no events are missed. Signed-off-by: Tom Herbert <tom@herbertland.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge branch 'hv_netvsc-cleanups'David S. Miller2016-08-23
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stephen Hemminger says: ==================== Hyper-V network driver cleanups. The only new functionality is minor extensions to ethtool. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * | hv_netvsc: add ethtool statistics for tx packet issuesStephen Hemminger2016-08-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | Printing console messages is not helpful when system is out of memory; and can be disastrous with netconsole. Instead keep statistics of these anomalous conditions. Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | hv_netvsc: report vmbus name in ethtoolStephen Hemminger2016-08-23
| | | | | | | | | | | | | | | | | | | | | Make netvsc on vmbus behave more like PCI. Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | hv_netvsc: make variable localStephen Hemminger2016-08-23
| | | | | | | | | | | | | | | | | | | | | The variable m_ret is only used in one basic block. Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | hv_netvsc: make netvsc_destroy_buf voidStephen Hemminger2016-08-23
| | | | | | | | | | | | | | | | | | | | | No caller checks the return value. Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | hv_netvsc: refactor completion functionStephen Hemminger2016-08-23
| | | | | | | | | | | | | | | | | | | | | Break the different cases, code is cleaner if broken up Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | hv_netvsc: rearrange start_xmitStephen Hemminger2016-08-23
| | | | | | | | | | | | | | | | | | | | | | | | Rearrange the transmit routine to eliminate goto's and unnecessary boolean variables. Use standard functions to test for vlan tag. Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | hv_netvsc: init completion during allocStephen Hemminger2016-08-23
| | | | | | | | | | | | | | | | | | | | | Move initialization to allocate where other fields are initialized. Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | hv_netvsc: make device_remove voidStephen Hemminger2016-08-23
| | | | | | | | | | | | | | | | | | | | | Always returns 0 and no callers check. Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | hv_netvsc: use ARRAY_SIZE() for NDIS versionsStephen Hemminger2016-08-23
| | | | | | | | | | | | | | | | | | | | | Don't hard code size of array of NDIS versions. Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | hv_netvsc: make inline functions staticStephen Hemminger2016-08-23
| | | | | | | | | | | | | | | | | | | | | | | | Several new functions were introduced into hyperv.h but only used in one file. Move them and let compiler decide on inline. Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | hv_netvsc: style cleanupsStephen Hemminger2016-08-23
| | | | | | | | | | | | | | | | | | | | | | | | Fix most of the complaints about the style of the code. Things like extra blank lines and return statements. Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | hv_netvsc: use kcallocStephen Hemminger2016-08-23
| | | | | | | | | | | | | | | | | | | | | Better to use kcalloc rather than kzalloc and multiply for an array. Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | hv_netvsc: make RSS hash key staticStephen Hemminger2016-08-23
| | | | | | | | | | | | | | | Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | hv_netvsc: fix rtnl locking in callbackStephen Hemminger2016-08-23
|/ / | | | | | | | | | | | | | | | | | | | | | | The function get_netvsc_net_device had conditional locking. This was unnecessary, incorrect, but harmless. It was unnecessary since the code is only called from netlink netdev event callback where RTNL is always acquired before the callbacks are run. It was incorrect because of use of trylock and then continuing. Fix by replacing with proper assertion. Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge tag 'shared-for-4.9-1' of ↵David S. Miller2016-08-23
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma Saeed Mahameed says: ==================== Mellanox mlx5 core driver updates 2016-08-20 This series contains several low level and API updates for mlx5 core commands interface and mlx5_ifc.h to be shared as base code for net-next and rdma mlx5 4.9 submissions. From Saeed, ten patches that refactors old layouts of firmware commands which were manually generated before we introduced the mlx5_ifc, now all of the firmware commands inbox/outbox layouts moved to use mlx5_ifc and we remove the old manually generated structures. Plus to those ten patches, we add two patches that unifies mlx5 commands execution interface and improve the driver log messages in that area. From Hadar and Ilya, added the needed hardware bits and infrastructure for minimum inline headers setting and encap/decap commands and capabilities, needed for E-Switch offloads. This series applies on top latest net-next and rdma/master, and smoothly merges with the latest "Mellanox 100G mlx5 fixes 2016-08-16" series already applied into net branch. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net/mlx5: Introduce alloc_encap and dealloc_encap commandsIlya Lesokhin2016-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | Implement low-level commands to support vxlan encapsulation. Signed-off-by: Ilya Lesokhin <ilyal@mellanox.com> Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com> Signed-off-by: Leon Romanovsky <leon@kernel.org>
| * | net/mlx5: Update mlx5_ifc.h for vxlan encap/decapHadar Hen Zion2016-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add the required definitions related to vxlan encap/decap. Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com> Signed-off-by: Ilya Lesokhin <ilyal@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com> Signed-off-by: Leon Romanovsky <leon@kernel.org>
| * | net/mlx5: Enable setting minimum inline header mode for VFsHadar Hen Zion2016-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | Implement the low-level part of the PF side in setting minimum inline header mode for VFs. Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com> Signed-off-by: Leon Romanovsky <leon@kernel.org>
| * | net/mlx5: Improve driver log messagesSaeed Mahameed2016-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove duplicate pci dev name printing in mlx5_core_err. Use mlx5_core_{warn,info,err} where possible to have the pci info in the driver log messages. Signed-off-by: Saeed Mahameed <saeedm@mellanox.com> Signed-off-by: Parvi Kaustubhi <parvik@mellanox.com> Signed-off-by: Leon Romanovsky <leon@kernel.org>
| * | net/mlx5: Unify and improve command interfaceSaeed Mahameed2016-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now as all commands use mlx5 ifc interface, instead of doing two calls for executing a command we embed command status checking into mlx5_cmd_exec to simplify the interface. Also we do here some cleanup for redundant software structures (inbox/outbox) and functions and improved command failure output. Signed-off-by: Saeed Mahameed <saeedm@mellanox.com> Signed-off-by: Leon Romanovsky <leon@kernel.org>
| * | {net,IB}/mlx5: Modify QP commands via mlx5 ifcSaeed Mahameed2016-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to this patch we assumed that modify QP commands have the same layout. In ConnectX-4 for each QP transition there is a specific command and their layout can vary. e.g: 2err/2rst commands don't have QP context in their layout and before this patch we posted the QP context in those commands. Fortunately the FW only checks the suffix of the commands and executes them, while ignoring all invalid data sent after the valid command layout. This patch removes mlx5_modify_qp_mbox_in and changes mlx5_core_qp_modify to receive the required transition and QP context with opt_param_mask if needed. This way the caller is not required to provide the command inbox layout and it will be generated automatically. mlx5_core_qp_modify will generate the command inbox/outbox layouts according to the requested transition and will fill the requested parameters. Signed-off-by: Saeed Mahameed <saeedm@mellanox.com> Signed-off-by: Leon Romanovsky <leon@kernel.org>