Please pull rdma.git
Hi Linus,
As has been the case with several pull requests lately, I had to wait until after the net-next pull request was pulled in as my tree is based on a snapshot of net-next. I've had people submit some late breaking stuff this cycle. I took a series last week that broke a followon series that was on the list. The fixed version didn't land until Saturday, so I didn't get it until Monday. Everything has passed 0day, and everything should have been through linux-next (although since new errors are ignored on the first day of new patches in linux-next, there is one patch I took by itself yesterday that theoretically might trigger new warnings, but once you see the patch, you'll agree it's not an issue).
Primary updates in this release:
- Lots of driver fixes and misc fixes across the board.
- I had to base on a net-next tree because the IPoIB Accelorator patches needed it. Unfortunately, it was known to Mellanox that there would need to be an IPoIB accelorator patch to the net tree (which left some functions turned off by an #ifdef construct to avoid warnings about defined but unused functions), then one to the RDMA tree, then a fixup that went back and re-enabled the functions in the net tree and enabled their use in the rdma tree. But, a sparse fix was sent to the net tree after I did my pull, and the fixup patch conflicts quite directly with that sparse fix, so I'm going to submit the fixup patch towards the end of the merge window by itself and based upon your master branch at the time.
- Two separate rounds of hfi1 fixes, one that got dropped from last release because it came in just a day or two before the end of the merge window and then the one from this release cycle. Of note is that I now have a third series that just landed from Intel yesterday. It is not included in this pull request, but I may submit it by the end of the week. I'll talk to Intel about improving the timing of thier submissions for my workflow.
- Changes to our idr usage in the RDMA subsystem that will tie into our cgroup management and also into the upcoming changes for the RDMA kernel<->userspace API.
- Addition of support for a netdev to be tied to an RDMA device at the core level
- Addition of the VNIC driver from Intel. While IPoIB provides IP over InfiniBand (and *only* IP, no lower layer protocol headers are allowed or supported), the VNIC driver presents a virtual Ethernet device with support for things like varying Ethertypes, VLANs, priorities and other features of Ethernet. The virtual devices are centrally managed by the OPA fabric manager, making this (for the time being) a strictly OPA specific feature.
- Improvements to the On-Demand Paging support in the RDMA subsystem.
- Addition of three significant OPA changes. While we added OPA support some time ago (via the hfi1 driver), the RDMA subsystem has so far glossed over the areas where OPA and InfiniBand differ. With this release we are starting to add support for the OPA extensions into the RDMA core in the following area: Extended port information for OPA is now supported, extended Address Handle attributes for OPA are now supported, and extended SA Queries to get OPA specific subnet information is now supported.
That pretty much covers things. Here's the git produced boiler plate for you:
The following changes since commit70d40b366d2f7c2facaa3bc20f26e562e91ce94d:
Merge branch 'mlx5-RDMA-netdevice' (2017-04-17 11:08:33 -0400)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma.git
tags/for-linus
for you to fetch changes up to24b43c99647bf9be4995e6a6c9c3a923c147770a:
infiniband: avoid dereferencing uninitialized dst on error path (2017-05-02 10:45:45 -0400)
----------------------------------------------------------------
Updates for 4.12 kernel merge window
- idr usage and locking changes
- build fix for hns
- ipoib debug path record file fix
- hfi1 updates
- core RDMA netdev addition
- Intel VNIC driver addition
- Enhanced accelerators for IPoIB addition
- Debug cleanups in cxgb3/4
- Trivial cleanups from SF Markus Elfring
- Misc rxe fixes from Mellanox
- Misc ipoib fixes from Mellanox
- Lots of mlx4/mlx5 changes from Mellanox
- Misc fixes across the RDMA subsystem
- ODP paging fixes and improvements
- qedr updates
- hfi1 updates
- OPA port info patches
- OPA AH patches
- OPA SA Query patches
----------------------------------------------------------------
Amrani, Ram (5):
RDMA/qedr: reset access control when registering a MR RDMA/qedr: properly check atomic capabilities RDMA/qedr: enhance destroy flow for GSI QP RDMA/qedr: destroy CQ only after HW releases it RDMA/qedr: add support for send+invalidate in poll CQ
Ariel Levkovich (2):
IB/mlx5: Add inner spec and IPv6 validation in user's flow attribute list
IB/mlx5: Use IP version matching to classify IP traffic
Arnd Bergmann (1):
infiniband: hns: avoid gcc-7.0.1 warning for uninitialized data
Artemy Kovalyov (10):
IB: Replace ib_umem page_size by page_shift IB/mlx5: Fix function updating xlt emergency path IB/mlx5: Fix UMR size calculation IB/mlx5: Fix implicit MR GC
IB/mlx5: Decrease verbosity level of ODP errors IB/umem: Add contiguous ODP support IB/mlx5: Add contiguous ODP support IB/umem: Add support to huge ODP IB/mlx5: Extract page fault code IB/mlx5: Add ODP support to MW
Bodong Wang (1):
IB/mlx5: Fix wrong use of kfree at bad flow in create_cq_user
Colin Ian King (3):
RDMA/bnxt_re: remove redundant initialization of rc to zero IB/iser: fix spelling mistake: "unexepected" -> "unexpected" IB/rxe: fix typo: "algorithmi" -> "algorithm"
Dan Carpenter (1):
IB/rdmavt: restore IRQs on error path in rvt_create_ah()
Dasaratharaman Chandramouli (33):
IB/hfi1: Rename hdr2sc to hfi1_9B_get_sc5
IB/SA: Fix lines longer than 80 columns
IB/SA: Add braces when using sizeof
IB/SA: Remove unwanted braces
IB/SA: Move functions update_sm_ah() and ib_sa_event() IB/SA: Modify SA to implicitly cache Class Port info IB/core: Add rdma_cap_opa_ah to expose opa address handles IB/core: Move opa_class_port_info definition to header file IB/SA: Add support to query opa classport info. IB/ocrdma: Add identifier names to function definitions IB/IPoIB: Remove 'else' when the 'if' has a return. IB/core: Add braces when using sizeof
IB/core: Check for global flag when using ah_attr IB/rxe: Initialize ib_ah_attr during query_ah IB/core: Rename struct ib_ah_attr to rdma_ah_attr IB/core: Rename ib_create_ah to rdma_create_ah IB/core: Rename ib_modify_ah to rdma_modify_ah IB/core: Rename ib_query_ah to rdma_query_ah IB/core: Rename ib_destroy_ah to rdma_destroy_ah IB/mlx4: Rename to_ib_ah_attr to to_rdma_ah_attr IB/mlx5: Rename to_ib_ah_attr to to_rdma_ah_attr IB/mthca: Rename to_ib_ah_attr to to_rdma_ah_attr IB/PVRDMA: Rename ib_ah_attr related functions IB/core: Add accessor functions for rdma_ah_attr fields IB/core: Use rdma_ah_attr accessor functions IB/core: Define 'ib' and 'roce' rdma_ah_attr types IB/core: Define 'opa' rdma_ah_attr type
IB/CM: Add braces when using sizeof
IB/SA: Rename ib_sa_path_rec to sa_path_rec
IB/SA: Introduce path record specific types
IB/SA: Split struct sa_path_rec based on IB and ROCE specific fields
IB/SA: Add OPA path record type
IB/SA: Add support to query OPA path records
Dean Luick (1):
IB/hfi1: Force logical link down
Dennis Dalessandro (4):
IB/hfi1: Fix misspelling in comment
IB/hfi1: Convert %Lx to %llx
IB/hfi1: Fix unbalanced braces around else
IB/hfi1: Use bool in process_ecn
Don Hiatt (4):
IB/hfi1: Add receive fault injection feature IB/hfi1: Add transmit fault injection feature IB/hfi1: Add functions to parse 9B headers IB/hfi1: Use defines from common headers
Doug Ledford (4):
Merge branch 'k.o/for-4.12' into k.o/for-4.12-rdma-netdevice
cxgb4: Convert PDBG to pr_debug the second RDMA/bnxt_re: Use IS_ERR_OR_NULL where appropriate IB/SA: Add OPA addr header
Easwar Hariharan (1):
IB/hfi1: Check for QSFP presence before attempting reads
Erez Shitrit (5):
IB/IPoIB: Separate control and data related initializations IB/IPoIB: Separate control from HW operation on ipoib_open/stop ndo
IB/IPoIB: Rename qpn to be dqpn in ipoib_send and post_send functions
IB/IPoIB: Use defined function for netdev_priv function IB/IPoIB: Support acceleration options callbacks
Feras Daoud (2):
IB/ipoib: Update broadcast object if PKey value was changed in index 0
IB/ipoib: Fix deadlock between ipoib_stop and mcast join flow
Ganesh Goudar (1):
iw_cxgb4: Use dsgl by default
Geert Uytterhoeven (1):
MAINTAINERS: Add file patterns for infiniband device tree bindings
Geliang Tang (3):
IB/i40iw: use setup_timer
IB/nes: use setup_timer
IB/qib: use setup_timer
Håkon Bugge (2):
IB/mlx4: Change flush logic so it adheres to the variable name IB/mlx4: Fix incorrect order of formal and actual parameters
Ira Weiny (2):
IB/hfi: Fix up comments in engine mapping
IB/hfi: Protect against writable mmap
Jack Morgenstein (3):
IB/core: Fix sysfs registration error flow
IB/mlx4: Fix ib device initialization error flow IB/mlx4: Reduce SRIOV multicast cleanup warning message to debug level
Jason Gunthorpe (1):
IB/vmw_pvrdma: Spare annotate imm_data
Joe Perches (4):
cxgb3: Use more common logging style
cxgb3: Convert PDBG to pr_debug
cxgb4: Use more common logging style
cxgb4: Convert PDBG to pr_debug
Johannes Thumshirn (1):
IB/rxe: Don't clamp residual length to mtu
Leon Romanovsky (5):
IB/mthca: Check validity of output parameter pointer Ib/core: Mark local uverbs_std_types functions to be static Ib/usnic: Explicitly include usnic headers IB/usnic: Simplify the code to balance loc/unlock calls IB/nes: Fix incorrect type in assignment
Majd Dibbiny (1):
IB/mlx4: Support RAW Ethernet when RoCE is disabled
Maor Gottlieb (6):
IB/mlx4: Take write semaphore when changing the vma struct IB/mlx4: Change vma from shared to private IB/mlx5: Take write semaphore when changing the vma struct IB/mlx5: Change vma from shared to private IB/mlx5: Check supported flow table size IB/mlx5: Enlarge autogroup flow table
Mark Brown (1):
IB/hns: Explicitly include linux/of.h
Markus Elfring (6):
IB/hfi1: Use kcalloc() in hfi1_user_exp_rcv_init() IB/hfi1: Use kcalloc() in hfi1_user_sdma_alloc_queues() IB/hfi1: Remove intermediate var in hfi1_user_sdma_alloc_queues() IB/hfi1: Coding style improvement (make sizeof use safer) IB/hns: Use kmalloc_array() in hns_roce_cmd_use_events() IB/hns: Use kcalloc() in hns_roce_buddy_init()
Matan Barak (13):
IB/core: Refactor idr to be per uverbs_file
IB/core: Add support for idr types
IB/core: Add idr based standard types
IB/core: Change idr objects to use the new schema IB/core: Add lock to multicast handlers
IB/core: Add support for fd objects
IB/core: Change completion channel to use the reworked objects schema
IB/core: Rename write flag to exclusive in rdma_core IB/core: Don't pass the lock state to _rdma_remove_commit_uobject IB/core: Nullify ib_uobject during allocation
IB/core: A small refactor in destroy WQ handler IB/core: Don't use is_async in event files to infer events size IB/core: Rename uverbs event file structure
Michael J. Ruhl (9):
IB/hfi1: Race hazard avoidance in user SDMA driver IB/hfi1: Cache registers during state change
IB/hfi1: Add a patch value to the firmware version string IB/hfi1: Ensure VL index is within bounds
IB/core: If the MGID/MLID pair is not on the list return an error IB/hfi1: Correct MulticastMask/CollectiveMask info to SMA output IB/core: For multicast functions, verify that LIDs are multicast LIDs
IB/rdmavt/hfi1/qib: Use the MGID and MLID for multicast addressing
IB/hfi1: Validate the TID count before using it
Michael Mera (1):
IB/ocrdma: fix out of bounds access to local buffer
Mike Marciniszyn (7):
IB/rdmavt, IB/hfi1, IB/qib: Make wc opcode translation driver dependent
IB/rdmavt: Add additional fields to post send trace IB/rdmavt: Add tracing for cq entry and poll IB/rdmavt: Add swqe completion trace
IB/rdmavt: Avoid reseting wqe send_flags in unreserve IB/hfi1: Eliminate synchronize_rcu() in mr delete IB/hfi1: Prevent kernel QP post send hard lockups
Moni Shoua (2):
IB/cma: Send MRA for reply messages IB/mlx5: Set correct SL in completion for RoCE
Neel Desai (2):
IB/hfi1: Adjust high temperature warning for QSFP cable IB/hfi1: Permanently enable P_Key checking in HFI
Niranjana Vishwanathapura (1):
IB/IPoIB: Introduce RDMA netdev interface and IPoIB structs
Noa Osherovich (3):
IB/core: Add HDR speed enum
IB/mlx5: Set mlx5_query_roce_port's return value to void IB/mlx5: Add support for active_width and active_speed in RoCE
Pan Bian (1):
iw_cxgb4: check return value of alloc_skb
Paolo Abeni (2):
infiniband: call ipv6 route lookup via the stub interface
infiniband: avoid dereferencing uninitialized dst on error path
Parav Pandit (4):
IB/rxe: Avoid accessing timers for non RC QPs IB/rxe: Do not export module's private function IB/core: Fix kernel crash during fail to initialize device IB/mlx5: Support congestion related counters
Petr Mladek (1):
IB/fmr_pool: Convert the cleanup thread into kthread worker API
Sagi Grimberg (1):
mlx5: Fix mlx5_ib_map_mr_sg mr length
Sebastian Sanchez (3):
IB/hfi1: NULL pointer dereference when freeing rhashtable IB/rdmavt, IB/hfi1: Fix timer migration regressions IB/hfi1: Return SC2VL mappings to FM with VL15 instead of ILLEGAL_VL
Selvin Xavier (1):
MAINTAINERS: Update ocrdma module status
Shamir Rabinovitch (1):
IB/IPoIB: ibX: failed to create mcg debug file
Slava Shwartsman (2):
IB/core: Introduce drop flow specification IB/mlx5: Add drop flow steering rule support
Stuart Summers (1):
IB/hfi1: Cache neighbor secure data after link up
Tadeusz Struk (3):
IB/hfi1: Check device id early during init
IB/hfi1: Protect the global dev_cntr_names and port_cntr_names IB/hfi1: Fix softlockup issue
Tim Wright (1):
IB/mlx5: Add port_xmit_wait to counter registers read
Vishwanathapura, Niranjana (12):
IB/opa-vnic: Virtual Network Interface Controller (VNIC) documentation
IB/opa-vnic: RDMA NETDEV interface
IB/opa-vnic: Virtual Network Interface Controller (VNIC) interface
IB/opa-vnic: Virtual Network Interface Controller (VNIC) netdev IB/opa-vnic: VNIC Ethernet Management (EM) structure definitions IB/opa-vnic: VNIC statistics support
IB/opa-vnic: VNIC MAC table support
IB/opa-vnic: VNIC Ethernet Management Agent (VEMA) interface IB/opa-vnic: VNIC Ethernet Management Agent (VEMA) function IB/hfi1: OPA_VNIC RDMA netdev support
IB/hfi1: Virtual Network Interface Controller (VNIC) HW support IB/hfi1: VNIC SDMA support
Vlad Tsyrklevich (1):
infiniband/uverbs: Fix integer overflows
Yonatan Cohen (1):
IB/rxe: Add port protocol stats
Yuval Shaia (2):
IB/usnic: Remove unused functions {net,IB}/{rxe,usnic}: Utilize generic mac to eui32 function
Zhu Yanjun (1):
IB/core: change the return type to void
yonatanc (2):
IB/rxe: Offload CRC calculation when possible IB/rxe: Cache dst in QP instead of getting it for each send
Documentation/infiniband/opa_vnic.txt | 153 ++ MAINTAINERS | 16 +- drivers/infiniband/Kconfig | 1 + drivers/infiniband/core/Makefile | 3 +- drivers/infiniband/core/addr.c | 6 +- drivers/infiniband/core/agent.c | 4 +- drivers/infiniband/core/cm.c | 119 +- drivers/infiniband/core/cma.c | 132 +- drivers/infiniband/core/device.c | 33 +- drivers/infiniband/core/fmr_pool.c | 49 +- drivers/infiniband/core/mad.c | 28 +- drivers/infiniband/core/mad_rmpp.c | 16 +-
drivers/infiniband/core/multicast.c | 27 +- drivers/infiniband/core/rdma_core.c | 627 ++++++++ drivers/infiniband/core/rdma_core.h | 78 +
drivers/infiniband/core/sa_query.c | 886 ++++++++--- drivers/infiniband/core/sysfs.c | 6 +- drivers/infiniband/core/ucm.c | 6 +- drivers/infiniband/core/ucma.c | 24 +- drivers/infiniband/core/umem.c | 17 +- drivers/infiniband/core/umem_odp.c | 81 +- drivers/infiniband/core/user_mad.c | 44 +- drivers/infiniband/core/uverbs.h | 69 +- drivers/infiniband/core/uverbs_cmd.c | 1582 ++++++----
----------
drivers/infiniband/core/uverbs_main.c | 508 +++---- drivers/infiniband/core/uverbs_marshall.c | 81 +- drivers/infiniband/core/uverbs_std_types.c | 275 ++++ drivers/infiniband/core/verbs.c | 86 +- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 118 +- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 6 +-
drivers/infiniband/hw/cxgb3/cxio_dbg.c | 35 +- drivers/infiniband/hw/cxgb3/cxio_hal.c | 201 ++- drivers/infiniband/hw/cxgb3/cxio_hal.h | 7 +- drivers/infiniband/hw/cxgb3/cxio_resource.c | 25 +- drivers/infiniband/hw/cxgb3/iwch.c | 19 +- drivers/infiniband/hw/cxgb3/iwch_cm.c | 269 ++-- drivers/infiniband/hw/cxgb3/iwch_cm.h | 18 +- drivers/infiniband/hw/cxgb3/iwch_cq.c | 21 +- drivers/infiniband/hw/cxgb3/iwch_ev.c | 26 +-
drivers/infiniband/hw/cxgb3/iwch_mem.c | 2 +- drivers/infiniband/hw/cxgb3/iwch_provider.c | 118 +- drivers/infiniband/hw/cxgb3/iwch_provider.h | 9 +- drivers/infiniband/hw/cxgb3/iwch_qp.c | 67 +- drivers/infiniband/hw/cxgb4/cm.c | 393 ++--- drivers/infiniband/hw/cxgb4/cq.c | 79 +- drivers/infiniband/hw/cxgb4/device.c | 141 +- drivers/infiniband/hw/cxgb4/ev.c | 39 +- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 48 +- drivers/infiniband/hw/cxgb4/mem.c | 44 +- drivers/infiniband/hw/cxgb4/provider.c | 44 +- drivers/infiniband/hw/cxgb4/qp.c | 96 +- drivers/infiniband/hw/cxgb4/resource.c | 64 +- drivers/infiniband/hw/cxgb4/t4.h | 24 +- drivers/infiniband/hw/hfi1/Makefile | 2 +-
drivers/infiniband/hw/hfi1/aspm.h | 15 +- drivers/infiniband/hw/hfi1/chip.c | 590 ++++++-- drivers/infiniband/hw/hfi1/chip.h | 20 +-
drivers/infiniband/hw/hfi1/common.h | 15 +- drivers/infiniband/hw/hfi1/debugfs.c | 238 ++- drivers/infiniband/hw/hfi1/debugfs.h | 62 +- drivers/infiniband/hw/hfi1/driver.c | 128 +- drivers/infiniband/hw/hfi1/file_ops.c | 31 +- drivers/infiniband/hw/hfi1/firmware.c | 14 +- drivers/infiniband/hw/hfi1/hfi.h | 95 +- drivers/infiniband/hw/hfi1/init.c | 69 +- drivers/infiniband/hw/hfi1/intr.c | 27 +- drivers/infiniband/hw/hfi1/mad.c | 95 +- drivers/infiniband/hw/hfi1/pcie.c | 2 +- drivers/infiniband/hw/hfi1/pio.c | 19 +- drivers/infiniband/hw/hfi1/pio.h | 34 +- drivers/infiniband/hw/hfi1/qp.c | 12 +- drivers/infiniband/hw/hfi1/rc.c | 55 +- drivers/infiniband/hw/hfi1/ruc.c | 137 +- drivers/infiniband/hw/hfi1/sdma.c | 43 +- drivers/infiniband/hw/hfi1/sdma.h | 46 +- drivers/infiniband/hw/hfi1/sysfs.c | 4 +- drivers/infiniband/hw/hfi1/trace.c | 5 +- drivers/infiniband/hw/hfi1/trace_ibhdrs.h | 8 +- drivers/infiniband/hw/hfi1/trace_misc.h | 48 + drivers/infiniband/hw/hfi1/trace_rc.h | 7 +- drivers/infiniband/hw/hfi1/trace_tx.h | 43 + drivers/infiniband/hw/hfi1/uc.c | 14 +- drivers/infiniband/hw/hfi1/ud.c | 73 +- drivers/infiniband/hw/hfi1/user_exp_rcv.c | 16 +- drivers/infiniband/hw/hfi1/user_pages.c | 5 +- drivers/infiniband/hw/hfi1/user_sdma.c | 22 +- drivers/infiniband/hw/hfi1/verbs.c | 153 +- drivers/infiniband/hw/hfi1/verbs.h | 15 +- drivers/infiniband/hw/hfi1/vnic.h | 184 +++ drivers/infiniband/hw/hfi1/vnic_main.c | 907 +++++++++++ drivers/infiniband/hw/hfi1/vnic_sdma.c | 323 ++++ drivers/infiniband/hw/hns/hns_roce_ah.c | 62 +- drivers/infiniband/hw/hns/hns_roce_cmd.c | 6 +- drivers/infiniband/hw/hns/hns_roce_cq.c | 3 +- drivers/infiniband/hw/hns/hns_roce_device.h | 5 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 119 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 20 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 3 +- drivers/infiniband/hw/i40iw/i40iw_cm.c | 5 +- drivers/infiniband/hw/i40iw/i40iw_utils.c | 10 +- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 12 +-
drivers/infiniband/hw/mlx4/ah.c | 134 +- drivers/infiniband/hw/mlx4/cm.c | 10 +- drivers/infiniband/hw/mlx4/cq.c | 2 +-
drivers/infiniband/hw/mlx4/mad.c | 87 +- drivers/infiniband/hw/mlx4/main.c | 33 +- drivers/infiniband/hw/mlx4/mcg.c | 11 +- drivers/infiniband/hw/mlx4/mlx4_ib.h | 6 +- drivers/infiniband/hw/mlx4/mr.c | 6 +- drivers/infiniband/hw/mlx4/qp.c | 112 +- drivers/infiniband/hw/mlx4/srq.c | 2 +- drivers/infiniband/hw/mlx5/ah.c | 74 +- drivers/infiniband/hw/mlx5/cmd.c | 11 + drivers/infiniband/hw/mlx5/cmd.h | 2 + drivers/infiniband/hw/mlx5/cq.c | 21 +- drivers/infiniband/hw/mlx5/mad.c | 2 + drivers/infiniband/hw/mlx5/main.c | 397 +++-- drivers/infiniband/hw/mlx5/mem.c | 13 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 12 +- drivers/infiniband/hw/mlx5/mr.c | 8 +- drivers/infiniband/hw/mlx5/odp.c | 344 +++-- drivers/infiniband/hw/mlx5/qp.c | 107 +- drivers/infiniband/hw/mthca/mthca_av.c | 69 +-
drivers/infiniband/hw/mthca/mthca_cmd.c | 12 +- drivers/infiniband/hw/mthca/mthca_dev.h | 4 +- drivers/infiniband/hw/mthca/mthca_mad.c | 17 +-
drivers/infiniband/hw/mthca/mthca_provider.c | 7 +- drivers/infiniband/hw/mthca/mthca_qp.c | 94 +- drivers/infiniband/hw/nes/nes_hw.c | 7 +- drivers/infiniband/hw/nes/nes_mgt.c | 5 +- drivers/infiniband/hw/nes/nes_verbs.c | 12 +- drivers/infiniband/hw/ocrdma/ocrdma.h | 6 +-
drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 64 +- drivers/infiniband/hw/ocrdma/ocrdma_ah.h | 10 +- drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 23 +-
drivers/infiniband/hw/ocrdma/ocrdma_stats.c | 2 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 54 +- drivers/infiniband/hw/qedr/main.c | 88 +- drivers/infiniband/hw/qedr/qedr.h | 20 +- drivers/infiniband/hw/qedr/qedr_cm.c | 19 +- drivers/infiniband/hw/qedr/qedr_cm.h | 2 +- drivers/infiniband/hw/qedr/verbs.c | 240 ++- drivers/infiniband/hw/qedr/verbs.h | 2 +-
drivers/infiniband/hw/qib/qib_iba6120.c | 10 +- drivers/infiniband/hw/qib/qib_iba7220.c | 5 +- drivers/infiniband/hw/qib/qib_iba7322.c | 10 +-
drivers/infiniband/hw/qib/qib_init.c | 15 +- drivers/infiniband/hw/qib/qib_mad.c | 7 +- drivers/infiniband/hw/qib/qib_qp.c | 2 +- drivers/infiniband/hw/qib/qib_rc.c | 31 +- drivers/infiniband/hw/qib/qib_ruc.c | 77 +- drivers/infiniband/hw/qib/qib_uc.c | 6 +- drivers/infiniband/hw/qib/qib_ud.c | 57 +- drivers/infiniband/hw/qib/qib_verbs.c | 37 +- drivers/infiniband/hw/qib/qib_verbs.h | 4 +- drivers/infiniband/hw/usnic/usnic_common_util.h | 38 +-
drivers/infiniband/hw/usnic/usnic_ib_sysfs.c | 1 + drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 48 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 2 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma.h | 8 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_misc.c | 43 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 8 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c | 30 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 2 +-
drivers/infiniband/sw/rdmavt/ah.c | 39 +- drivers/infiniband/sw/rdmavt/ah.h | 6 +- drivers/infiniband/sw/rdmavt/cq.c | 3 +
drivers/infiniband/sw/rdmavt/mad.c | 2 +- drivers/infiniband/sw/rdmavt/mcast.c | 61 +- drivers/infiniband/sw/rdmavt/mr.c | 57 +- drivers/infiniband/sw/rdmavt/qp.c | 44 +- drivers/infiniband/sw/rdmavt/trace.h | 4 +-
drivers/infiniband/sw/rdmavt/trace_cq.h | 127 ++ drivers/infiniband/sw/rdmavt/trace_rc.h | 109 ++ drivers/infiniband/sw/rdmavt/trace_tx.h | 34 +-
drivers/infiniband/sw/rxe/Kconfig | 1 + drivers/infiniband/sw/rxe/Makefile | 3 +- drivers/infiniband/sw/rxe/rxe.c | 6 +- drivers/infiniband/sw/rxe/rxe.h | 20 + drivers/infiniband/sw/rxe/rxe_av.c | 32 +- drivers/infiniband/sw/rxe/rxe_comp.c | 14 +- drivers/infiniband/sw/rxe/rxe_hw_counters.c | 78 + drivers/infiniband/sw/rxe/rxe_hw_counters.h | 61 + drivers/infiniband/sw/rxe/rxe_icrc.c | 6 +- drivers/infiniband/sw/rxe/rxe_loc.h | 12 +- drivers/infiniband/sw/rxe/rxe_mr.c | 14 +- drivers/infiniband/sw/rxe/rxe_net.c | 83 +- drivers/infiniband/sw/rxe/rxe_qp.c | 33 +- drivers/infiniband/sw/rxe/rxe_recv.c | 7 +- drivers/infiniband/sw/rxe/rxe_req.c | 4 +- drivers/infiniband/sw/rxe/rxe_resp.c | 7 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 33 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 9 + drivers/infiniband/ulp/Makefile | 1 + drivers/infiniband/ulp/ipoib/ipoib.h | 44 +- drivers/infiniband/ulp/ipoib/ipoib_cm.c | 73 +- drivers/infiniband/ulp/ipoib/ipoib_ethtool.c | 6 +- drivers/infiniband/ulp/ipoib/ipoib_fs.c | 13 +- drivers/infiniband/ulp/ipoib/ipoib_ib.c | 364 ++--- drivers/infiniband/ulp/ipoib/ipoib_main.c | 456 ++++-- drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 120 +- drivers/infiniband/ulp/ipoib/ipoib_netlink.c | 13 +- drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 64 +- drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 12 +- drivers/infiniband/ulp/iser/iser_initiator.c | 2 +- drivers/infiniband/ulp/opa_vnic/Kconfig | 8 + drivers/infiniband/ulp/opa_vnic/Makefile | 7 + drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c | 475 ++++++ drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.h | 489 ++++++ drivers/infiniband/ulp/opa_vnic/opa_vnic_ethtool.c | 187 +++ .../infiniband/ulp/opa_vnic/opa_vnic_internal.h | 329 ++++ drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c | 389 +++++ drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 1056
+++++++++++++
.../infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c | 390 +++++ drivers/infiniband/ulp/srp/ib_srp.c | 13 +- drivers/infiniband/ulp/srp/ib_srp.h | 2 +- drivers/infiniband/ulp/srpt/ib_srpt.c | 4 +- include/linux/mlx4/device.h | 3 +- include/linux/mlx5/mlx5_ifc.h | 28 +- include/net/addrconf.h | 22 +- include/rdma/ib_cm.h | 14 +- include/rdma/ib_hdrs.h | 66 + include/rdma/ib_mad.h | 40 +- include/rdma/ib_marshall.h | 6 +- include/rdma/ib_pack.h | 2 + include/rdma/ib_sa.h | 304 +++- include/rdma/ib_umem.h | 8 +- include/rdma/ib_umem_odp.h | 6 +- include/rdma/ib_verbs.h | 325 +++- include/rdma/opa_addr.h | 79 + include/rdma/opa_port_info.h | 3 +- include/rdma/opa_vnic.h | 141 ++ include/rdma/rdma_cm.h | 4 +- include/rdma/rdma_cm_ib.h | 2 +- include/rdma/rdma_vt.h | 11 +- include/rdma/rdmavt_qp.h | 18 +- include/rdma/uverbs_std_types.h | 114 ++ include/rdma/uverbs_types.h | 172 +++ include/uapi/linux/pci_regs.h | 1 + include/uapi/rdma/ib_user_verbs.h | 11 + include/uapi/rdma/vmw_pvrdma-abi.h | 4 +- net/smc/smc_ib.c | 11 +-
242 files changed, 14599 insertions(+), 5505 deletions(-)
create mode 100644 Documentation/infiniband/opa_vnic.txt create mode 100644 drivers/infiniband/core/rdma_core.c create mode 100644 drivers/infiniband/core/rdma_core.h create mode 100644 drivers/infiniband/core/uverbs_std_types.c create mode 100644 drivers/infiniband/hw/hfi1/vnic.h
create mode 100644 drivers/infiniband/hw/hfi1/vnic_main.c create mode 100644 drivers/infiniband/hw/hfi1/vnic_sdma.c create mode 100644 drivers/infiniband/sw/rdmavt/trace_cq.h create mode 100644 drivers/infiniband/sw/rdmavt/trace_rc.h create mode 100644 drivers/infiniband/sw/rxe/rxe_hw_counters.c create mode 100644 drivers/infiniband/sw/rxe/rxe_hw_counters.h create mode 100644 drivers/infiniband/ulp/opa_vnic/Kconfig create mode 100644 drivers/infiniband/ulp/opa_vnic/Makefile create mode 100644 drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c create mode 100644 drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.h create mode 100644 drivers/infiniband/ulp/opa_vnic/opa_vnic_ethtool.c create mode 100644 drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h create mode 100644 drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c create mode 100644 drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c create mode 100644 drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
create mode 100644 include/rdma/opa_addr.h
create mode 100644 include/rdma/opa_vnic.h
create mode 100644 include/rdma/uverbs_std_types.h
create mode 100644 include/rdma/uverbs_types.h
Signature · 9 lines
Doug Ledford <[email protected]> GPG KeyID: B826A3330E572FDD Key fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html