mirror of
https://github.com/ipxe/ipxe
synced 2025-12-28 18:42:53 +03:00
Can now both send and receive packets. LL header format not yet
fixed; still using a quick hack-up just to be able to pass through data.
This commit is contained in:
@@ -14,6 +14,43 @@
|
||||
#define IB_ALEN 20
|
||||
#define IB_HLEN 24
|
||||
|
||||
/** An Infiniband Global Identifier */
|
||||
struct ib_gid {
|
||||
uint8_t bytes[16];
|
||||
};
|
||||
|
||||
/** An Infiniband Global Route Header */
|
||||
struct ib_global_route_header {
|
||||
/** IP version, traffic class, and flow label
|
||||
*
|
||||
* 4 bits : Version of the GRH
|
||||
* 8 bits : Traffic class
|
||||
* 20 bits : Flow label
|
||||
*/
|
||||
uint32_t ipver_tclass_flowlabel;
|
||||
/** Payload length */
|
||||
uint16_t paylen;
|
||||
/** Next header */
|
||||
uint8_t nxthdr;
|
||||
/** Hop limit */
|
||||
uint8_t hoplmt;
|
||||
/** Source GID */
|
||||
struct ib_gid sgid;
|
||||
/** Destiniation GID */
|
||||
struct ib_gid dgid;
|
||||
} __attribute__ (( packed ));
|
||||
|
||||
/** An Infiniband MAC address */
|
||||
struct ib_mac {
|
||||
/** Queue pair number
|
||||
*
|
||||
* MSB must be zero; QPNs are only 24-bit.
|
||||
*/
|
||||
uint32_t qpn;
|
||||
/** Port GID */
|
||||
struct ib_gid gid;
|
||||
} __attribute__ (( packed ));
|
||||
|
||||
/** An Infiniband header
|
||||
*
|
||||
* This data structure doesn't represent the on-wire format, but does
|
||||
|
||||
Reference in New Issue
Block a user