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:
parent
cc4161de83
commit
a63322d121
@ -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"
|
||||||
|
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user