Since sdl_e_type is now stored in network byte order, device_consumer_thread()
needed a corresponding adjustment to convert it back to host order before working with it. Fixes #6972. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39812 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -21,6 +21,7 @@
|
|||||||
#include <KernelExport.h>
|
#include <KernelExport.h>
|
||||||
|
|
||||||
#include <net/if_dl.h>
|
#include <net/if_dl.h>
|
||||||
|
#include <netinet/in.h>
|
||||||
#include <new>
|
#include <new>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@@ -106,7 +107,7 @@ device_consumer_thread(void* _interface)
|
|||||||
sockaddr_dl& linkAddress = *(sockaddr_dl*)buffer->source;
|
sockaddr_dl& linkAddress = *(sockaddr_dl*)buffer->source;
|
||||||
int32 genericType = buffer->type;
|
int32 genericType = buffer->type;
|
||||||
int32 specificType = B_NET_FRAME_TYPE(linkAddress.sdl_type,
|
int32 specificType = B_NET_FRAME_TYPE(linkAddress.sdl_type,
|
||||||
linkAddress.sdl_e_type);
|
ntohs(linkAddress.sdl_e_type));
|
||||||
|
|
||||||
buffer->index = interface->device->index;
|
buffer->index = interface->device->index;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user