55,8 → 55,8 |
ends |
|
|
uglobal |
align 4 |
uglobal |
|
IP_LIST rd NET_DEVICES_MAX |
SUBNET_LIST rd NET_DEVICES_MAX |
69,6 → 69,7 |
IP_packets_dumped rd NET_DEVICES_MAX |
|
FRAGMENT_LIST rb MAX_FRAGMENTS * sizeof.FRAGMENT_slot |
|
endg |
|
|
223,8 → 224,7 |
;----------------------------------- |
; Check if destination IP is correct |
|
call NET_ptr_to_num |
shl edi, 2 |
call NET_ptr_to_num4 |
|
; check if it matches local ip (Using RFC1122 strong end system model) |
|
586,9 → 586,9 |
push ebx ; push the mac onto the stack |
push ax |
|
inc [IP_packets_tx + 4*edi] ; update stats |
inc [IP_packets_tx + edi] ; update stats |
|
mov ebx, [NET_DRV_LIST + 4*edi] |
mov ebx, [NET_DRV_LIST + edi] |
lea eax, [ebx + ETH_DEVICE.mac] |
mov edx, esp |
mov ecx, [esp + 10 + 6] |
857,7 → 857,7 |
; IPv4_route |
; |
; IN: eax = Destination IP |
; OUT: edi = device number |
; OUT: edi = device number*4 |
; eax = ip of gateway if nescessary, unchanged otherwise |
; |
;--------------------------------------------------------------------------- |
890,8 → 890,7 |
.invalid: |
mov eax, [GATEWAY_LIST+4] ;;; FIXME |
.broadcast: |
xor edi, edi ; if none found, use device 1 as default ;;;; FIXME |
inc di |
mov edi, 4 ; if none found, use device 1 as default ;;;; FIXME |
ret |
|
|