[IBAL, MTHCA] fix the work with av with valid grh. [mlnx: 3077]
The patch fix the behavior of av verbs in case that sgid isn't found at the gid_table.
Instead of exit with IB_INVALID_GID it sets the index to 0. Please note IB spec 11.2.2.2 regarding av verbs definition.
The patch also used grh.resv2 (rather than resv1) to avoid C4328 warning (improper member alignment).
[IBAL, MTHCA] fix the work with av with valid grh. [mlnx: 3077]
The patch fix the behavior of av verbs in case that sgid isn't found at the gid_table.
Instead of exit with IB_INVALID_GID it sets the index to 0. Please note IB spec 11.2.2.2 regarding av verbs definition.
The patch also used grh.resv2 (rather than resv1) to avoid C4328 warning (improper member alignment).
[WinOF]
release notes updated
Manual.htm updated
makebin.bat updated to include symbol files (.pdb) for free drivers in WinOF release.
netipoib-xp32.inf - DriverVer updated to maj 2.0
[IPoIB]
netipoib.inx - OpenIB --> OpenFabrics name change
netipoib-xp32.inf - match netipoib.inx (except for 32-bit issues) DriverVer updated.
[WinOF] makebin.bat - updated to include free driver symbol files (.pdb) in std WinOF release.
[AL] disable check_av_port due to mthca proble. When registering mad svc, port num is zero because ibv_query_qp retrun '0' as primary port. (mlnx: 3131)
signed off by: Reuven@mellanox.co.il
[AL] disable check_av_port due to mthca proble. When registering mad svc, port num is zero because ibv_query_qp retrun '0' as primary port. (mlnx: 3131)
signed off by: Reuven@mellanox.co.il
[IPOIB] Changes for Connected Mode (RFC 4755). So far tested on x64/2003/mthca platforms only.
Known issues:
- payload MTU sizes > 16k cause problems on receive side. That also hurts performance.
- With WSD registered system can crash under heavy load while handling IOCTLs.
- Interop. with Linux still questionable because of large payload MTU issue (since Linux reports only one size - 65520 bytes and not really run-time adjustable). Connection establish algorithm doesn't work properly with Linux.
The patch fixes accessing p_user_attr field which lead to access violation, the actual field is p_pnp_attr.
It also moves port checking to the head of the function stack.
The patch fixes accessing p_user_attr field which lead to access violation, the actual field is p_pnp_attr.
It also moves port checking to the head of the function stack.
stansmith [Fri, 29 Aug 2008 22:53:16 +0000 (22:53 +0000)]
[WinOF]
buildrelease.bat now uses a .pfx file for 'OpenFabrics Alliance' driver signing.
[IPOIB]
ipoib_port.h MAX_SEND_SGE was boosted from 8 (svn.1498) to 30 in svn.1499 with only x64 testing. Result was x86 and ia64 ipoib has been broken since svn.1499. IPoIB could not create a UD QP with 30 SGE entries for x86 & ia64 (mthca). I temp set MAX_SEND_SGE == 16 which works for all supported arches.
stansmith [Fri, 29 Aug 2008 16:53:44 +0000 (16:53 +0000)]
[WinOF] RC0
Migrated driver signing to use a .pfx file for OpenFabrics Alliance signing.
WIX_tools binaries updated to 2.0.5805.0 along with Makefile references
Added WIX_tools\README.txt to explain WIX binaries download & unpack.
CustomActions.vbs - remove dpinst.exe usage as it proved to be unstable with not enough testing.
stansmith [Wed, 27 Aug 2008 17:50:19 +0000 (17:50 +0000)]
[WinOF] cleanup - deleted inactive folders from branches\ to ease svn-update pain for WOF2-0
ConnectX
MTHCA
Ndi
RDMA
WOF1-1
Remember these folders can be retrieved from previous svn versions.
For Tavor, we currently reserve separate MPT and MTT space for FMRs to
avoid abusing the vmalloc space on 32 bit kernels. No such problem
exists on 64 bit kernels so let's not do it there.
This way we have a shared pool for MR and FMR resources, used on
demand. This will also make it possible to write MTTs for regular
regions directly from driver.
MTTs are allocated in non-cache-coherent memory, so we must give
reserved MTTs their own cache line, to prevent both device and
CPU from writing into the same cache line at the same time.
The reserved_mtts field has different meaning in Tavor and Arbel, so
we are wasting mtt entries on memfree. Fix the Arbel case to match
Tavor semantics.
mthca_table_find() will return the wrong address when the table entry
being searched for is exactly at the beginning of a sglist entry
(other than the first), because it uses >= when it should use >.
Example: assume we have 2 entries in scatterlist, 4K each, offset is
4K. The current code will return first entry + 4K when we really want
the second entry.
In particular this means mapping an FMR on a memfree HCA may end up
writing the page table into the wrong place, leading to memory
corruption and also causing the HCA to use an incorrect address
translation table.
stansmith [Tue, 26 Aug 2008 00:20:11 +0000 (00:20 +0000)]
[IBBUS] bus_port_mgr.c: resolve mysterious/unannounced port_guid_pkey --> port_guid_pkey_t typedef change.
bus_driver.c: missing function bus_rem_pkey() - hacked in missing stub routine in order to build.
stansmith [Thu, 21 Aug 2008 18:08:40 +0000 (18:08 +0000)]
[WinOF] support ND on all architectures. Even though ia64 is not technically supported, ndinstall.exe is installed via netipoib.inf, so x86 versions of ND files are utilized for ia64 until full ia64 support arrives.
ND is a selectable install feature; netipoib.inf always installs the base ND files. For WinSvr-2008 'ndinstall.exe -i' is auto-run, all other OS/arch flavors no auto-run.
Winverbs is a selectable install feature; off by default.
CustomActions.vbs - HCA install has changed to be simpler for the common case, a single HCA, by installing PCI\VEN_15B3 thus allowing the .inf file to deal with matching the correct Device ID.
For multiple mixed HCA installs (mthca & mlx4), VEN_15B3 is not unique, so the install reverts to the previous WinOF 1.1 install method of installing by device ID; with a small optimization being applied.
The 1.1 install method was to traverse a list of DeviceIDs installing until success or EOL; once for mlx4 and then again for mthca. The optimization is to query and install for the resident DeviceID. The idea is to optimize for success instead of accepting install failures until the resident DeviceID is found.
Additionally the installer doesn't have to hard-core ConnectX DeviceIDs, although mthca DeviceIDs are hard coded - I believe mthca DeviceIDs are not likely to be changing. The method is for mlx4, verify the DeviceID is not mthca and then install (future proof).
stansmith [Thu, 21 Aug 2008 16:08:42 +0000 (16:08 +0000)]
[CORE\IOU] added following files:
ib_iou.cdf - for driver signing
ib_iou.inx - for ibiou.sys installation; IOU relevant items
makefile.inx - for creation of and date/time stamping ib_iou.inf file.
Added to SOURCES files the rules required to create ib_iou.inf file.
stansmith [Thu, 21 Aug 2008 15:59:00 +0000 (15:59 +0000)]
[ND] added fre_svr-03_ia64 binaries, which are really fre_svr-03_x86 binaries.
replaced fre_svr-08_ia64 binaries with fre_svr-08_x86 binaries.
Reason for replacement is due to changes in netipoib.inf, now that ndinstall.exe is always installed, so when uninstalling, the installer doesn't know if ND was started or not (ndinstall.exe is always present) so it assumes a need to remove ND ala 'ndinstall -r'. Since ND is yet to be supported on ia64 and I did not want to special case ia64 in the uninstall path, it turns out the x86 ndinstall.exe executes fine on ia64.
stansmith [Fri, 15 Aug 2008 17:25:56 +0000 (17:25 +0000)]
[ND] added XP_x86 binaries to fake build env.
renamed objfre_svr* --> fre_svr* to make it easier to identify ND binary folders from build generated folders.
leonidk [Thu, 14 Aug 2008 18:45:08 +0000 (18:45 +0000)]
[MLX4] some fixes to support the mixed IB/Eth mode. (mlnx: 2947,2949)
The only mixed configuration, supported now, is port1-IB, port2-Eth.
To work with it one has to burn FW with parameter 'dpdp_en=true' in INI file, for example MHGH28-XSC_A4-A5.ini.
ib_query_ca returns now the number of IB- and not physical ports. So VSTAT will show only one port and IBBUS will create only one IPoIB adapter.