enhanced UefiPxeBcDxe to support

1. AutoArp. 2. SendGuid. 3 TftpError. 4. IcmpError. 5. RouteTable. 6. ArpCache.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4981 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
vanjeff
2008-04-02 08:45:36 +00:00
parent 4965dd562e
commit 982a9eaea2
11 changed files with 551 additions and 30 deletions

View File

@@ -1037,7 +1037,7 @@ DhcpInput (
//
if ((Head->OpCode != BOOTP_REPLY) ||
(NTOHL (Head->Xid) != DhcpSb->Xid) ||
!NET_MAC_EQUAL (&DhcpSb->Mac, Head->ClientHwAddr, DhcpSb->HwLen)) {
(CompareMem (DhcpSb->ClientAddressSendOut, Head->ClientHwAddr, Head->HwAddrLen) != 0)) {
goto RESTART;
}
@@ -1361,6 +1361,12 @@ DhcpSendMessage (
Packet = NewPacket;
}
//
// Save the Client Address will be sent out
//
CopyMem (&DhcpSb->ClientAddressSendOut[0], &Packet->Dhcp4.Header.ClientHwAddr[0], Packet->Dhcp4.Header.HwAddrLen);
//
// Wrap it into a netbuf then send it.
//
@@ -1492,7 +1498,7 @@ DhcpOnTimerTick (
DHCP_SERVICE *DhcpSb;
DHCP_PROTOCOL *Instance;
EFI_STATUS Status;
DhcpSb = (DHCP_SERVICE *) Context;
Instance = DhcpSb->ActiveChild;
@@ -1513,7 +1519,7 @@ DhcpOnTimerTick (
goto END_SESSION;
}
}
//
// Check the retransmit timer
//
@@ -1558,7 +1564,7 @@ DhcpOnTimerTick (
}
}
}
//
// If an address has been acquired, check whether need to
// refresh or whether it has expired.