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

Reply via email to