summaryrefslogtreecommitdiffstats
path: root/NetworkPkg/Ip6Dxe/Ip6Impl.h
diff options
context:
space:
mode:
authorSamer El-Haj-Mahmoud <samer.el-haj-mahmoud@hp.com>2015-08-31 07:44:12 +0000
committersfu5 <sfu5@Edk2>2015-08-31 07:44:12 +0000
commitc79de074b6a35ab514ec88bc2811845e6326fc0f (patch)
treef11ad71f58761a1d0c8d05b148c450ddb3722a9e /NetworkPkg/Ip6Dxe/Ip6Impl.h
parent34297cef1ea30f1dbe6c64e21ec1e30633a5396b (diff)
downloadedk2-c79de074b6a35ab514ec88bc2811845e6326fc0f.tar.gz
edk2-c79de074b6a35ab514ec88bc2811845e6326fc0f.tar.bz2
edk2-c79de074b6a35ab514ec88bc2811845e6326fc0f.zip
MdeModulePkg/NetworkPkg: Locate IpSec on IP packet processing only if it's installed.
Modified the logic in Ip4Dxe and Ip6Dxe to not locate EFI_IPSEC2_PROTOCOL on each message transmit/receive. Instead, register a callback in the drivers entry points on the IpSec protocol installation, and process only if the protocol is installed. This speeds up the network stacks when IpSec is not installed since there is a penalty associated with searching the entire handle database on each packet processing. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@hp.com> Reviewed-by: Fu Siyuan <siyuan.fu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18365 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'NetworkPkg/Ip6Dxe/Ip6Impl.h')
-rw-r--r--NetworkPkg/Ip6Dxe/Ip6Impl.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/NetworkPkg/Ip6Dxe/Ip6Impl.h b/NetworkPkg/Ip6Dxe/Ip6Impl.h
index 8f114bbb10..d30246b2db 100644
--- a/NetworkPkg/Ip6Dxe/Ip6Impl.h
+++ b/NetworkPkg/Ip6Dxe/Ip6Impl.h
@@ -2,6 +2,7 @@
Implementation of EFI_IP6_PROTOCOL protocol interfaces and type definitions.
Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
+ (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
@@ -89,6 +90,7 @@
#define IP6_NO_MAPPING(IpInstance) (!(IpInstance)->Interface->Configured)
extern EFI_IPSEC2_PROTOCOL *mIpSec;
+extern BOOLEAN mIpSec2Installed;
//
// IP6_TXTOKEN_WRAP wraps the upper layer's transmit token.