IPoIB CM updated to trunk rev 1499
authoraestrin <aestrin@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Fri, 5 Sep 2008 14:18:09 +0000 (14:18 +0000)
committeraestrin <aestrin@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Fri, 5 Sep 2008 14:18:09 +0000 (14:18 +0000)
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@1549 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

ulp/ipoib/kernel/ipoib_driver.h
ulp/ipoib/kernel/ipoib_xfr_mgr.h

index bb91294..0660f59 100644 (file)
@@ -47,8 +47,8 @@
  */\r
 #define MAX_BUNDLE_ID_LENGTH   32\r
 \r
-\r
-#define IB_MTU                 2048\r
+/* MLX4 supports 4K MTU */\r
+#define IB_MTU                 4096\r
 /*\r
  * Header length as defined by IPoIB spec:\r
  * http://www.ietf.org/internet-drafts/draft-ietf-ipoib-ip-over-infiniband-04.txt\r
index f53e345..e477581 100644 (file)
@@ -219,19 +219,22 @@ ipoib_mac_from_mlx_guid(
 {\r
        const uint8_t   *p_guid = (const uint8_t*)&port_guid;\r
        uint32_t                low24;\r
+       net16_t                 guid_middle;\r
 \r
        /* Port guid is in network byte order.  OUI is in lower 3 bytes. */\r
        ASSERT( p_guid[0] == 0x00 && p_guid[1] == 0x02 && p_guid[2] == 0xc9 );\r
 \r
-       if( (port_guid & CL_HTON64( 0x000000ffff000000 )) !=\r
-               CL_HTON64(0x0000000200000000))\r
-       {\r
+       guid_middle = (net16_t)((port_guid & CL_HTON64( 0x000000ffff000000 )) >>24);\r
+\r
+       if (guid_middle == 2) {\r
+                       p_mac_addr->addr[0] = 0;\r
+       } else if (guid_middle == 3) {\r
+                       p_mac_addr->addr[0] = 2;\r
+       } else {\r
                return IB_INVALID_GUID;\r
        }\r
-\r
        low24 = ((uint32_t)cl_ntoh64( port_guid ) & 0x00FFFFFF);\r
 \r
-       p_mac_addr->addr[0] = p_guid[0];\r
        p_mac_addr->addr[1] = p_guid[1];\r
        p_mac_addr->addr[2] = p_guid[2];\r
        p_mac_addr->addr[3] = (uint8_t)(low24 >> 16);\r