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
This commit is contained in:
hidnplayr 2013-03-11 16:51:29 +00:00
parent cc4161de83
commit a63322d121
2 changed files with 6 additions and 1 deletions

View File

@ -485,7 +485,7 @@ ARP_IP_to_MAC:
loop .scan_loop loop .scan_loop
.not_in_list: .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 ; Send an ARP request
@ -517,6 +517,9 @@ ARP_IP_to_MAC:
.found_it: .found_it:
cmp [esi + ARP_entry.Status], ARP_VALID_MAPPING ; Does it have a MAC assigned? cmp [esi + ARP_entry.Status], ARP_VALID_MAPPING ; Does it have a MAC assigned?
je .valid 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? cmp [esi + ARP_entry.Status], ARP_AWAITING_RESPONSE ; Are we waiting for reply from remote end?
jne .give_up jne .give_up
push esi push esi
@ -524,6 +527,7 @@ ARP_IP_to_MAC:
call delay_ms call delay_ms
pop esi pop esi
jmp .found_it ; now check again jmp .found_it ; now check again
end if
.valid: .valid:
DEBUGF 1,"ARP_IP_to_MAC: found MAC\n" DEBUGF 1,"ARP_IP_to_MAC: found MAC\n"

View File

@ -29,6 +29,7 @@ uglobal
endg endg
MAX_NET_DEVICES = 16 MAX_NET_DEVICES = 16
ARP_BLOCK = 1 ; true or false
MIN_EPHEMERAL_PORT = 49152 MIN_EPHEMERAL_PORT = 49152
MIN_EPHEMERAL_PORT_N = 0x00C0 ; same in Network byte order (FIXME) MIN_EPHEMERAL_PORT_N = 0x00C0 ; same in Network byte order (FIXME)