Rev 2553 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2553 | Rev 2555 | ||
---|---|---|---|
Line 14... | Line 14... | ||
14 | ;; GNU GENERAL PUBLIC LICENSE ;; |
14 | ;; GNU GENERAL PUBLIC LICENSE ;; |
15 | ;; Version 2, June 1991 ;; |
15 | ;; Version 2, June 1991 ;; |
16 | ;; ;; |
16 | ;; ;; |
17 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
17 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 18... | Line 18... | ||
18 | 18 | ||
Line 19... | Line 19... | ||
19 | $Revision: 2553 $ |
19 | $Revision: 2555 $ |
20 | 20 | ||
21 | MAX_FRAGMENTS equ 64 |
21 | MAX_FRAGMENTS equ 64 |
Line 619... | Line 619... | ||
619 | mov edx, esp |
619 | mov edx, esp |
620 | mov ecx, [esp + 18] |
620 | mov ecx, [esp + 18] |
621 | add ecx, sizeof.IPv4_header |
621 | add ecx, sizeof.IPv4_header |
622 | mov di , ETHER_IPv4 |
622 | mov di , ETHER_IPv4 |
623 | call ETH_output |
623 | call ETH_output |
624 | jz .error |
624 | jz .eth_error |
Line 625... | Line 625... | ||
625 | 625 | ||
Line 626... | Line 626... | ||
626 | add esp, 6 ; pop the mac |
626 | add esp, 6 ; pop the mac |
627 | 627 | ||
Line 642... | Line 642... | ||
642 | IPv4_checksum edi |
642 | IPv4_checksum edi |
643 | add edi, sizeof.IPv4_header |
643 | add edi, sizeof.IPv4_header |
644 | DEBUGF 1,"IPv4 Packet for device %x created successfully\n", ebx |
644 | DEBUGF 1,"IPv4 Packet for device %x created successfully\n", ebx |
645 | ret |
645 | ret |
Line 646... | Line 646... | ||
646 | 646 | ||
- | 647 | .eth_error: |
|
647 | .error: |
648 | DEBUGF 1,"IPv4_output: ethernet error\n" |
- | 649 | add esp, 6+2+4 |
|
- | 650 | sub edi, edi |
|
- | 651 | ret |
|
648 | add esp, 6 |
652 | |
- | 653 | .arp_error: |
|
649 | .arp_error: |
654 | DEBUGF 1,"IPv4_output: ARP error (0x%x)\n", eax |
- | 655 | add esp, 4+4+4+2+2 |
|
- | 656 | sub edi, edi |
|
- | 657 | ret |
|
650 | add esp, 4+4+4+2+2 |
658 | |
651 | .too_large: |
659 | .too_large: |
652 | DEBUGF 1,"IPv4_output: Failed\n" |
660 | DEBUGF 1,"IPv4_output: error: Packet too large!\n" |
653 | sub edi, edi |
661 | sub edi, edi |