Rev 2914 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2914 | Rev 2924 | ||
---|---|---|---|
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: 2914 $ |
19 | $Revision: 2924 $ |
20 | - | ||
21 | MAX_FRAGMENTS = 64 |
- | |
Line 22... | Line 20... | ||
22 | MAX_IP = MAX_NET_DEVICES |
20 | |
Line 23... | Line 21... | ||
23 | IP_MAX_INTERFACES = MAX_IP |
21 | MAX_FRAGMENTS = 64 |
24 | 22 | ||
Line 58... | Line 56... | ||
58 | 56 | ||
59 | 57 | ||
Line 60... | Line 58... | ||
60 | align 4 |
58 | align 4 |
61 | uglobal |
59 | uglobal |
62 | 60 | ||
63 | IP_LIST rd MAX_IP |
61 | IP_LIST rd MAX_NET_DEVICES |
64 | SUBNET_LIST rd MAX_IP |
62 | SUBNET_LIST rd MAX_NET_DEVICES |
Line 65... | Line 63... | ||
65 | DNS_LIST rd MAX_IP |
63 | DNS_LIST rd MAX_NET_DEVICES |
66 | GATEWAY_LIST rd MAX_IP |
64 | GATEWAY_LIST rd MAX_NET_DEVICES |
Line 67... | Line 65... | ||
67 | BROADCAST_LIST rd MAX_IP |
65 | BROADCAST_LIST rd MAX_NET_DEVICES |
68 | 66 | ||
Line 82... | Line 80... | ||
82 | ;----------------------------------------------------------------- |
80 | ;----------------------------------------------------------------- |
83 | macro IPv4_init { |
81 | macro IPv4_init { |
Line 84... | Line 82... | ||
84 | 82 | ||
85 | xor eax, eax |
83 | xor eax, eax |
86 | mov edi, IP_LIST |
84 | mov edi, IP_LIST |
87 | mov ecx, 7*MAX_IP + (sizeof.FRAGMENT_slot*MAX_FRAGMENTS)/4 |
85 | mov ecx, 7*MAX_NET_DEVICES + (sizeof.FRAGMENT_slot*MAX_FRAGMENTS)/4 |
Line 88... | Line 86... | ||
88 | rep stosd |
86 | rep stosd |
Line 540... | Line 538... | ||
540 | cmp [esi + FRAGMENT_slot.DstIP], edx |
538 | cmp [esi + FRAGMENT_slot.DstIP], edx |
541 | je .found_slot |
539 | je .found_slot |
542 | .try_next: |
540 | .try_next: |
543 | add esi, sizeof.FRAGMENT_slot |
541 | add esi, sizeof.FRAGMENT_slot |
544 | loop .find_slot |
542 | loop .find_slot |
545 | ; pop edx ebx |
- | |
546 | or esi, -1 |
- | |
547 | ; ret |
- | |
Line -... | Line 543... | ||
- | 543 | ||
548 | 544 | or esi, -1 |
|
549 | .found_slot: |
545 | .found_slot: |
550 | pop edx ecx ebx eax |
546 | pop edx ecx ebx eax |
Line 867... | Line 863... | ||
867 | 863 | ||
868 | cmp eax, 0xffffffff |
864 | cmp eax, 0xffffffff |
Line 869... | Line 865... | ||
869 | je .broadcast |
865 | je .broadcast |
870 | 866 | ||
871 | xor edi, edi |
867 | xor edi, edi |
872 | mov ecx, MAX_IP |
868 | mov ecx, MAX_NET_DEVICES |
873 | .loop: |
869 | .loop: |
874 | mov ebx, [IP_LIST+edi] |
870 | mov ebx, [IP_LIST+edi] |
875 | and ebx, [SUBNET_LIST+edi] |
871 | and ebx, [SUBNET_LIST+edi] |