From c720da286687aed978d9a20bcdd6d303bade9ddc Mon Sep 17 00:00:00 2001 From: Zhang Lubo Date: Fri, 8 Apr 2016 09:44:09 +0800 Subject: [PATCH] NetworkPkg: Add new macros and refine codes v2: *refine some codes Add 2 macros in NetLib.h #define IP4_MASK_MAX 32 #define IP6_PREFIX_MAX 128 we will use these two macros to check the max mask/prefix length, instead of #define IP4_MASK_NUM 33 #define IP6_PREFIX_NUM 129 which means a valid number This will make the code readability and maintainability. Cc: Subramanian Sriram Cc: Fu Siyuan Cc: Ye Ting Cc: Wu Jiaxin Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Zhang Lubo Reviewed-by: Sriram Subramanian --- NetworkPkg/Ip6Dxe/Ip6Common.c | 6 +++--- NetworkPkg/Ip6Dxe/Ip6Icmp.c | 6 +++--- NetworkPkg/Ip6Dxe/Ip6Impl.c | 4 ++-- NetworkPkg/Ip6Dxe/Ip6Nd.c | 4 ++-- NetworkPkg/Ip6Dxe/Ip6Route.c | 10 +++++----- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/NetworkPkg/Ip6Dxe/Ip6Common.c b/NetworkPkg/Ip6Dxe/Ip6Common.c index 4f71d052bf..7007301f81 100644 --- a/NetworkPkg/Ip6Dxe/Ip6Common.c +++ b/NetworkPkg/Ip6Dxe/Ip6Common.c @@ -1,7 +1,7 @@ /** @file The implementation of common functions shared by IP6 driver. - Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -428,7 +428,7 @@ Ip6RemoveAddr ( IP6_ADDRESS_INFO *AddrInfo; EFI_IPv6_ADDRESS SnMCastAddr; - if (IsListEmpty (AddressList) || *AddressCount < 1 || PrefixLength > IP6_PREFIX_NUM) { + if (IsListEmpty (AddressList) || *AddressCount < 1 || PrefixLength > IP6_PREFIX_MAX) { return EFI_INVALID_PARAMETER; } @@ -606,7 +606,7 @@ Ip6CopyAddressByPrefix ( UINT8 Mask; ASSERT (Dest != NULL && Src != NULL); - ASSERT (PrefixLength < IP6_PREFIX_NUM); + ASSERT (PrefixLength <= IP6_PREFIX_MAX); Byte = (UINT8) (PrefixLength / 8); Bit = (UINT8) (PrefixLength % 8); diff --git a/NetworkPkg/Ip6Dxe/Ip6Icmp.c b/NetworkPkg/Ip6Dxe/Ip6Icmp.c index f6a9bb406f..1828d51a7d 100644 --- a/NetworkPkg/Ip6Dxe/Ip6Icmp.c +++ b/NetworkPkg/Ip6Dxe/Ip6Icmp.c @@ -1,7 +1,7 @@ /** @file The ICMPv6 handle routines to process the ICMPv6 control messages. - Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
(C) Copyright 2016 Hewlett Packard Enterprise Development LP
This program and the accompanying materials @@ -473,14 +473,14 @@ Ip6GetPrefix ( UINT8 Mask; UINT8 Value; - ASSERT ((Prefix != NULL) && (PrefixLength < IP6_PREFIX_NUM)); + ASSERT ((Prefix != NULL) && (PrefixLength < IP6_PREFIX_MAX)); if (PrefixLength == 0) { ZeroMem (Prefix, sizeof (EFI_IPv6_ADDRESS)); return ; } - if (PrefixLength >= IP6_PREFIX_NUM - 1) { + if (PrefixLength >= IP6_PREFIX_MAX) { return ; } diff --git a/NetworkPkg/Ip6Dxe/Ip6Impl.c b/NetworkPkg/Ip6Dxe/Ip6Impl.c index b186c0af20..c937423428 100644 --- a/NetworkPkg/Ip6Dxe/Ip6Impl.c +++ b/NetworkPkg/Ip6Dxe/Ip6Impl.c @@ -2,7 +2,7 @@ Implementation of EFI_IP6_PROTOCOL protocol interfaces. (C) Copyright 2014 Hewlett-Packard Development Company, L.P.
- Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -842,7 +842,7 @@ EfiIp6Routes ( EFI_TPL OldTpl; IP6_SERVICE *IpSb; - if ((This == NULL) || (PrefixLength >= IP6_PREFIX_NUM)) { + if ((This == NULL) || (PrefixLength > IP6_PREFIX_MAX)) { return EFI_INVALID_PARAMETER; } diff --git a/NetworkPkg/Ip6Dxe/Ip6Nd.c b/NetworkPkg/Ip6Dxe/Ip6Nd.c index 2c8be42f09..be3dd911b6 100644 --- a/NetworkPkg/Ip6Dxe/Ip6Nd.c +++ b/NetworkPkg/Ip6Dxe/Ip6Nd.c @@ -1,7 +1,7 @@ /** @file Implementation of Neighbor Discovery support routines. - Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -198,7 +198,7 @@ Ip6CreatePrefixListEntry ( LIST_ENTRY *Entry; IP6_PREFIX_LIST_ENTRY *TmpPrefixEntry; - if (Prefix == NULL || PreferredLifetime > ValidLifetime || PrefixLength >= IP6_PREFIX_NUM) { + if (Prefix == NULL || PreferredLifetime > ValidLifetime || PrefixLength > IP6_PREFIX_MAX) { return NULL; } diff --git a/NetworkPkg/Ip6Dxe/Ip6Route.c b/NetworkPkg/Ip6Dxe/Ip6Route.c index bba365c152..3e47fa4cc6 100644 --- a/NetworkPkg/Ip6Dxe/Ip6Route.c +++ b/NetworkPkg/Ip6Dxe/Ip6Route.c @@ -1,7 +1,7 @@ /** @file The functions and routines to handle the route caches and route table. - Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -135,7 +135,7 @@ Ip6FindRouteEntry ( RtEntry = NULL; - for (Index = IP6_PREFIX_NUM - 1; Index >= 0; Index--) { + for (Index = IP6_PREFIX_MAX; Index >= 0; Index--) { NET_LIST_FOR_EACH (Entry, &RtTable->RouteArea[Index]) { RtEntry = NET_LIST_USER_STRUCT (Entry, IP6_ROUTE_ENTRY, Link); @@ -300,7 +300,7 @@ Ip6BuildEfiRouteTable ( // Count = 0; - for (Index = IP6_PREFIX_NUM - 1; Index >= 0; Index--) { + for (Index = IP6_PREFIX_MAX; Index >= 0; Index--) { NET_LIST_FOR_EACH (Entry, &(RouteTable->RouteArea[Index])) { RtEntry = NET_LIST_USER_STRUCT (Entry, IP6_ROUTE_ENTRY, Link); @@ -346,7 +346,7 @@ Ip6CreateRouteTable ( RtTable->RefCnt = 1; RtTable->TotalNum = 0; - for (Index = 0; Index < IP6_PREFIX_NUM; Index++) { + for (Index = 0; Index <= IP6_PREFIX_MAX; Index++) { InitializeListHead (&RtTable->RouteArea[Index]); } @@ -385,7 +385,7 @@ Ip6CleanRouteTable ( // // Free all the route table entry and its route cache. // - for (Index = 0; Index < IP6_PREFIX_NUM; Index++) { + for (Index = 0; Index <= IP6_PREFIX_MAX; Index++) { NET_LIST_FOR_EACH_SAFE (Entry, Next, &RtTable->RouteArea[Index]) { RtEntry = NET_LIST_USER_STRUCT (Entry, IP6_ROUTE_ENTRY, Link); RemoveEntryList (Entry);