From 96702f88a3dcbeb94ec1e7abbec6c331e70f2e47 Mon Sep 17 00:00:00 2001 From: Fu Siyuan Date: Wed, 16 Sep 2015 08:52:43 +0000 Subject: NetworkPkg: TrafficDirection not saved in IPsecConfig. Fix a bug that the TrafficDirection field is not saved in IPsecConfig.SetData. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Fu Siyuan Reviewed-by: Ye Ting git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18483 6f19259b-4bc3-4df7-8a09-765794883524 --- NetworkPkg/IpSecDxe/IpSecConfigImpl.c | 14 ++++++++------ NetworkPkg/IpSecDxe/IpSecImpl.h | 1 + 2 files changed, 9 insertions(+), 6 deletions(-) (limited to 'NetworkPkg/IpSecDxe') diff --git a/NetworkPkg/IpSecDxe/IpSecConfigImpl.c b/NetworkPkg/IpSecDxe/IpSecConfigImpl.c index bd49245190..6aa47aabab 100644 --- a/NetworkPkg/IpSecDxe/IpSecConfigImpl.c +++ b/NetworkPkg/IpSecDxe/IpSecConfigImpl.c @@ -1167,9 +1167,10 @@ SetSpdEntry ( SpdData->Name, sizeof (SpdData->Name) ); - SpdEntry->Data->PackageFlag = SpdData->PackageFlag; - SpdEntry->Data->Action = SpdData->Action; - + SpdEntry->Data->PackageFlag = SpdData->PackageFlag; + SpdEntry->Data->TrafficDirection = SpdData->TrafficDirection; + SpdEntry->Data->Action = SpdData->Action; + // // Fix the address of ProcessingPolicy and copy it if need, which is continous // memory and close to the base structure of SAD data. @@ -1690,9 +1691,10 @@ GetSpdEntry ( // CopyMem (SpdData->Name, SpdEntry->Data->Name, sizeof (SpdData->Name)); - SpdData->PackageFlag = SpdEntry->Data->PackageFlag; - SpdData->Action = SpdEntry->Data->Action; - + SpdData->PackageFlag = SpdEntry->Data->PackageFlag; + SpdData->TrafficDirection = SpdEntry->Data->TrafficDirection; + SpdData->Action = SpdEntry->Data->Action; + if (SpdData->Action != EfiIPsecActionProtect) { SpdData->ProcessingPolicy = NULL; } else { diff --git a/NetworkPkg/IpSecDxe/IpSecImpl.h b/NetworkPkg/IpSecDxe/IpSecImpl.h index 8b63d24b52..89597bdc80 100644 --- a/NetworkPkg/IpSecDxe/IpSecImpl.h +++ b/NetworkPkg/IpSecDxe/IpSecImpl.h @@ -76,6 +76,7 @@ typedef struct _EFI_ESP_TAIL { struct _IPSEC_SPD_DATA { CHAR16 Name[100]; UINT32 PackageFlag; + EFI_IPSEC_TRAFFIC_DIR TrafficDirection; EFI_IPSEC_ACTION Action; EFI_IPSEC_PROCESS_POLICY *ProcessingPolicy; LIST_ENTRY Sas; -- cgit v1.2.3