From a63322d121949ce05556db35b8acb5aa8b46e6fa Mon Sep 17 00:00:00 2001 From: hidnplayr Date: Mon, 11 Mar 2013 16:51:29 +0000 Subject: [PATCH] ARP_BLOCK now lets you choose if ARP_IP_to_MAC should block or not. git-svn-id: svn://kolibrios.org@3360 a494cfbc-eb01-0410-851d-a64ba20cac60 --- kernel/branches/net/network/ARP.inc | 6 +++++- kernel/branches/net/network/stack.inc | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/kernel/branches/net/network/ARP.inc b/kernel/branches/net/network/ARP.inc index 0dc67762f1..95427edad8 100644 --- a/kernel/branches/net/network/ARP.inc +++ b/kernel/branches/net/network/ARP.inc @@ -485,7 +485,7 @@ ARP_IP_to_MAC: loop .scan_loop .not_in_list: - DEBUGF 1,"ARP_IP_to_MAC: preparing for ARP request\n" + DEBUGF 1,"ARP_IP_to_MAC: preparing for ARP request\n" ;-------------------- ; Send an ARP request @@ -517,6 +517,9 @@ ARP_IP_to_MAC: .found_it: cmp [esi + ARP_entry.Status], ARP_VALID_MAPPING ; Does it have a MAC assigned? je .valid +if ARP_BLOCK + jmp .give_up +else cmp [esi + ARP_entry.Status], ARP_AWAITING_RESPONSE ; Are we waiting for reply from remote end? jne .give_up push esi @@ -524,6 +527,7 @@ ARP_IP_to_MAC: call delay_ms pop esi jmp .found_it ; now check again +end if .valid: DEBUGF 1,"ARP_IP_to_MAC: found MAC\n" diff --git a/kernel/branches/net/network/stack.inc b/kernel/branches/net/network/stack.inc index 80b8f48778..8498dce34c 100644 --- a/kernel/branches/net/network/stack.inc +++ b/kernel/branches/net/network/stack.inc @@ -29,6 +29,7 @@ uglobal endg MAX_NET_DEVICES = 16 +ARP_BLOCK = 1 ; true or false MIN_EPHEMERAL_PORT = 49152 MIN_EPHEMERAL_PORT_N = 0x00C0 ; same in Network byte order (FIXME)