9 FILE_LICENCE ( GPL2_OR_LATER );
11 #include <gpxe/infiniband.h>
13 /** IPoIB MAC address length */
16 /** An IPoIB MAC address */
20 * MSB must be zero; QPNs are only 24-bit.
25 } __attribute__ (( packed ));
27 /** IPoIB link-layer header length */
30 /** IPoIB link-layer header */
32 /** Network-layer protocol */
34 /** Reserved, must be zero */
36 /** Reserved, must be zero */
40 * We use these fields internally to represent the
41 * peer addresses using a lookup key. There simply
42 * isn't enough room in the IPoIB header to store
43 * literal source or destination MAC addresses.
46 /** Destination address key */
48 /** Source address key */
50 } __attribute__ (( packed )) peer;
51 } __attribute__ (( packed )) u;
52 } __attribute__ (( packed ));
54 extern const char * ipoib_ntoa ( const void *ll_addr );
55 extern void ipoib_link_state_changed ( struct ib_device *ibdev );
56 extern int ipoib_probe ( struct ib_device *ibdev );
57 extern void ipoib_remove ( struct ib_device *ibdev );
58 extern struct net_device * alloc_ipoibdev ( size_t priv_size );
60 #endif /* _GPXE_IPOIB_H */