From 1550ecf11ab6822e92a7411fb50278202e3ae1e0 Mon Sep 17 00:00:00 2001 From: Marcus Overhagen Date: Fri, 24 Dec 2010 00:32:19 +0000 Subject: [PATCH] The IN_CLASS* macros use host byte order. This fixes netmask and broadcast ip for PXE booting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39928 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/fs/vfs_net_boot.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/system/kernel/fs/vfs_net_boot.cpp b/src/system/kernel/fs/vfs_net_boot.cpp index 5e5879d14d..981c226f93 100644 --- a/src/system/kernel/fs/vfs_net_boot.cpp +++ b/src/system/kernel/fs/vfs_net_boot.cpp @@ -329,17 +329,16 @@ NetBootMethod::Init() if (fBootVolume.FindInt32("net mask", (int32*)&netMask) != B_OK) { // choose default netmask depending on the class of the address - in_addr_t net = htonl(clientIP); - if (IN_CLASSA(net) - || (ntohl(net) >> IN_CLASSA_NSHIFT) == IN_LOOPBACKNET) { + if (IN_CLASSA(clientIP) + || (clientIP >> IN_CLASSA_NSHIFT) == IN_LOOPBACKNET) { // class A, or loopback - netMask = ntohl(IN_CLASSA_NET); - } else if (IN_CLASSB(net)) { + netMask = IN_CLASSA_NET; + } else if (IN_CLASSB(clientIP)) { // class B - netMask = ntohl(IN_CLASSB_NET); + netMask = IN_CLASSB_NET; } else { // class C and rest - netMask = ntohl(IN_CLASSC_NET); + netMask = IN_CLASSC_NET; } }