X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FIPStack%2Fipv4.c;h=3162301ce9f22bec5b8b98e4931fd0135765c8e7;hb=33495f1efd207f0af4f804858f247db0983fcb8f;hp=d5c2f965b630a63f29aada1e05d6de6c69109389;hpb=da7b3d59eac9f14919af6b10298972163493a09a;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/IPStack/ipv4.c b/KernelLand/Modules/IPStack/ipv4.c index d5c2f965..3162301c 100644 --- a/KernelLand/Modules/IPStack/ipv4.c +++ b/KernelLand/Modules/IPStack/ipv4.c @@ -15,6 +15,7 @@ extern tInterface *gIP_Interfaces; extern void ICMP_Initialise(); extern int ICMP_Ping(tInterface *Interface, tIPv4 Addr); extern tMacAddr ARP_Resolve4(tInterface *Interface, tIPv4 Address); +extern void ARP_UpdateCache4(tIPv4 SWAddr, tMacAddr HWAddr); // === PROTOTYPES === int IPv4_Initialise(); @@ -185,6 +186,9 @@ void IPv4_int_GetPacket(tAdapter *Adapter, tMacAddr From, int Length, void *Buff hdr->Source.B[0], hdr->Source.B[1], hdr->Source.B[2], hdr->Source.B[3], hdr->Destination.B[0], hdr->Destination.B[1], hdr->Destination.B[2], hdr->Destination.B[3] ); + + // TODO: Tell ARP? + ARP_UpdateCache4(hdr->Source, From); // Get Data and Data Length dataLength = ntohs(hdr->TotalLength) - sizeof(tIPv4Header);