1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;; IPv4.INC ;; |
634,8 → 634,6 |
push ecx ax edi |
mov eax, edi |
call ipv4_route ; outputs device number in edi, dest ip in eax, source IP in edx |
test eax, eax |
jz .no_route |
push edx |
test edi, edi |
jz .loopback |
685,12 → 683,6 |
xor eax, eax |
ret |
|
.no_route: |
DEBUGF DEBUG_NETWORK_ERROR, "IPv4_output: No route to host!\n" |
add esp, 2*4+2 |
xor eax, eax |
ret |
|
.arp_error: |
DEBUGF DEBUG_NETWORK_ERROR, "IPv4_output: ARP error=%x\n", eax |
add esp, 4 |
925,7 → 917,7 |
; ebx = outgoing device / 0 ; |
; edx = Source IP ; |
; ; |
; OUT: eax = Destination IP (may be gateway), 0 on error ; |
; OUT: eax = Destination IP (or gateway IP) ; |
; edx = Source IP ; |
; edi = device number*4 ; |
; ; |
934,7 → 926,7 |
; ; |
;-----------------------------------------------------------------; |
align 4 |
ipv4_route: |
ipv4_route: ; TODO: return error if no valid route found |
|
test ebx, ebx |
jnz .got_device |
987,7 → 979,6 |
ret |
|
.fail: |
xor eax, eax |
ret |
|
|