david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

[ipoib] Allow external code to identify IPoIB network devices

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown 2016-03-20 09:22:55 +00:00
parent ef0297b527
commit 750a2efeb2
2 changed files with 19 additions and 0 deletions

View File

@ -1027,3 +1027,21 @@ struct ib_driver ipoib_driver __ib_driver = {
.notify = ipoib_notify,
.remove = ipoib_remove,
};
/**
* Find IPoIB network device
*
* @v ibdev Infiniband device
* @ret netdev IPoIB network device, or NULL if not found
*/
struct net_device * ipoib_netdev ( struct ib_device *ibdev ) {
struct ipoib_device *ipoib;
/* Find matching IPoIB device */
list_for_each_entry ( ipoib, &ipoib_devices, list ) {
if ( ipoib->ibdev != ibdev )
continue;
return ipoib->netdev;
}
return NULL;
}

View File

@ -62,5 +62,6 @@ struct ipoib_remac {
extern const char * ipoib_ntoa ( const void *ll_addr );
extern struct net_device * alloc_ipoibdev ( size_t priv_size );
extern struct net_device * ipoib_netdev ( struct ib_device *ibdev );
#endif /* _IPXE_IPOIB_H */