aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* packet: fill the gap of TPACKET_ALIGNMENT with zerosAtzm Watanabe2013-12-18
| | | | | | | | | | struct tpacket{2,3}_hdr is aligned to a multiple of TPACKET_ALIGNMENT. Explicitly defining and zeroing the gap of this makes additional changes easier. Signed-off-by: Atzm Watanabe <atzm@stratosphere.co.jp> Acked-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* packet: make aligned size of struct tpacket{2,3}_hdr clearAtzm Watanabe2013-12-18
| | | | | | | | | | struct tpacket{2,3}_hdr is aligned to a multiple of TPACKET_ALIGNMENT. We may add members to them until current aligned size without forcing userspace to call getsockopt(..., PACKET_HDRLEN, ...). Signed-off-by: Atzm Watanabe <atzm@stratosphere.co.jp> Acked-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'bna'David S. Miller2013-12-18
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rasesh Mody says: ==================== bna: Update the Driver to v3.2.23.0 This patch set consists of feature additions like s/w timestamping support, multi-buffer RX, firmware patch simplification, enhancements for RX filters, RX processing changes, bug fixes and updates the firmware version to v3.2.3.0. The patch set addressed the review commnets recieved. This patch set updates the BNA driver to v3.2.23.0 and was tested against net-next 3.12.0-rc6 kernel. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * bna: Update the Driver Version to 3.2.23.0Rasesh Mody2013-12-18
| | | | | | | | | | Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * bna: Firmware Patch SimplificationRasesh Mody2013-12-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch includes change to enable firmware patch simplication feature. This feature is targeted to address the requirement to have independent patch release for firmware. Prior to the 3.2.3.0 firmware, releasing a patch fix for firmware would require changes to bna driver, to use new firmware images. However with these changes, if the new firmware is flashed on to the Adapter, the driver will use the new firmware after checking the patch release byte in the firmware version. Update the f/w version to 3.2.3.0 Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * bna: Embed SKB Length in TX VectorRasesh Mody2013-12-18
| | | | | | | | | | | | | | | | - Store the length of the skb buffer mapped along with the handle and use it while unmapping the buffer. Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * bna: Handle the TX Setup FailuresRasesh Mody2013-12-18
| | | | | | | | | | | | | | | | | | | | | | | | Change details: - When bnad_setup_tx() returns NULL, the error is NOT returned to the caller. The caller will incorrectly assume success. So Return ENOMEM when bna_tx_create() fails. - If bnad_tx_msix_register() fails, call bna_tx_destroy() to free tx & to NULL the bnad reference to tcb. Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * bna: Add NULL Check Before Dereferencing TCBRasesh Mody2013-12-18
| | | | | | | | | | | | | | | | | | | | Currently we already check to see whether the BNAD_TXQ_TX_STARTED cleared. But if the tcb structure which contains this flag is also already freed by that time, we would dereference the NULL pointer. This patch is to check tcb for NULL pointer, before dereferencing it. Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * bna: CQ Read FixRasesh Mody2013-12-18
| | | | | | | | | | | | | | | | Valid bit check for completion needs read fence, so that it does not get reordered with other loads. Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * bna: RX Processing and Config ChangesRasesh Mody2013-12-18
| | | | | | | | | | | | | | | | | | | | Change Details: - Prefetch header in GRO path. This reduces napi_frags_skb time from 9% to 5%. - Changed the configurable limit of RxQ depth to 16384 (was 2048). - bnad_rx_unmap_q elements are cachealigned. Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * bna: Enable Multi Buffer RXRasesh Mody2013-12-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CT2 HW supports multi-buffer Rx. This patch provides the necessary changes for bnad to use multi-buffer Rx feature. For BNAD, multi-buffer Rx is by default enabled when MTU is > 4096. For >4096 MTU, q0 data/large buffers are of 2048 size. As the resource requirements of multi-buffer Rx are different new Rx needs to be created to use this feature. ASIC posts multiple completions if frame exceeds buffer size. The last completion is marked with EOP flag. - Separate HQ and DQ enums for resource allocations and configurations. - rx_config and rxq structure changes to pass the correct info from bnad. - DQ depth need not be same as HQ depth. So CQ depth is adjusted accordingly. - Rx CFG frame size is taken from configured MTU. - Rx q0 buffer size is configured from bnad s rx_config when multi-buffer is enabled. - Poll for entire frame completion. - Once EOP completion is received gather the number of vectors used by the frame to submit it to the stack. - Changed MTU to frame size wherever necessary. Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * bna: RX Filter EnhancementsRasesh Mody2013-12-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change Details: - Added bna_rx_ucast_listset() for synchronous ucast listadd operation. - Clear mac->handle before adding it to free_q. - bnad_set_rx_mode() rewritten. bnad_set_rx_mode() adds the MACs in uc_list to UCAM. If it exceeds the max supported, DEFAULT mode is turned on. If MCAM limit is exceeded, ALLMULTI mode is turned on. - Clear CF flags, check for the new mode and reprogram the Rx approach. - Added bnad_set_rx_ucast_fltr() and bnad_set_rx_mcast_fltr(). - Check for IFF_PROMISC to set the correct mode. Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * bna: Fix Filter Add DelRasesh Mody2013-12-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change Details: - bna_rx_mcast_listset() API first looks at free_q only and not at other pending Qs rendering it non-deterministic of giving an upper limit. Modify bna_rx_mcast_listset() implementation to not use only half of the limit. - Allocate and initialize queue for deleting - Segregate the adding and deleting process by using separate queues. - The filter framework in bna does not let adding addresses to its max capacity due to asynchronous operations involved. Provide a synchronous option to set a given list. Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * bna: Set Get IOC fw StateRasesh Mody2013-12-18
| | | | | | | | | | | | | | | | | | | | | | Add APIs to set and get IOC currnet fw state and alt IOC fw state - bfa_ioc_ct_set_cur_ioc_fwstate() - bfa_ioc_ct_get_cur_ioc_fwstate() - bfa_ioc_ct_set_alt_ioc_fwstate() - bfa_ioc_ct_get_alt_ioc_fwstate() Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * bna: Add software timestamping supportRasesh Mody2013-12-18
|/ | | | | | | | - Invoke skb_tx_timestamp() API just before invoking txq_doorbell() - Add ethtool (-T) support Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* lib: Add missing arch generic-y entries for asm-generic/hash.hDavid S. Miller2013-12-17
| | | | | Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
* qeth: Accurate ethtool outputEugene Crosser2013-12-17
| | | | | | | | | | For OSA devices that support the QUERY_CARD_INFO command, supply accurate data based on the card type, port mode and link speed via the 'ethtool' interface. Signed-off-by: Eugene Crosser <Eugene.Crosser@ru.ibm.com> Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* netiucv: improve state checking in conn_action_txdoneUrsula Braun2013-12-17
| | | | | | | | | | state checking in conn_action_txdone() is inconsistent. This patch makes it consistent and issues a trace message if an unexpected state is detected for the netiucv device. Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com> Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* bpf_exp: free duplicated labels at exit timeDaniel Borkmann2013-12-17
| | | | | | | | | | | Valgrind found that extracted labels that are passed from the lexer weren't freed upon exit. Therefore, add a small helper function that walks label tables and frees them. Since also NULL can be passed to free(3), we do not need to take care of that here. While at it, fix up a spacing error in bpf_set_curr_label(). Signed-off-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* bpf_dbg: always close socket in bpf_runnableDaniel Borkmann2013-12-17
| | | | | | | | | | We must not leave the socket intact in bpf_runnable(). The socket is used to test if the filter code is being accepted by the kernel or not. So right after we do the setsockopt(2), we need to close it again. Signed-off-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'qlcnic'David S. Miller2013-12-17
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Manish Chopra says: ==================== qlcnic: Refactoring and enhancements This patch series includes follwing changes * Refactor DCBX code. Do not allow DCBX operations for VFs * Issue INIT_NIC mailbox command only once * Refactor initialize nic code path * Allow configuration for single TX/RX queue * VLAN enhancement for 84xx adapters * Support for 16 virtual NIC functions for 84XX series adapters Please apply to net-next ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * qlcnic: update version to 5.3.53Manish Chopra2013-12-17
| | | | | | | | | | Signed-off-by: Manish Chopra <manish.chopra@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * qlcnic: Support for 16 virtual NIC functions.Jitendra Kalsaria2013-12-17
| | | | | | | | | | | | | | | | Extend virtual NIC functions from 8 to 16 for 84xx adapter. Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com> Signed-off-by: Manish Chopra <manish.chopra@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * qlcnic: VLAN enhancement for 84XX adaptersManish Chopra2013-12-17
| | | | | | | | | | | | | | | | o Support multiple VLANs on 84xx VF devices Signed-off-by: Manish Chopra <manish.chopra@qlogic.com> Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * qlcnic: Allow single Tx/Rx queue for all adapters.Himanshu Madhani2013-12-17
| | | | | | | | | | | | | | | | | | o Allow user to set sigle Tx/Rx queue in MSI-x mode, for ALL supported adapters. Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com> Signed-off-by: Manish Chopra <manish.chopra@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * qlcnic: Refactor initialize nic code path.Sucheta Chakraborty2013-12-17
| | | | | | | | | | | | | | | | | | o Change function name from qlcnic_83xx_register_nic_idc_func to qlcnic_83xx_initialize_nic Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com> Signed-off-by: Manish Chopra <manish.chopra@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * qlcnic: Issue INIT_NIC command only once.Sucheta Chakraborty2013-12-17
| | | | | | | | | | | | | | | | | | o DCB AEN registration was reissuing INIT_NIC command. Instead, club all options of INIT NIC command and issue this command only once. Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com> Signed-off-by: Manish Chopra <manish.chopra@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * qlcnic: Disable DCB operations from SR-IOV VFs.Sucheta Chakraborty2013-12-17
|/ | | | | | | | o These operations will be supported only through PFs (SR-IOV and non-SR-IOV). Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com> Signed-off-by: Manish Chopra <manish.chopra@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'for-davem' of ↵David S. Miller2013-12-17
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/bwh/sfc-next Ben Hutchings says: ==================== Miscellaneous changes for 3.14: 1. Add more information to some WARN messages. 2. Refactor pushing of RSS configuration, from Andrew Rybchenko. 3. Refactor handling of automatic (device address list) vs manual (RX NFC) MAC filters. 4. Implement clearing of manual RX filters on EF10 when ntuple offload is disabled. 5. Remove definitions that are unused since the RX buffer allocation changes, from Andrew Rybchenko. 6. Improve naming of some statistics, from Shradha Shah. 7. Add statistics for PTP support code. 8. Fix insertion of RX drop filters on EF10. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * sfc: Fix RX drop filters for EF10Ben Hutchings2013-12-16
| | | | | | | | | | | | | | | | When we insert an filter, the firmware checks that the given RX queue index is in range even if it will not be used. In case we're inserting a drop filter, pass the value 0. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
| * sfc: Add PTP counters to ethtool statsBen Hutchings2013-12-12
| | | | | | | | | | | | | | These were implemented by Andrew Jackson and Laurence Evans but not previously included in-tree. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
| * sfc: Changed the statistic name emerg_{fetch,wait} to hlb_{fetch,wait}Shradha Shah2013-12-12
| | | | | | | | | | | | | | The original names are unnecessarily alarming. Head-of-line blocking is not an emergency. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
| * sfc: remove unused 'enum efx_rx_alloc_method'Andrew Rybchenko2013-12-12
| | | | | | | | Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
| * sfc: remove unused 'refcnt' from efx_rx_page_stateAndrew Rybchenko2013-12-12
| | | | | | | | Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
| * sfc: Implement efx_nic_type::filter_clear_rx operation for EF10Ben Hutchings2013-12-12
| | | | | | | | | | | | | | | | The operation can now fail, so change its return type to int. Remove the inline wrapper while we're changing the signature. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
| * sfc: Allow filter removal only with exactly matching priorityBen Hutchings2013-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently a higher priority client can remove a lower priority client's filter with equal match-expression. This might happen if (a) the higher priority client has a double-free bug, or (b) another client with sufficient priority replaced and then removed an equal filter, allowing the low priority client to insert an equal filter. In neither case does it actually make sense to carry out the removal; we should say the filter doesn't exist, as the filter currently present is not the one that the high-priority client is referring to. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
| * sfc: Don't refer to 'stack' in filter implementationBen Hutchings2013-12-12
| | | | | | | | | | | | | | | | | | Change all the 'stack' naming to 'auto' (or other meaningful term); the device address list is based on more than just what the network stack wants, and the no-match filters aren't really what the stack wants at all. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
| * sfc: Change priority and flags for automatic MAC filtersBen Hutchings2013-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MAC filters inserted automatically by the driver, based on the device address list (EF10) or no-match filters (Siena), should be overridable at MANUAL or REQUIRED priority. Currently they themselves have REQUIRED priority and this requires some odd special-casing. We also can't reliably tell whether such a MAC filter has or has not been overridden. We just remember that it is wanted by the stack (RX_STACK flag). Add another priority level, AUTO, between HINT and MANUAL, and use this for the automatic filters while they have not been overridden. Remove the RX_STACK flag. Add an RX_OVER_AUTO flag which is set only when an AUTO filter has been overridden (or was requested to be inserted while a higher-priority filter existed). Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
| * sfc: Change efx_nic_type::rx_push_indir_table to push hash key as wellAndrew Rybchenko2013-12-12
| | | | | | | | | | | | | | | | The EF10 implementation already does this, and it makes more logical sense to group the RSS hash key and indirection table together. Rename the operation to rx_push_rss_config. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
| * sfc: Add more information to many warnings using WARN() and netdev_WARN()Ben Hutchings2013-12-12
| | | | | | | | | | | | | | In case of certain hardware and firmware errors it can be useful to have more context than just the file and line number. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
* | Merge branch 'skb_hash'David S. Miller2013-12-17
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tom Herbert says: ==================== net: Add rxhash utility hash functions v3: There's really nothing specific about rxhash that constrains it to be a value just for these receive path. Drop the 'rx' part in utility functions, including skb_get_rxhash. In subsequent patches, we can change the rxhash and l4_rxhash names also, as well as abstracting out the interface to the hash. Added comments about hash types per feedback. In this version I'm omitting the changes to drivers to make the patch set manageable. Will add those changes in followup pathes. ----- This patch series introduce skb_set_rxhash and skb_clear_rxhash which are called to set the rxhash (from network drivers) and to clear the rxhash. This API should be used instead of updating fields in the skbuff directly. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: Add utility function to copy skb hashTom Herbert2013-12-17
| | | | | | | | | | | | | | | | | | | | | Adds skb_copy_hash to copy rxhash and l4_rxhash from one skb to another. Signed-off-by: Tom Herbert <therbert@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: Add function to set the rxhashTom Herbert2013-12-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | The function skb_set_rxash was added for drivers to call to set the rxhash in an skb. The type of hash is also specified as a parameter (L2, L3, L4, or unknown type). Signed-off-by: Tom Herbert <therbert@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: Add utility functions to clear rxhashTom Herbert2013-12-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In several places 'skb->rxhash = 0' is being done to clear the rxhash value in an skb. This does not clear l4_rxhash which could still be set so that the rxhash wouldn't be recalculated on subsequent call to skb_get_rxhash. This patch adds an explict function to clear all the rxhash related information in the skb properly. skb_clear_hash_if_not_l4 clears the rxhash only if it is not marked as l4_rxhash. Fixed up places where 'skb->rxhash = 0' was being called. Signed-off-by: Tom Herbert <therbert@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: Change skb_get_rxhash to skb_get_hashTom Herbert2013-12-17
|/ / | | | | | | | | | | | | | | Changing name of function as part of making the hash in skbuff to be generic property, not just for receive path. Signed-off-by: Tom Herbert <therbert@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net/hsr: using kfree_rcu() to simplify the codeWei Yongjun2013-12-17
| | | | | | | | | | | | | | | | | | 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 <yongjun_wei@trendmicro.com.cn> Acked-by: Arvid Brodin <arvid.brodin@alten.se> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge branch 'bonding_netlink'David S. Miller2013-12-17
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Scott Feldman says: ==================== bonding: add some more netlink attributes The following series implements five more bonding netlink attributes: primary primary_reselect fail_over_mac xmit_hash_policy resend_igmp Tested with modified iproute2 to verify attributes can be set at bond creation time or set later. Verified sysfs interface to attributes continues to work. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * | bonding: add resend_igmp attribute netlink supportsfeldma@cumulusnetworks.com2013-12-17
| | | | | | | | | | | | | | | | | | | | | | | | Add IFLA_BOND_RESEND_IGMP to allow get/set of bonding parameter resend_igmp via netlink. Signed-off-by: Scott Feldman <sfeldma@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | bonding: add xmit_hash_policy attribute netlink supportsfeldma@cumulusnetworks.com2013-12-17
| | | | | | | | | | | | | | | | | | | | | | | | Add IFLA_BOND_XMIT_HASH_POLICY to allow get/set of bonding parameter xmit_hash_policy via netlink. Signed-off-by: Scott Feldman <sfeldma@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | bonding: add fail_over_mac attribute netlink supportsfeldma@cumulusnetworks.com2013-12-17
| | | | | | | | | | | | | | | | | | | | | | | | Add IFLA_BOND_FAIL_OVER_MAC to allow get/set of bonding parameter fail_over_mac via netlink. Signed-off-by: Scott Feldman <sfeldma@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>