Subversion Repositories Kolibri OS

Rev

Rev 9804 | Rev 9806 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9804 Rev 9805
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: 9804 $
19
$Revision: 9805 $
20
 
20
 
Line 21... Line 21...
21
IPv4_MAX_FRAGMENTS              = 64
21
IPv4_MAX_FRAGMENTS              = 64
Line 504... Line 504...
504
        push    eax
504
        push    eax
505
        push    eax
505
        push    eax
506
        call    kernel_alloc
506
        call    kernel_alloc
507
        test    eax, eax
507
        test    eax, eax
508
        je      .destroy_slot_pop                                                       ; If we dont have enough space to allocate the buffer, discard all packets in slot
508
        je      .destroy_slot_pop                                                       ; If we dont have enough space to allocate the buffer, discard all packets in slot
509
        mov     edx, [esp]                                                              ; Get pointer to first fragment entry back in edx
509
        mov     edx, [esp+4]                                                            ; Get pointer to first fragment entry back in edx
Line 510... Line 510...
510
 
510
 
511
  .rebuild_packet_loop:
511
  .rebuild_packet_loop:
512
        movzx   ecx, [edx + sizeof.NET_BUFF + sizeof.IPv4_FRAGMENT_entry + IPv4_header.FlagsAndFragmentOffset] ; Calculate the fragment offset
512
        movzx   ecx, [edx + sizeof.NET_BUFF + sizeof.IPv4_FRAGMENT_entry + IPv4_header.FlagsAndFragmentOffset] ; Calculate the fragment offset
513
        xchg    cl, ch                                                                  ;  intel byte order
513
        xchg    cl, ch                                                                  ;  intel byte order