On 09/20/18 07:54, Wu, Jiaxin wrote: > Hi Laszlo, > > I agree there is no document to describe the detailed difference > against the overlapped network drivers the between NetworkPkg and > MdeModulePkg (except IPv4/IPv6 support ). We only declared that those > drivers should not be used at the same > (https://github.com/tianocore/tianocore.github.io/wiki/NetworkPkg-Getting-Started-Guide). > > Actually, the problem you mentioned here only exists in ISCSI/TCP/PXE > drivers - Tcp4Dxe VS TcpDxe, IScsiDxe VS IScsiDxe, UefiPxeBcDxe VS > UefiPxeBcDxe. So, as you said, it's the time for us to add some > declaration somewhere (inf or wiki) -- For those three drivers in > MdeModulePkg, they will remain unchanged until there is any specific > requirement that we need fix any issue. That will greatly reduce the > effort to maintain/test those combine of two drivers. So, we don't > recommend to use those three drivers in MdeModulePkg because they > might some issues, which has been fixed in the NetworkPkg drivers. If > you agree, we will add some statement in the corresponding *.inf > files.
In OVMF, we now have: > !if $(NETWORK_IP6_ENABLE) == TRUE > NetworkPkg/Ip6Dxe/Ip6Dxe.inf > NetworkPkg/TcpDxe/TcpDxe.inf > NetworkPkg/Udp6Dxe/Udp6Dxe.inf > NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf > NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf > NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf > NetworkPkg/IScsiDxe/IScsiDxe.inf > !else > MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf > MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf > MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf > !endif My understanding has been that the three drivers from MdeModulePkg/Universal/Network/, namely Tcp4Dxe, UefiPxeBcDxe, IScsiDxe, only lack features (mainly IPv6, but perhaps some more). However, your email suggests that the three drivers in question could even miss fixes to known bugs. If that's the case, should we consider the three drivers under "MdeModulePkg/Universal/Network/" deprecated, and should we abandon them completely? If that's the case, then it is really important to document. Because, if a user reports a networking-related error (after building OVMF without NETWORK_IP6_ENABLE), then I wouldn't like to start investigating, just to find out that the issue was fixed in NetworkPkg a year earlier. Furthermore, if the MdeModulePkg/Universal/Network/ drivers are deprecated, when do we intend to actually remove them from the tree? Oh, wait, is this related to OpenSSL? When including IScsiDxe from NetworkPkg, OpenSSL is required. When including IScsiDxe from MdeModulePkg, OpenSSL is not required -- but the networking functionality may have some known bugs (which are already fixed in NetworkPkg). Is this the real trade-off? Thanks Laszlo _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

