\r
#include "Ip4Impl.h"\r
\r
+EFI_IPSEC_PROTOCOL *mIpSec = NULL;\r
+\r
/**\r
Gets the current operational settings for this instance of the EFI IPv4 Protocol driver.\r
\r
Ip4ModeData->RouteTable = NULL;\r
Ip4ModeData->RouteCount = 0;\r
\r
+ Ip4ModeData->MaxPacketSize = IpSb->MaxPacketSize;\r
+\r
//\r
// return the current station address for this IP child. So,\r
// the user can get the default address through this. Some\r
\r
Wrap = (IP4_TXTOKEN_WRAP *) Context;\r
\r
+ //\r
+ // Signal IpSecRecycleEvent to inform IPsec free the memory\r
+ //\r
+ if (Wrap->IpSecRecycleSignal != NULL) {\r
+ gBS->SignalEvent (Wrap->IpSecRecycleSignal);\r
+ }\r
+\r
//\r
// Find the token in the instance's map. EfiIp4Transmit put the\r
// token to the map. If that failed, NetMapFindKey will return NULL.\r
}\r
\r
Head.Fragment = IP4_HEAD_FRAGMENT_FIELD (DontFragment, FALSE, 0);\r
- HeadLen = sizeof (IP4_HEAD) + ((TxData->OptionsLength + 3) &~0x03);\r
+ HeadLen = (TxData->OptionsLength + 3) & (~0x03);\r
\r
//\r
// If don't fragment and fragment needed, return error\r
//\r
- if (DontFragment && (TxData->TotalDataLength + HeadLen > IpSb->SnpMode.MaxPacketSize)) {\r
+ if (DontFragment && (TxData->TotalDataLength + HeadLen > IpSb->MaxPacketSize)) {\r
Status = EFI_BAD_BUFFER_SIZE;\r
goto ON_EXIT;\r
}\r