[ofw] [patch][IPoIB_NDIS6_CM]
Alex Naslednikov
xalex at mellanox.co.il
Sun Jan 30 07:21:05 PST 2011
Applied at 7085
From: Alex Naslednikov
Sent: Wednesday, January 26, 2011 4:06 PM
To: Alex Naslednikov; ofw at lists.openfabrics.org
Subject: RE: [ofw][patch][IPoIB_NDIS6_CM]
[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/20110130/c12bad0b/attachment.html>
More information about the ofw
mailing list