Rev 3185 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3185 | Rev 3251 | ||
---|---|---|---|
Line 12... | Line 12... | ||
12 | ;; GNU GENERAL PUBLIC LICENSE ;; |
12 | ;; GNU GENERAL PUBLIC LICENSE ;; |
13 | ;; Version 2, June 1991 ;; |
13 | ;; Version 2, June 1991 ;; |
14 | ;; ;; |
14 | ;; ;; |
15 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
15 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 16... | Line 16... | ||
16 | 16 | ||
Line 17... | Line 17... | ||
17 | $Revision: 3185 $ |
17 | $Revision: 3251 $ |
Line 18... | Line 18... | ||
18 | 18 | ||
Line 81... | Line 81... | ||
81 | ; |
81 | ; |
82 | ;----------------------------------------------------------------- |
82 | ;----------------------------------------------------------------- |
83 | align 4 |
83 | align 4 |
84 | IPv6_input: |
84 | IPv6_input: |
Line 85... | Line 85... | ||
85 | 85 | ||
86 | DEBUGF 1,"IPv6_input from: %x%x:%x%x:%x%x:%x%x:%x%x:%x%x:%x%x:%x%x\n",\ |
86 | DEBUGF 2,"IPv6_input from: %x%x:%x%x:%x%x:%x%x:%x%x:%x%x:%x%x:%x%x\n",\ |
87 | [edx + IPv6_header.SourceAddress + 0]:2,[edx + IPv6_header.SourceAddress + 1]:2,\ |
87 | [edx + IPv6_header.SourceAddress + 0]:2,[edx + IPv6_header.SourceAddress + 1]:2,\ |
88 | [edx + IPv6_header.SourceAddress + 2]:2,[edx + IPv6_header.SourceAddress + 3]:2,\ |
88 | [edx + IPv6_header.SourceAddress + 2]:2,[edx + IPv6_header.SourceAddress + 3]:2,\ |
89 | [edx + IPv6_header.SourceAddress + 4]:2,[edx + IPv6_header.SourceAddress + 5]:2,\ |
89 | [edx + IPv6_header.SourceAddress + 4]:2,[edx + IPv6_header.SourceAddress + 5]:2,\ |
90 | [edx + IPv6_header.SourceAddress + 6]:2,[edx + IPv6_header.SourceAddress + 7]:2,\ |
90 | [edx + IPv6_header.SourceAddress + 6]:2,[edx + IPv6_header.SourceAddress + 7]:2,\ |
Line 144... | Line 144... | ||
144 | ; je ICMP6_input |
144 | ; je ICMP6_input |
Line 145... | Line 145... | ||
145 | 145 | ||
Line 146... | Line 146... | ||
146 | DEBUGF 2,"IPv6_input - unknown protocol: %u\n", al |
146 | DEBUGF 2,"IPv6_input - unknown protocol: %u\n", al |
147 | 147 | ||
148 | .dump: |
148 | .dump: |
149 | DEBUGF 2,"IPv6_input - dumping\n" |
149 | DEBUGF 1,"IPv6_input - dumping\n" |
Line 150... | Line 150... | ||
150 | call kernel_free |
150 | call kernel_free |
Line 164... | Line 164... | ||
164 | 164 | ||
165 | ;------------------------- |
165 | ;------------------------- |
Line 166... | Line 166... | ||
166 | ; Hop-by-Hop |
166 | ; Hop-by-Hop |
167 | 167 | ||
168 | .hop_by_hop: |
168 | .hop_by_hop: |
169 | DEBUGF 2,"IPv6_input - hop by hop\n" |
169 | DEBUGF 1,"IPv6_input - hop by hop\n" |
170 | pushw [esi] ; 8 bit identifier for option type |
170 | pushw [esi] ; 8 bit identifier for option type |
171 | movzx eax, byte[esi + 1] ; Hdr Ext Len |
171 | movzx eax, byte[esi + 1] ; Hdr Ext Len |
172 | inc eax ; first 8 octets not counted |
172 | inc eax ; first 8 octets not counted |
Line 193... | Line 193... | ||
193 | test al, 0xc0 ; discard packet |
193 | test al, 0xc0 ; discard packet |
194 | jnz .dump_options |
194 | jnz .dump_options |
Line 195... | Line 195... | ||
195 | 195 | ||
196 | .pad_n: |
196 | .pad_n: |
197 | movzx eax, byte[esi + 1] |
197 | movzx eax, byte[esi + 1] |
198 | DEBUGF 2,"IPv6_input - pad %u\n", eax |
198 | DEBUGF 1,"IPv6_input - pad %u\n", eax |
199 | inc esi |
199 | inc esi |
200 | inc esi |
200 | inc esi |
201 | add esi, eax |
201 | add esi, eax |
202 | sub ecx, eax |
202 | sub ecx, eax |
Line 203... | Line 203... | ||
203 | jmp .hop_by_hop |
203 | jmp .hop_by_hop |
204 | 204 | ||
205 | .pad_1: |
205 | .pad_1: |
206 | DEBUGF 2,"IPv6_input - pad 1\n" |
206 | DEBUGF 1,"IPv6_input - pad 1\n" |
207 | inc esi |
207 | inc esi |
Line 208... | Line 208... | ||
208 | dec ecx |
208 | dec ecx |
209 | jmp .hop_by_hop |
209 | jmp .hop_by_hop |
210 | 210 | ||
Line 211... | Line 211... | ||
211 | 211 | ||
212 | 212 | ||
213 | .dest_opts: |
213 | .dest_opts: |
214 | DEBUGF 2,"IPv6_input - dest opts\n" |
214 | DEBUGF 1,"IPv6_input - dest opts\n" |
215 | jmp .nextheader |
215 | jmp .nextheader |
216 | 216 | ||
217 | .routing: |
217 | .routing: |
Line 236... | Line 236... | ||
236 | mov al, [esi] ; routing type |
236 | mov al, [esi] ; routing type |
Line 237... | Line 237... | ||
237 | 237 | ||
Line 238... | Line 238... | ||
238 | jmp .nextheader |
238 | jmp .nextheader |
239 | 239 | ||
Line 240... | Line 240... | ||
240 | .fragment: |
240 | .fragment: |