[IPoIB] Fix NDIS WHQL 2c_RecvMulticast test failures
authorftillier <ftillier@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Fri, 12 May 2006 18:18:22 +0000 (18:18 +0000)
committerftillier <ftillier@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Fri, 12 May 2006 18:18:22 +0000 (18:18 +0000)
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@345 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

ulp/ipoib/kernel/ipoib_port.c

index 489ce7e..e906cd0 100644 (file)
@@ -3341,9 +3341,7 @@ __send_mgr_queue(
        cl_perf_stop( &p_port->p_adapter->perf, GetEndpt );\r
 \r
        if( status == NDIS_STATUS_NO_ROUTE_TO_DESTINATION &&\r
-               p_eth_hdr->dst.addr[0] == 0x01 &&\r
-               p_eth_hdr->dst.addr[1] == 0x00 &&\r
-               p_eth_hdr->dst.addr[2] == 0x5E )\r
+               ETH_IS_MULTICAST( p_eth_hdr->dst.addr ) )\r
        {\r
                if( ipoib_port_join_mcast( p_port, p_eth_hdr->dst ) == IB_SUCCESS )\r
                {\r
@@ -5172,9 +5170,9 @@ ipoib_port_join_mcast(
        else\r
        {\r
                /* Handle non IP mutlicast MAC addresses. */\r
-               /* Update the signature. */\r
-               mcast_req.member_rec.mgid.raw[2] = 0x06;\r
-               mcast_req.member_rec.mgid.raw[3] = 0x6A;\r
+               /* Update the signature to use the lower 2 bytes of the OpenIB OUI. */\r
+               mcast_req.member_rec.mgid.raw[2] = 0x14;\r
+               mcast_req.member_rec.mgid.raw[3] = 0x05;\r
                /* Now copy the MAC address into the last 6 bytes of the GID. */\r
                cl_memcpy( &mcast_req.member_rec.mgid.raw[10], mac.addr, 6 );\r
        }\r