git-svn-id: https://spexeah.com:8443/svn/Asuro@710 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -19,6 +19,7 @@ type
|
||||
procedure register;
|
||||
function IPv4ToMAC(ip : puint8) : puint8;
|
||||
function MACToIIPv4(mac : puint8) : puint8;
|
||||
procedure sendGratuitous;
|
||||
procedure send(hType : uint16; pType : uint16; op : uint16; p_context : PPacketContext);
|
||||
|
||||
implementation
|
||||
@@ -108,6 +109,20 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure sendGratuitous;
|
||||
var
|
||||
context : PPacketContext;
|
||||
|
||||
begin
|
||||
context:= newPacketContext;
|
||||
CopyIPv4(@getIPv4Config^.Address[0], @context^.IP.Destination[0]);
|
||||
CopyIPv4(@getIPv4Config^.Address[0], @context^.IP.Source[0]);
|
||||
CopyMAC(GetMAC, @context^.MAC.Source[0]);
|
||||
CopyMAC(@BROADCAST_MAC[0], @context^.MAC.Destination[0]);
|
||||
arp.send($1, $0800, $1, context);
|
||||
freePacketContext(context);
|
||||
end;
|
||||
|
||||
procedure recv(p_data : void; p_len : uint16; p_context : PPacketContext);
|
||||
var
|
||||
Header : PARPHeader;
|
||||
@@ -135,11 +150,7 @@ begin
|
||||
|
||||
{ Process ARP Packet }
|
||||
Merge:= false;
|
||||
writeToLogLn(' L3: arp.findByIP');
|
||||
console.redrawWindows;
|
||||
CacheElement:= findCacheRecordByIP(@AHeader.Source_Protocol[0]);
|
||||
writeToLogLn(' L3: arp.findByIPDone');
|
||||
console.redrawWindows;
|
||||
if CacheElement <> nil then begin
|
||||
copyMAC(@AHeader.Source_Hardware[0], @CacheElement^.MAC[0]);
|
||||
Merge:= true;
|
||||
|
||||
@@ -114,6 +114,7 @@ begin
|
||||
Config.UP:= false;
|
||||
end;
|
||||
end;
|
||||
arp.sendGratuitous;
|
||||
context:= newPacketContext;
|
||||
CopyIPv4(@Config.Gateway[0], @context^.IP.Destination[0]);
|
||||
CopyIPv4(@Config.Address[0], @context^.IP.Source[0]);
|
||||
|
||||
@@ -9,14 +9,14 @@ const
|
||||
VERSION_SUB = '1';
|
||||
REVISION = '677';
|
||||
RELEASE = 'ia';
|
||||
LINE_COUNT = 28002;
|
||||
LINE_COUNT = 28014;
|
||||
FILE_COUNT = 90;
|
||||
DRIVER_COUNT = 32;
|
||||
FPC_VERSION = '2.6.4';
|
||||
NASM_VERSION = '2.10.09';
|
||||
MAKE_VERSION = '3.81';
|
||||
COMPILE_DATE = '10/05/18';
|
||||
COMPILE_TIME = '17:21:45';
|
||||
COMPILE_TIME = '17:56:16';
|
||||
|
||||
implementation
|
||||
|
||||
|
||||
Reference in New Issue
Block a user