[ofw] [IPoIB][patch 1/3] Adding support to dell guid and user-define mask for guid generation - revisited
Alex Naslednikov
xalex at mellanox.co.il
Mon Sep 22 09:03:08 PDT 2008
This patch adds support for Dell GUID
Signed-off by: Alexander Naslednikov (xalex at mellanox.co.il)
Index: D:/Windows/MLNX_WINOF/ulp/ipoib/kernel/ipoib_xfr_mgr.h
===================================================================
--- D:/Windows/MLNX_WINOF/ulp/ipoib/kernel/ipoib_xfr_mgr.h
(revision 3206)
+++ D:/Windows/MLNX_WINOF/ulp/ipoib/kernel/ipoib_xfr_mgr.h
(revision 3214)
@@ -231,6 +231,35 @@
return IB_SUCCESS;
}
+
+/****f* IPOIB/ipoib_mac_from_dell_guid
+* NAME
+* ipoib_mac_from_dell_guid
+*
+* DESCRIPTION
+* Generates an ethernet MAC address given a DELL port GUID.
+*
+* SYNOPSIS
+*/
+static inline ib_api_status_t
+ipoib_mac_from_dell_guid(
+ IN const net64_t
port_guid,
+ OUT mac_addr_t* const
p_mac_addr )
+{
+ const uint8_t *p_guid = (const uint8_t*)&port_guid;
+
+ /* Port guid is in network byte order. OUI is in lower 3 bytes.
*/
+ ASSERT( p_guid[0] == 0x00 && p_guid[1] == 0x18 && p_guid[2] ==
0x8b );
+
+ p_mac_addr->addr[0] = p_guid[0];
+ p_mac_addr->addr[1] = p_guid[1];
+ p_mac_addr->addr[2] = p_guid[2];
+ p_mac_addr->addr[3] = p_guid[5];
+ p_mac_addr->addr[4] = p_guid[6];
+ p_mac_addr->addr[5] = p_guid[7];
+
+ return IB_SUCCESS;
+}
/*
* PARAMETERS
* port_guid
@@ -244,6 +273,20 @@
* IB_SUCCESS
* The MAC address was successfully converted.
*
+*********/
+/*
+* PARAMETERS
+* port_guid
+* The port GUID, in network byte order, for which to
generate a
+* MAC address.
+*
+* p_mac_addr
+* Pointer to a mac address in which to store the results.
+*
+* RETURN VALUES
+* IB_SUCCESS
+* The MAC address was successfully converted.
+*
* IB_INVALID_GUID
* The port GUID provided was not a known GUID format.
*
@@ -444,6 +487,12 @@
if( status == IB_SUCCESS )
return IB_SUCCESS;
}
+ else if( p_guid[1] == 0x18 && p_guid[2] == 0x8b )
+ {
+ status = ipoib_mac_from_dell_guid( port_guid,
p_mac_addr );
+ if( status == IB_SUCCESS )
+ return IB_SUCCESS;
+ }
}
/* Value of zero is reserved. */
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ipoib_guid1.diff
Type: application/octet-stream
Size: 1943 bytes
Desc: ipoib_guid1.diff
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20080922/a3bb6572/attachment.obj>
More information about the ofw
mailing list