Hi Samer,
Thank you for capturing this issue. We agree that trying to locate IPsec
protocol on every packet is not good for performance. Though we don't quite
agree with the fix, since it removes the capability to support the case that
IPsec is deployed after IP driver is started. As IPsec and IP driver are
UEFI_DRIVER, we can't guarantee that IPsec driver will be dispatched earlier
than IP driver. Take an extreme example, in an UEFI environment without network
stack built in, an administrator may load IP driver in shell, then load IPsec
driver after IP driver. In this case, IP driver may lose the capability of
enabling protected traffic.
We recommend to fix the issue by using RegisterProtocolNotify() to check when
IPsec protocol is installed.
Best Regards,
Ye Ting
From: El-Haj-Mahmoud, Samer [mailto:[email protected]]
Sent: Thursday, August 28, 2014 4:46 AM
To: [email protected]
Subject: [edk2] [PATCH] MdeModulePkg , NetworkPkg: Speed up network stack :
check for IPsec only once
Dear MdeModulePkg and NetworkPkg maintainers,
Please find the attached patch that speeds up network stack by removing
unnecessary IPSEC protocol locate in the
main IPv4 and IPv6 packet processing paths.
Do not try to locate gEfiIpSec2ProtocolGuid on every IPv4 datagram TX/RX.
The locate protocol function can be expensive (10 us on some implementations).
This change speeds up the network stack performance by as much as 20% for
large file downloads.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Samer El-Haj-Mahmoud [email protected]<mailto:[email protected]>
Samer El-Haj-Mahmoud
System Firmware Architect
HP Servers
[email protected]<mailto:[email protected]>
T +1.281.514.5973
C +1.512.659.1523
Hewlett-Packard Company
hp.com/go/proliant/uefi<http://hp.com/go/proliant/uefi>
[Description: Description: C:\Users\elhajmah\HpLogo.png]
------------------------------------------------------------------------------
Slashdot TV.
Video for Nerds. Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel