[haiku-commits] r38394 - haiku/trunk/src/add-ons/kernel/network/stack

  • From: axeld@xxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Fri, 27 Aug 2010 12:55:48 +0200 (CEST)

Author: axeld
Date: 2010-08-27 12:55:48 +0200 (Fri, 27 Aug 2010)
New Revision: 38394
Changeset: http://dev.haiku-os.org/changeset/38394

Modified:
   haiku/trunk/src/add-ons/kernel/network/stack/device_interfaces.cpp
Log:
* Set the new net_buffer::index field on retrieval of a buffer.


Modified: haiku/trunk/src/add-ons/kernel/network/stack/device_interfaces.cpp
===================================================================
--- haiku/trunk/src/add-ons/kernel/network/stack/device_interfaces.cpp  
2010-08-27 10:54:58 UTC (rev 38393)
+++ haiku/trunk/src/add-ons/kernel/network/stack/device_interfaces.cpp  
2010-08-27 10:55:48 UTC (rev 38394)
@@ -104,9 +104,12 @@
                                buffer = NULL;
                } else {
                        sockaddr_dl& linkAddress = 
*(sockaddr_dl*)buffer->source;
+                       int32 genericType = buffer->type;
                        int32 specificType = 
B_NET_FRAME_TYPE(linkAddress.sdl_type,
                                linkAddress.sdl_e_type);
 
+                       buffer->index = interface->device->index;
+
                        // Find handler for this packet
 
                        RecursiveLocker locker(interface->receive_lock);
@@ -118,7 +121,7 @@
 
                                // If the handler returns B_OK, it consumed the 
buffer - first
                                // handler wins.
-                               if ((handler->type == buffer->type
+                               if ((handler->type == genericType
                                                || handler->type == 
specificType)
                                        && handler->func(handler->cookie, 
device, buffer) == B_OK)
                                        buffer = NULL;


Other related posts:

  • » [haiku-commits] r38394 - haiku/trunk/src/add-ons/kernel/network/stack - axeld