summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Input.c
AgeCommit message (Collapse)Author
2017-04-27MdeModulePkg: Move to new locationGuo Mang
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Guo Mang <mang.guo@intel.com>
2016-10-09MdeModulePkg:TcpDriver need to use EFI_D_NET for DEBUG maessage.Zhang Lubo
Tcp driver need to use EFI_D_NET to log DEBUG message, So it becomes easy to separate/filter out debug messages from network stack versus generic EFI_D_INFO debugs. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Zhang Lubo <lubo.zhang@intel.com> Cc: Hegde Nagaraj P <nagaraj-p.hegde@hpe.com> Cc: Subramanian Sriram <sriram-s@hpe.com> Cc: Fu Siyuan <siyuan.fu@intel.com> Cc: Ye Ting <ting.ye@intel.com> Reviewed-by: Sriram Subramanian <sriram-s@hpe.com>
2016-07-18MdeModulePkg: Fix bug in TCP which not sending out ACK in certain circumstance.Fu Siyuan
Consider the situation as shown in below chart. The last ACK message has acknowledged the Tcb->RcvWl2, and all the segments until Tcb->RcvNxt have been received by TCP driver. The Tcb->RcvNxt is not acknowledged due to the delayed ACK. In this case an incoming segment (Seg->Seq, Seg->End) should not be accepted by TCP driver, and an immediate ACK is required. Current TcpSeqAcceptable() thought it’s an acceptable segment incorrectly, it continues the TcpInput() process instead of sending out an ACK and droping the segment immediately. Tcb->RcvWl2 Tcb->RcvNxt Tcb->RcvWl2 + Tcb->RcvWnd Seg->Seq Seg->End | | | | | | | ---+-----+---------------+-------------+--------------------------+----------- <income segment> <----Acceptable Range--- --> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-By: Eugene Cohen <eugene@hp.com> Reviewed-By: Wu Jiaxin <jiaxin.wu@intel.com> Reviewed-By: Ye Ting <ting.ye@intel.com>
2016-04-01MdeModulePkg: Check received packet size before use it.Fu Siyuan
Arbitrary length of packet may be received from network, including the packets with zero payload data or malformed protocol header. So the code much check the actually received data size before using it. For example, in current edk2 network stack, an zero payload UDP packet may cause the platform ASSERT in NetbufFromExt() because of the zero fragment number. This patch update the IpIoLib and UdpIoLib to check and discard the zero payload data packet to avoid above assert. Some other network drivers are also updated to check the packet size to guarantee the minimum length of protocol header is received from upper layer driver. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Sriram Subramanian <sriram-s@hpe.com> Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com>
2015-04-17Fix some grammar and converge formatting of the two versions of TcpInput.cBALATON Zoltan
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Reviewed-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Ye Ting <ting.ye@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17186 6f19259b-4bc3-4df7-8a09-765794883524
2012-11-01Add more check to make code more safely.ydong10
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
2012-09-29MdeModulePkg:removes the unreachable ‘break’ instruction after a ↵erictian
‘return’ instruction in the switch(). Signed-off-by: Olivier Martin <olivier.martin@arm.com> Signed-off-by: Feng Tian <feng.tian@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13778 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-27The patch acknowledges the TCP zero window probe message, either the format ↵tye1
with 1 byte new data, or no new data. It also increases exponentially the interval between successive probes when performing TCP zero window probe. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10831 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24Update the copyright notice formathhtian
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10418 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-30Code clean up in NetLib:xdu2
1. Add GLOBAL_REMOVE_IF_UNREFERENCED to all globals 2. Update NTOHL and NTOHS to be BaseLib func SwapBytes32/SwapBytes16 3. Remove duplicate NET_SWAP_SHORT (to use NTOHS instead) git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9648 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-301. Update the UdpIo to a combined UdpIo to support both v4 and v6 stack.tye
2. Update Dhcp4 and Mtftp4 driver to adopt the combined UdpIo. 3. Clean up coding style problems in combined IpIoLib/NetLib. Update Tcp4 and Udp4 to adopt the changes. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9382 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-26NetLib:tye
1. Add new interface Ip6IsValidUnicast 2. Add new enum IP6_EXTENSION_HEADER_TYPE 3. Add new structure IP6_ICMP_* definitions 4. Update structure from EFI_UDP4_HEADER to EFI_UDP_HEADER 5. Add new macro EFI_IP6_EQUAL IpIoLib: 1. Update the IpIoLib to a combined library for both v4 and v6 network stack 2. Fix a bug in IpIoIcmpHandler() - for IPv6 packet, the header length is variable (basic header + extension) rathar than fixed length. The fix removes the IPv6 header fields and notify the user with the ICMPv6 packet only containing payload. TcpDxe/UdpDxe: 1. Update to adapt the new combined IpIoLib 2. Add gEfiIp6ProtocolGuid/gEfiIp6ServiceBindingProtocolGuid to [Protocols] in INF file since the Ip6.h is included in IpIoLib and NetLib. 3. Pass the TCP4/UDP4 UEFI SCT test on NT32 platform. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9374 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-25Fixing coding style issue.niry
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7945 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-29Fix the IN OUT modifier for parameters.niry
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7147 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-26Remove a goto statement.niry
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7131 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-24Fixing function headers.niry
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7114 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-17MdeModulePkg/Universal/Network/IScsiDxe/IScsiImpl.h:jljusten
* Fix #include filename case for building under Linux MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Misc.c: MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Input.c: * Fix warning of 'unhandled' cases in switch statement generated by GCC. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7071 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-16Fix several syntax issue to pass build.qhuang8
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7047 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-16Add comments for functions.niry
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7039 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-05Add comments for functions and fix some coding style issue.niry
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6885 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-28Fix coding style issues for Tcp4Dxe driver.niry
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6774 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-30Patch to remove STATIC modifier. This is on longer recommended by EFI ↵jji4
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
2008-10-27Make use of correct format String:qwang12
1) UINT64 should use %lx 2) POINTER type should use %p 3) EFI_STATUS should use %r git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6253 6f19259b-4bc3-4df7-8a09-765794883524
2008-02-14Use Mde library and definition instead of some native definitions in NetLib, ↵vanjeff
to simply network library. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4693 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-201. Add DPC protocol and DpcLib library in MdeModulePkg.vanjeff
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
2007-07-24Import SnpDxe, Tcp4Dxe, Udp4Dxe and MnpDxe.vanjeff
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3416 6f19259b-4bc3-4df7-8a09-765794883524