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)