[IPoIB_NDIS6_CM]
If the packet is fragmented, don't check for UDP header.
This bug reappeared because of IPv6 commit and its fixes
Signed-off by: Alexander Naslednikov (xalex at mellanox.co.il)
Index: ulp/ipoib_NDIS6_CM/kernel/ipoib_port.cpp
===================================================================
--- ulp/ipoib_NDIS6_CM/kernel/ipoib_port.cpp                (revision 3080)
+++ ulp/ipoib_NDIS6_CM/kernel/ipoib_port.cpp             (working copy)
@@ -5409,6 +5409,14 @@
                PERF_DECLARE( FilterDhcp );

                XIPOIB_ENTER( IPOIB_DBG_SEND );
+             if ( (ethertype == ETH_PROT_TYPE_IP) && 
((ip_hdr_t*)p_ip_hdr)->offset > 0 )
+             {
+                             /* This is a fragmented part of UDP packet
+                             * Only first packet will contain UDP header in 
such case
+                             * So, return if offset > 0
+                             */
+                             return NDIS_STATUS_PENDING;
+             }

                if( !buf_len )
                {
@@ -5438,13 +5446,7 @@
                                else //IPv4
                                {
                                                p_udp_hdr = 
(udp_hdr_t*)GetIpPayloadPtr((ip_hdr_t*)p_ip_hdr);
-                                              if 
(((ip_hdr_t*)p_ip_hdr)->offset > 0) {
-                                                              /* This is a 
fragmented part of UDP packet
-                                                              * Only first 
packet will contain UDP header in such case
-                                                              * So, return if 
offset > 0
-                                                              */
-                                                              return 
NDIS_STATUS_PENDING;
-                                              }
+
                                }
                }
                /* Get the UDP header and check the destination port numbers. */
_______________________________________________
ofw mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw

Reply via email to