diff --git a/kernel/branches/net/network/IPv4.inc b/kernel/branches/net/network/IPv4.inc index 29ec49feb3..b75b52200c 100644 --- a/kernel/branches/net/network/IPv4.inc +++ b/kernel/branches/net/network/IPv4.inc @@ -401,7 +401,7 @@ IPv4_Handler: DEBUGF 1,"IP_Handler - unknown protocol:%u\n",al - jmp .dump + ret .destroy_slot_pop: @@ -572,6 +572,7 @@ IPv4_create_Packet: .exit: add esp, 16 .exit_: + DEBUGF 1,"Create IPv4 Packet - failed\n" or edi, -1 ret diff --git a/kernel/branches/net/network/icmp.inc b/kernel/branches/net/network/icmp.inc index 8e6e0fff65..09ca0b51eb 100644 --- a/kernel/branches/net/network/icmp.inc +++ b/kernel/branches/net/network/icmp.inc @@ -277,7 +277,7 @@ ICMP_Handler: ;TODO: works only on pure ethernet right now ! DEBUGF 1,"ICMP_Handler - dumping\n" call kernel_free - add esp, 4 ; pop (balance stack) + add esp, 8 ; pop (balance stack) ret @@ -332,8 +332,7 @@ ICMP_Handler_fragments: ; works only on pure ethernet right now ! DEBUGF 1,"ICMP_Handler_fragments - end\n" call kernel_free - add esp, 4 ; pop (balance stack) - + add esp, 8 ; pop (balance stack) ret ;----------------------------------------------------------------- @@ -366,11 +365,11 @@ ICMP_create_Packet: call IPv4_create_Packet - DEBUGF 1,"full icmp packet size: %u\n", ebx - cmp edi, -1 je .exit + DEBUGF 1,"full icmp packet size: %u\n", ebx + pop eax mov word [edi + ICMP_Packet.Type], ax ; Write both type and code bytes at once pop eax @@ -401,7 +400,8 @@ ICMP_create_Packet: ret ; Send the packet (create_packet routine outputs pointer to routine to send packet in eax) .exit: - add esp, 8 + DEBUGF 1,"Creating ICMP Packet failed\n" + add esp, 3*4 ret