Commit Graph

48 Commits

Author SHA1 Message Date
hhuan13 2e4c2a049b Improve PXE Over IPv4 performance:
1. Stop UdpWrite instance upon return from EfiPxeBcUdpWrite() to avoid mass pkgs enqueue to this useless instance in Udp layer.
2. Enhance Udp timeout logic to prevent the worst case happen, and set PxeUdp instance to 50ms to avoid enqueue mass pkgs in background.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10861 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-09 09:30:19 +00:00
qianouyang 2a2e33b20f Add a UNION definition (IP_IO_IP_PROTOOCL) for EFI_IP4/6_PROTOCOL and change IP_IO structure using this UNION to point the special IP Protocol.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10578 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-13 08:18:10 +00:00
hhtian e5eed7d364 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10418 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24 09:33:45 +00:00
geekboy15a e798cd87ca 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
2010-04-16 23:24:45 +00:00
lgao4 6bfbb5f0e0 1. Correct File header to ## @file
2. Remove unnecessary .common] postfix on section.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10052 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-24 00:21:16 +00:00
tye1 323c8a9a68 Fix a bug in Udp4IcmpHandler, it should not add special checking for Icmp message.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9801 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-25 03:11:14 +00:00
xdu2 1204fe8319 Code clean up in NetLib:
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-12-30 13:44:11 +00:00
vanjeff 47c75f64ae Refine the functions headers.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9576 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-17 08:05:03 +00:00
xdu2 766c7483c3 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
2009-11-13 06:13:59 +00:00
tye a1503a32a8 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
2009-11-11 07:06:27 +00:00
tye f6b7393ceb [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
2009-11-04 08:18:34 +00:00
tye b45b45b2d2 1. Update the UdpIo to a combined UdpIo to support both v4 and v6 stack.
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-30 05:11:38 +00:00
tye fb115c6150 NetLib:
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-10-26 10:15:40 +00:00
vanjeff aeddd42532 1. update timeout interval time from 10ms to 50ms
2. refine MnpDxe code.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9063 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-13 06:37:36 +00:00
mdkinney d8d26fb207 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
2009-07-11 22:51:51 +00:00
vanjeff 894d038a8d add security check.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8680 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-29 09:19:25 +00:00
gikidy 0254efc01e Replace references to RFC 3066 with RFC 4646.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8212 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-30 05:32:11 +00:00
lgao4 2517435c8d Clean Network Driver to include Uefi.h, not PiDxe.h.
Network driver don't depend on PI definition.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7479 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-09 02:59:07 +00:00
jgong5 3e8c18da04 code scrub fix
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7290 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-16 00:09:52 +00:00
qhuang8 f3f2e05db8 Clean up to update the reference of the these macros:
EFI_SIGNATURE_16 -> SIGNATURE_16
  EFI_SIGNATURE_32 -> SIGNATURE_32
  EFI_SIGNATURE_64 -> SIGNATURE_64
  EFI_FIELD_OFFSET -> OFFSET_OF
  EFI_MAX_BIT      -> MAX_BIT
  EFI_MAX_ADDRESS  -> MAX_ADDRESS
These macros are not defined in UEFI spec. It makes more sense to use the equivalent macros in Base.h to avoid alias.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7056 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-16 15:34:21 +00:00
jji4 d354ab7ff9 1)Global variables have been moved backward ahead of functions.
2)INF comments have been reviewed.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6839 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-04 07:12:25 +00:00
vanjeff 1987397326 Changed the POLL&TIMEOUT timer values from 50ms to 10ms.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6837 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-04 07:00:57 +00:00
gikidy cfc8865f17 Remove some useless EDK_RELEASE_VERSION, EFI_SPECIFICATION_VERSION ,and review VALID_ARCHITECTURES in inf files with DSC file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6818 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-03 09:08:05 +00:00
vanjeff 48bd50c5a1 1. Fixed issue when calculating timeout value in timeout function in MNP module.
2. Added and refine some comments.
3. Enable UefiPxeBc Module to accept all broadcast packets for UDP Read&Write interface.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6781 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-01 01:59:45 +00:00
vanjeff 0891b0a2cb Fixed one bug when calculating timeout value in timeout function for UDP protocol.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6763 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-27 09:46:01 +00:00
jgong5 ce904bae52 synced function header
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6608 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-18 13:37:36 +00:00
jgong5 bab52709d8 Scrubbed some code for Udp4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6494 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-13 08:08:44 +00:00
jji4 fe1e36e550 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
2008-10-30 06:05:06 +00:00
lgao4 e872988180 remove the unused msa files in MdeModulePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5726 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-25 05:03:29 +00:00
qhuang8 d3f1611730 Update some module INF files in MdeModulePkg to "UEFI_DRIVER"
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5676 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-18 09:18:44 +00:00
vanjeff 8792362f22 [Description]:
Problem with PXE boot to Windows Server 2008 install. The reason is that UdpRead and UdpWrite interfaces cannot work well with the same UDP instance.
[Solution]
 Use separate instances for UDP Read and UDP write in UefiPxeBC module.
[Impaction]:
 UefiPxeBcDxe and Udp4Dxe module.
[Reference Info]:
 EDK tracker 1133 - Problem with PXE boot to Windows Server 2008 install. 



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5303 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-27 03:34:39 +00:00
jljusten eaf343fff2 edk2/MdeModulePkg/Universal/Network/Tcp4Dxe/Socket.h:
edk2/MdeModulePkg/Universal/Network/Tcp4Dxe/Udp4Impl.h:
  Fix filename case(sensitivity) issues.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4829 6f19259b-4bc3-4df7-8a09-765794883524
2008-03-11 17:48:25 +00:00
vanjeff e48e37fce2 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
2008-02-14 09:40:22 +00:00
vanjeff c4a62a12c2 Sync the latest version from R8.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4400 6f19259b-4bc3-4df7-8a09-765794883524
2007-12-18 07:01:23 +00:00
vanjeff 36ee91ca36 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
2007-11-20 05:42:23 +00:00
qhuang8 d1aeb0bdc3 Add compiler hint of "GLOBAL_REMOVE_IF_UNREFERENCED" to prevent static unicode string table linked into final image if both PcdComponentNameDisabled and PcdComponentName2Disabled are set to TRUE.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4084 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-11 03:36:31 +00:00
qhuang8 1307dcd745 Add compiler hint of "GLOBAL_REMOVE_IF_UNREFERENCED" to prevent component name structures linked into final image if PcdComponentNameDisabled or PcdComponentName2Disabled is set to TRUE.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4057 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-09 07:08:08 +00:00
qhuang8 83cbd279b6 Update to support to produce Component Name and & Component Name 2 protocol based on Feature flag PcdComponentNameDisable & PcdComponentName2Disable.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4006 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-30 03:08:02 +00:00
qhuang8 da1d02010d Clear up network stack to use R9 MdeLib:
1.Use driver model APIs in UefiLib
2.Register Unload Image in INF/MSA to be included in autogen code.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3962 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-28 06:02:01 +00:00
vanjeff 73c7e13392 Sync BASE_NAME of Upd4Dxe to Udp4Dxe.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3959 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-28 02:38:36 +00:00
vanjeff e5e12de7d0 1. Sync the latest network stack. Add NetLibCreateIPv4DPathNode () in netlib library.
2. Fixed one porting bug in Udp4Impl.c

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3717 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-27 09:17:26 +00:00
qwang12 84b5c78e89 Make MdeModulePkg GCC clean.
It also pass ICC+IPF and MYTOOLS+EBC build.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3711 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-27 03:33:51 +00:00
vanjeff 687a2e5f69 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
2007-08-23 02:19:41 +00:00
vanjeff 772db4bb33 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
2007-07-30 02:37:10 +00:00
qhuang8 3f187a734e Fix the wrong copyright statements.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3454 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-26 08:29:27 +00:00
vanjeff 4eb65aff71 Fixed EBC build issues.
Fixed ICC build issues.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3431 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-25 05:32:10 +00:00
yshang1 6cbcf597c6 Remove unused section in .INF, .DEC, .DSC of MdePkg and MdeModulePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3428 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-25 03:13:13 +00:00
vanjeff 8a67d61da4 Import SnpDxe, Tcp4Dxe, Udp4Dxe and MnpDxe.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3416 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-24 08:06:37 +00:00