64,6 → 64,7 |
|
ARP_PACKETS_TX rd MAX_NET_DEVICES |
ARP_PACKETS_RX rd MAX_NET_DEVICES |
ARP_CONFLICTS rd MAX_NET_DEVICES |
|
|
endg |
83,7 → 84,7 |
mov [NumARP], eax |
|
mov edi, ARP_PACKETS_TX |
mov ecx, 2*MAX_NET_DEVICES |
mov ecx, 3*MAX_NET_DEVICES |
rep stosd |
|
} |
282,6 → 283,7 |
ret |
|
.collision: |
inc [ARP_CONFLICTS + 4*edi] |
DEBUGF 1,"ARP_input: IP address conflict detected!\n" |
|
.exit: |
566,6 → 568,8 |
dd .read ; 3 |
dd .write ; 4 |
dd .remove ; 5 |
dd .send_announce ; 6 |
dd .conflicts ; 7 |
.number = ($ - .table) / 4 - 1 |
|
.error: |
580,6 → 584,10 |
mov eax, [ARP_PACKETS_RX + eax] |
ret |
|
.conflicts: |
mov eax, [ARP_CONFLICTS + eax] |
ret |
|
.entries: |
mov eax, [NumARP] |
ret |
612,3 → 620,9 |
call ARP_del_entry |
ret |
|
.send_announce: |
mov edi, eax |
mov eax, [IP_LIST + eax] |
call ARP_output_request ; now send a gratuitous ARP |
ret |
|