[ofw] [patch][IPoIB_NDIS6_CM]

Alex Naslednikov xalex at mellanox.co.il
Wed Jan 26 06:05:33 PST 2011


[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. */
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20110126/c458f0ff/attachment.html>


More information about the ofw mailing list