9 FILE_LICENCE ( GPL2_OR_LATER );
11 #include <ipxe/if_arp.h>
12 #include <ipxe/infiniband.h>
14 /** IPoIB MAC address length */
17 /** An IPoIB MAC address */
21 * MSB indicates support for IPoIB "connected mode". Lower 24
27 } __attribute__ (( packed ));
29 /** IPoIB link-layer header length */
32 /** IPoIB link-layer header */
34 /** Network-layer protocol */
36 /** Reserved, must be zero */
38 } __attribute__ (( packed ));
40 /** GUID mask used for constructing eIPoIB Local Ethernet MAC address (LEMAC) */
41 #define IPOIB_GUID_MASK 0xe7
43 /** eIPoIB Remote Ethernet MAC address
45 * An eIPoIB REMAC address is an Ethernet-like (6 byte) link-layer
46 * pseudo-address used to look up a full IPoIB link-layer address.
51 * Must be ORed with EIPOIB_QPN_LA so that eIPoIB REMAC
52 * addresses are considered as locally-assigned Ethernet MAC
58 } __attribute__ (( packed ));
60 /** eIPoIB REMAC locally-assigned address indicator */
61 #define EIPOIB_QPN_LA 0x02000000UL
63 extern const char * ipoib_ntoa ( const void *ll_addr );
64 extern struct net_device * alloc_ipoibdev ( size_t priv_size );
66 #endif /* _IPXE_IPOIB_H */