History log of /device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c79de074b6a35ab514ec88bc2811845e6326fc0f 31-Aug-2015 Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@hp.com> MdeModulePkg/NetworkPkg: Locate IpSec on IP packet processing only if it's installed.

Modified the logic in Ip4Dxe and Ip6Dxe to not locate EFI_IPSEC2_PROTOCOL on each
message transmit/receive. Instead, register a callback in the drivers entry points
on the IpSec protocol installation, and process only if the protocol is installed.
This speeds up the network stacks when IpSec is not installed since there is a
penalty associated with searching the entire handle database on each packet processing.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@hp.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18365 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
cc0b145e0f828a26715d4b483abee9b0a56ad6f7 10-Apr-2014 Fu Siyuan <siyuan.fu@intel.com> Fix a bug in IP driver that the fragment overlap check may be skipped incorrectly.
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye, Ting <ting.ye@intel.com>
Reviewed-by: Jin, Eric <eric.jin@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15443 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
216f79703b8cb8dc65abdd768bedb2bcdbc1a1f8 13-Dec-2012 sfu5 <sfu5@6f19259b-4bc3-4df7-8a09-765794883524> 1. Add EFI_COMPONENT_NAME2_PROTOCOL.GetControllerName() support.
2. Fix the driver binding Stop() hang issue in the network stack.
3. Add Ip4 raw data support.
4. Add iSCSI Dhcp option 60 support.

Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Ouyang Qian <qian.ouyang@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13995 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
a56b6e03e22c4023fdf5b026b0fcb096d6a0f677 01-Nov-2012 ydong10 <ydong10@6f19259b-4bc3-4df7-8a09-765794883524> Add more check to make code more safely.

Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Ouyang Qian <ouyang.qian@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13903 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
75dce340624dba5e4a79b2e5b2dbe943bae0d0e9 17-Oct-2012 sfu5 <sfu5@6f19259b-4bc3-4df7-8a09-765794883524> 1. Fix a bug in PXE driver that the PXE boot do not restart if a new boot option on the different IP stack is selected.
2. Retrieve the IP information after iSCSI TCPv6 connection established and fill it into iBFT table.
3. Generate a random IAID for each NIC port to require different IPv6 address in PXE driver.
4. Update function EfiMtftp6Configure() and Mtftp6RrqHandleOack() to allocate at most one UdpIo.
5. Fix a typo from “destory” to “destroy” in network code.

Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Ouyang Qian <qian.ouyang@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13859 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
04eb20aa85f658b86dd8b6b4fc261d2c9ff2e6a3 29-Sep-2011 ydong10 <ydong10@6f19259b-4bc3-4df7-8a09-765794883524> Add pointer check for NULL before dereference it.

Signed-off-by: ydong10
Reviewed-by: rsun3, lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12472 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
94b928ca595def75b918daacdefb70832b28882d 14-Jun-2011 qianouyang <qianouyang@6f19259b-4bc3-4df7-8a09-765794883524> 1. In IPv4 and IPv6 driver, before calling IPsec, a new NET_FRAGMENT structure is allocated and then passed to IPsec, it should be released after it is done to avoid the memory leak.
2. In IPsec driver it wrongly use the HeadLen to calculate the IP header length after the IPsec process. Correct this mistake.

Signed-off-by: qianouyang
Reviewed-by: jjin9
Reviewed-by: ZhangCaoIntel

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11824 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
0a7294f7a158eb10cad794a296834e14b9d3a655 20-Apr-2011 qianouyang <qianouyang@6f19259b-4bc3-4df7-8a09-765794883524> Update the relevant drivers to use the correct GUID for EFI_IPSEC2_PROTOCOL.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11576 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
da7ff6981db54b2719bae3b7c41f3181fa820669 20-Oct-2010 qianouyang <qianouyang@6f19259b-4bc3-4df7-8a09-765794883524> Fix build issue in IPv4.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10964 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
fbe12b79aef4c2706e90078cc75b94dcf7926ba8 18-Oct-2010 ydong10 <ydong10@6f19259b-4bc3-4df7-8a09-765794883524> Refine code to make code run more safely.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10955 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
abd0c26488ba0fcb952b6d7ad366049958c8c9ed 15-Oct-2010 andrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524> Fix minor gcc build break.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10943 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
705f53a9b49e7ee3d1ca4bcc7133534ed64590dc 15-Oct-2010 qianouyang <qianouyang@6f19259b-4bc3-4df7-8a09-765794883524> Update IPsec.h file to follow approved ECR which will be collected into future UEFI 2.3 Specification after 2.3 errata B and future UEFI Specifications after 2.3. The changes mainly include:
1. Add EFI_IPSEC2_PROTOCOL
2. Remove IPsec Authentication Algorithm Definition and IPsec Encryption Algorithm
Definition.
3. Add EFI_IPSEC_SA_DATA2 data structure.
And also update IPv4 driver to call EFI_IPSEC2_PROTOCOL.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10941 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
9e375eb11f5ad03f8d13357be232077879971cab 20-Aug-2010 hhuan13 <hhuan13@6f19259b-4bc3-4df7-8a09-765794883524> Fixed Ip4 bug that causing Iscsi reconnect hang sporadically . In Ip4OutPut()->Ip4IpSecProcessPacket() line 511, each time "reconnect -r", IpSb is re-allocated in IpDriver.Start(). But only when the first time, IpSb->OldMaxPacketSize = IpSb->MaxPacketSize; For the sequential reconnect, IpSb->OldMaxPacketSize is left dirty. Somtimes it is 0, causing the next sending packages generate exception.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10810 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
a167ecb13fc20bf4a2a45ef9aeda976e0498bf61 21-May-2010 qianouyang <qianouyang@6f19259b-4bc3-4df7-8a09-765794883524> Fixed the issue of that IP4driver can’t correctly reassemble the Out of Sequence Fragments.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10537 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
e5eed7d3641d71d7ea539e5379ea9c6a5cd97004 24-Apr-2010 hhtian <hhtian@6f19259b-4bc3-4df7-8a09-765794883524> Update the copyright notice format

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10418 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
e798cd87ca9a3a30c4cea50c5f5de84e10a8bc5a 17-Apr-2010 geekboy15a <geekboy15a@6f19259b-4bc3-4df7-8a09-765794883524> Fixed GCC 4.4 build issues due to EFIAPI not being used when required.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10379 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
9899d8b6ba65b4a0a1ae30acdb34fa24be55f2d2 25-Jan-2010 tye1 <tye1@6f19259b-4bc3-4df7-8a09-765794883524> Fixed a bug in Ip4HandleIcmpError, it should pass over the whole ICMP error message if user wants.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9800 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
766c7483c335931b190a78d78d62e5a5e69dc8b9 13-Nov-2009 xdu2 <xdu2@6f19259b-4bc3-4df7-8a09-765794883524> Update network drivers to use FreePool() instead of gBS->FreePool().

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9424 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
a1503a32a887c0b9a735613a7caf5d1493affd01 11-Nov-2009 tye <tye@6f19259b-4bc3-4df7-8a09-765794883524> 1. Add Link MTU support to IP4 and TCP4 driver.
2. Integrate IPsec functionality to IP4 driver.
3. Move IP_VERSION_4/IP_VERSION_6 definition from IpIoLib to NetLib.
4. Move the Ip6/Udp6 protocol declaration from driver INF to Library INF (DxeIpIoLib and DxeUdpIoLib) for better readability.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9413 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
f6b7393ceb34c9b3a27434268bf2ce517047641f 04-Nov-2009 tye <tye@6f19259b-4bc3-4df7-8a09-765794883524> [Change summary]:
1. Update NetLib to a combined NetLib support dual network stack:
1) Add Network Debug facility for IPv4 stack.
2) Extend the library APIs to support IPv6 stack:
a. NetIp6IsUnspecifiedAddr
b. NetIp6IsLinkLocalAddr
c. NetIp6IsNetEqual
d. NetLibCreateIPv6DPathNode.
e. NetIp6PseudoHeadChecksum
f. NetIp6IsValidUnicast
3) Update the structure definitions:
a. Update NET_BUF to add EFI_IP6_HEADER and EFI_UDP_HEADER
b. Add NET_IP6_PSEUDO_HDR
4) Update Ip4IsUnicast to NetIp4IsUnicast

2. Update the impacted modules to adopt the combined NetLib.

3. Clean up coding style errors in all network drivers and libraries.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9391 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
d8d26fb207e02aa5ef57e2bcb213f9dda16166cc 12-Jul-2009 mdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524> Retire NetLibQueueDpc() and NetLibDispatchDpc() and use QueueDpc() and DispatchDpc() from the DpcLib instead.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8897 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
894d038a8d0e99d456042e2b6d1554c4a406ea70 29-Jun-2009 vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> add security check.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8680 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
b2c0a17556ce881deb595e1765c106bd6b0f9761 06-Feb-2009 jgong5 <jgong5@6f19259b-4bc3-4df7-8a09-765794883524> Pass ECC

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7460 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
3e8c18da0441069591e5aa218f378001b29512dd 16-Jan-2009 jgong5 <jgong5@6f19259b-4bc3-4df7-8a09-765794883524> code scrub fix

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7290 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
96e1079fa412753e42edf293ce28adda88e68a45 11-Nov-2008 jgong5 <jgong5@6f19259b-4bc3-4df7-8a09-765794883524> Scrubbed more.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6454 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
fe1e36e550c6ffcd2561903d434683d3939e1942 30-Oct-2008 jji4 <jji4@6f19259b-4bc3-4df7-8a09-765794883524> Patch to remove STATIC modifier. This is on longer recommended by EFI Framework coding style. All duplicated symbols has been renamed accordingly.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6296 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
e48e37fce2611df7a52aff271835ff72ee396d9b 14-Feb-2008 vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> Use Mde library and definition instead of some native definitions in NetLib, to simply network library.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4693 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
c4a62a12c2890297cfcb9828b51b058fb347c01a 18-Dec-2007 vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> Sync the latest version from R8.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4400 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
36ee91ca3661d3d020a7841aacbf858d885c4728 20-Nov-2007 vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> 1. Add DPC protocol and DpcLib library in MdeModulePkg.
2. Add DpcDxe module and DxeDpcLib module in MdeModulePkg
3. Port network stack module to use DPC.
4. Use MIN, and MAX defined in MdePkg to replace NET_MIN and NET_MAX.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4307 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
687a2e5f6902fa26c7a1d7a7705e0747c4095125 23-Aug-2007 vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> 1. Enable Network stack to pass SCT, currently MNP, ARP, IP4, TCP4 and DHCP4 have passed SCT.
2. Enable Network stack to pass ICC build.
3. Sync Network library instances' module names with their filenames.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3692 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
772db4bb33ae66fa20e39f786b5f80d107d450a5 30-Jul-2007 vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> Import ArpDxe, Dhcp4Dxe, Ip4Dxe, Mtftp4Dxe, PxeBcDxe and PxeDhcp4Dxe.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3492 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c