Rev 5842 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5842 | Rev 6123 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;; ;; |
2 | ;; ;; |
3 | ;; Copyright (C) KolibriOS team 2010-2015. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2010-2016. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;; zeroconfig.asm - Zeroconfig service for KolibriOS ;; |
6 | ;; zeroconfig.asm - Zeroconfig service for KolibriOS ;; |
7 | ;; ;; |
7 | ;; ;; |
8 | ;; Written by hidnplayr@kolibrios.org ;; |
8 | ;; Written by hidnplayr@kolibrios.org ;; |
Line 417... | Line 417... | ||
417 | mcall 26, 9 |
417 | mcall 26, 9 |
418 | mov ebx, eax |
418 | mov ebx, eax |
419 | sub ebx, [ebp + interface.timeout] |
419 | sub ebx, [ebp + interface.timeout] |
420 | ja send_dhcp_packet.wait |
420 | ja send_dhcp_packet.wait |
Line 421... | Line 421... | ||
421 | 421 | ||
422 | DEBUGF 2, "No answer from DHCP server\n" |
422 | DEBUGF 1, "No answer from DHCP server\n" |
423 | dec [ebp + interface.tries] |
423 | dec [ebp + interface.tries] |
424 | jnz send_dhcp_packet |
424 | jnz send_dhcp_packet |
Line 425... | Line 425... | ||
425 | jmp dhcp_fail |
425 | jmp dhcp_fail |
Line 456... | Line 456... | ||
456 | request_sent: |
456 | request_sent: |
457 | call parse_dhcp_reply |
457 | call parse_dhcp_reply |
458 | cmp [rx_msg_type], 5 ; Was the response an ACK? It should be |
458 | cmp [rx_msg_type], 5 ; Was the response an ACK? It should be |
459 | jne read_packet ; NO - read next packets |
459 | jne read_packet ; NO - read next packets |
Line 460... | Line 460... | ||
460 | 460 | ||
- | 461 | DEBUGF 2, "IP address %u.%u.%u.%u assigned to network interface %u by DHCP\n",\ |
|
Line 461... | Line 462... | ||
461 | DEBUGF 2, "IP assigned by DHCP server successfully\n" |
462 | [ebp+interface.ip+0]:1, [ebp+interface.ip+1]:1, [ebp+interface.ip+2]:1, [ebp+interface.ip+3]:1, [ebp + interface.number]:1 |
Line 462... | Line 463... | ||
462 | 463 | ||
463 | mcall close, [ebp + interface.socketNum] |
464 | mcall close, [ebp + interface.socketNum] |
Line 593... | Line 594... | ||
593 | 594 | ||
594 | dhcp_fail: |
595 | dhcp_fail: |
Line 595... | Line 596... | ||
595 | mcall close, [ebp + interface.socketNum] |
596 | mcall close, [ebp + interface.socketNum] |
596 | 597 | ||
597 | dhcp_error: |
598 | dhcp_error: |
598 | DEBUGF 1, "DHCP failed\n" |
599 | DEBUGF 2, "DHCP failed\n" |
Line 599... | Line 600... | ||
599 | cmp [ebp + interface.mode], 3 ; zero config mode? |
600 | cmp [ebp + interface.mode], 3 ; zero config mode? |
Line 608... | Line 609... | ||
608 | shl ecx, 16 |
609 | shl ecx, 16 |
609 | mov cx, 0xfea9 ; IP 169.254.0.0 link local net, see RFC3927 |
610 | mov cx, 0xfea9 ; IP 169.254.0.0 link local net, see RFC3927 |
610 | mov ebx, API_IPv4 + 3 |
611 | mov ebx, API_IPv4 + 3 |
611 | mov bh, byte[ebp + interface.number] |
612 | mov bh, byte[ebp + interface.number] |
612 | mcall 76, , ecx ; mask is 255.255.0.0 |
613 | mcall 76, , ecx ; mask is 255.255.0.0 |
613 | DEBUGF 2, "Link Local IP assigned: 169.254.%u.%u\n", [generator+0]:1, [generator+1]:1 |
614 | DEBUGF 2, "IP address 169.254.%u.%u assigned to network interface %u through Link-Local\n",\ |
- | 615 | [generator+0]:1, [generator+1]:1, [ebp + interface.number]:1 |
|
614 | mov bl, 7 |
616 | mov bl, 7 |
615 | mcall 76, , 0xffff |
617 | mcall 76, , 0xffff |
616 | mov bl, 9 |
618 | mov bl, 9 |
617 | mcall 76, , 0x0 |
619 | mcall 76, , 0x0 |
618 | mov bl, 5 |
620 | mov bl, 5 |