Michael Brown
6570203571
[Infiniband] Centralise MAD operations
Pull out common code for handling management datagrams from arbel.c
and hermon.c into infiniband.c.
Add port number to struct ib_device.
Add open(), close() and mad() methods to struct ib_device_operations.
16 lat temu
Michael Brown
396dc6e797
[Hermon] Add driver for Mellanox Hermon (ConnectX) cards.
17 lat temu
Michael Brown
604c934981
Add DBGLVL_IO to trace all memory-mapped I/O.
17 lat temu
Michael Brown
c9c8cdeb8b
Add pxe_set_cached_filename() so that pxe_tftp.c can also update the
stored DHCP packets.
17 lat temu
Michael Brown
a2b4252d5a
Add XFER_INIT() macro.
17 lat temu
Michael Brown
f6a8158eed
Make seek information part of the xfer metadata, rather than an entirely
separate xfer method.
Add missing .alloc_iob entries to several xfer_interface_operations
structures.
17 lat temu
Michael Brown
74fd544101
Added the embedded pxelinux payload patch from hpa.
17 lat temu
Michael Brown
f3265b4bf8
Add preliminary support for MTFTP.
17 lat temu
Michael Brown
bea8787a03
Kill off the now-obsolete *_fill_nic() functions.
17 lat temu
Michael Brown
3b1efba864
Add RFC2090 TFTP multicast support.
17 lat temu
Michael Brown
b3abf25e3c
Allow DHCP server to instruct gPXE to ignore ProxyDHCP (which will
also avoid waiting for ProxyDHCP offers).
Also reduce the ProxyDHCP timeout, because it's already irritating me.
17 lat temu
Michael Brown
0becbf5fba
Add ProxyDHCP support.
17 lat temu
Michael Brown
fb809da2df
Remove some assumptions about DHCP obtaining only a single options block.
17 lat temu
Michael Brown
8d18338ae7
Add PXE-required DHCP options to DHCPDISCOVER and DHCPREQUEST packets.
17 lat temu
Michael Brown
26f3a09ccf
Add UUID to DHCP request as option 97 (if available).
17 lat temu
Michael Brown
899f5b8ab2
Added definition of a UUID and uuid_ntoa() (for debugging), and
implemented smbios_get_uuid().
17 lat temu
Marty Connor
048a234dce
Add errfile definition for new e1000.c
17 lat temu
Marty Connor
8bd670301c
Add ERRFILE information for e1000_main and e1000_hw, part of the new e1000 driver
It is likely we will rename e1000_main to e1000 when the new e1000 driver is debugged.
17 lat temu
Michael Brown
5793dbe96f
Infinband requires longer link-layer addresses and headers than Ethernet.
17 lat temu
Michael Brown
2ee76d0c93
Added defines for Infiniband files (which can't be committed to the
main tree yet, but reserving the error numbers now avoids problems later).
17 lat temu
Michael Brown
af303db75d
Use RFC4390 whenever hardware address exceeds 16 bytes; this allows us
to construct DHCP packets suitable for Infiniband.
17 lat temu
Michael Brown
db124b1255
Add fls() for non-constant values.
17 lat temu
Michael Brown
f09173326c
Moved iobuf.h assertions outside the static inline functions, so that
the assert message's file and line number gives some clue as to the
real location of the problem.
Added similar assertions to list.h.
17 lat temu
Michael Brown
30717896f5
IB can't afford many RX buffers, because the MTU is so large. Reduce
the TCP window to compensate.
17 lat temu
Michael Brown
2f23881856
Added arbel.c
17 lat temu
Michael Brown
2c56ede6f8
Moved iobuf.h assertions outside the static inline functions, so that
the assert message's file and line number gives some clue as to the
real location of the problem.
Added similar assertions to list.h.
17 lat temu
Michael Brown
bdac591726
Some interesting packet corruption happening now.
17 lat temu
Michael Brown
2ed1acb9e9
Broadcast GID is now calculated by IPoIB layer.
17 lat temu
Michael Brown
ab191e45db
Unicasts seem to be working. :)
17 lat temu
Michael Brown
b3d3814c17
Obtains a response to the get path record!
17 lat temu
Michael Brown
e05a8cd4de
Use pkey table access to determine broadcast GID directly.
17 lat temu
Michael Brown
440e7926fb
Dead code removal
17 lat temu
Michael Brown
4e78a53cf2
IPoIB code separated out to ipoib.c.
17 lat temu
Michael Brown
67836430e6
Read port GID directly using MAD IFC.
17 lat temu
Michael Brown
3c6a6bdc5d
Multicast join now works.
17 lat temu
Michael Brown
7e85f0d296
create_qp() and destroy_qp() now written (but not tested).
17 lat temu
Michael Brown
251cc84ed6
Started implementing create_qp() and destroy_qp().
17 lat temu
Michael Brown
6d15a193aa
Add fls() for non-constant values.
17 lat temu
Michael Brown
b21d4ca21e
Revert to dev_priv/owner_priv scheme, rather than container_of; it
makes it easier to put the generic allocation code into infiniband.c
17 lat temu
Michael Brown
e238bb1e43
destroy_cq() now implemented (not tested).
17 lat temu
Michael Brown
156b409ccc
Rearrange data structures to maximise embedding (and hence minimise
the number of separate allocations that need to be done).
17 lat temu
Michael Brown
37fc40bc8c
post_recv() now works, and we can pass data on the IPoIB queue pair
using entirely our own code.
17 lat temu
Michael Brown
8deef093d9
Direct polling of TX completion queue now works.
17 lat temu
Michael Brown
6a791649f0
Updated MLX_* accessor macros to use implicit type information.
17 lat temu
Michael Brown
a3a91fedc1
Started added poll_cq() verb.
Started reworking MLX_EXTRACT(), MLX_POPULATE() etc. to automatically
determine type information.
17 lat temu
Michael Brown
970951666f
arbel_post_send() has been observed to transmit a packet!
17 lat temu
Michael Brown
8b27da9de1
Gets a response out of the hardware. (An error completion, to be precise.)
17 lat temu
Michael Brown
38a73b55c4
Now at least compiles
17 lat temu
Michael Brown
9d08b7c692
Starting to introduce an Infiniband device abstraction
17 lat temu
Michael Brown
08e8dfd801
Now handling TX completions in our poll loop.
17 lat temu