diff options
| author | Michael Brown | 2007-09-13 15:43:12 +0200 |
|---|---|---|
| committer | Michael Brown | 2007-09-13 15:43:12 +0200 |
| commit | 30a19c3f1c51ff404d8de3196c4355fba3083c8e (patch) | |
| tree | 013ebc0cb2c2249f9e0e0f6ea9740f97a4f89705 /src/include | |
| parent | Dump received packet, including GRH. (diff) | |
| download | ipxe-30a19c3f1c51ff404d8de3196c4355fba3083c8e.tar.gz ipxe-30a19c3f1c51ff404d8de3196c4355fba3083c8e.tar.xz ipxe-30a19c3f1c51ff404d8de3196c4355fba3083c8e.zip | |
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.
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/gpxe/infiniband.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/include/gpxe/infiniband.h b/src/include/gpxe/infiniband.h index 126113a74..11cec1894 100644 --- a/src/include/gpxe/infiniband.h +++ b/src/include/gpxe/infiniband.h @@ -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 |
