CN113839883B - 一种端口聚合组的配置方法 - Google Patents

一种端口聚合组的配置方法 Download PDF

Info

Publication number
CN113839883B
CN113839883B CN202111165507.9A CN202111165507A CN113839883B CN 113839883 B CN113839883 B CN 113839883B CN 202111165507 A CN202111165507 A CN 202111165507A CN 113839883 B CN113839883 B CN 113839883B
Authority
CN
China
Prior art keywords
algorithm
aggregation group
target
engine
flow distribution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111165507.9A
Other languages
English (en)
Other versions
CN113839883A (zh
Inventor
郭世豪
秦永刚
赵旭东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN202111165507.9A priority Critical patent/CN113839883B/zh
Publication of CN113839883A publication Critical patent/CN113839883A/zh
Application granted granted Critical
Publication of CN113839883B publication Critical patent/CN113839883B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

一种端口聚合组的配置方法、装置和计算机设备,其特征在于,应用于交换设备,所述方法包括:接收针对目标端口聚合组的流量分配算法配置指令,所述流量分配算法配置指令包括待配置的目标流量分配算法的算法标识;响应于所述流量分配算法配置指令,将所述目标流量分配算法的算法标识,与各算法引擎的所述配置信息中包含的算法标识进行匹配;如果任一算法引擎的所述配置信息中包含的算法标识与所述目标流量分配算法的算法标识匹配,将所述目标端口聚合组与该目标算法引擎重新进行绑定。

Description

一种端口聚合组的配置方法
技术领域
本公开的实施方式涉及通信领域,更具体地,本公开的实施方式涉及一种端口聚合组的配置的方法。
背景技术
针对交换设备进行端口聚合,通常是指将交换设备上的多个物理端口聚合成为一个逻辑端口,使用该逻辑端口来进行收发数据,以提供更高的带宽、更大的吞吐量的技术。
为了充分的利用各个物理端口的带宽资源,当流量需要通过端口聚合组聚合后的逻辑端口转发时,需要根据流量分配算法将流量分配到各个物理端口。
交换设备的交换芯片存在多个能够运行流量分配算法运算单元,即算法引擎。因此,如何充分利用算法引擎的资源,成为本领域亟待解决的问题。
发明内容
在本公开实施方式的第一方面中,提供了一种端口聚合组的配置方法方法,应用于交换设备,所述交换设备包括至少一个端口聚合组,以及所述交换设备的交换芯片用于运行流量分配算法的至少一个算法引擎;所述流量分配算法用于将发送给与所述算法引擎绑定的端口聚合组的流量,分配至所述端口聚合组中的各成员端口;所述交换设备的交换芯片维护了所述至少一个算法引擎的配置信息;所述配置信息包含所述至少一个算法引擎运行的流量分配算法的算法标识;包括:
接收针对目标端口聚合组的流量分配算法配置指令,所述流量分配算法配置指令包括待配置的目标流量分配算法的算法标识;
响应于所述流量分配算法配置指令,将所述目标流量分配算法的算法标识,与各算法引擎的所述配置信息中包含的算法标识进行匹配;
如果任一算法引擎的所述配置信息中包含的算法标识与所述目标流量分配算法的算法标识匹配,将所述目标端口聚合组与该目标算法引擎重新进行绑定。
在本公开的一个实施例中,将所述目标流量分配算法的算法标识,与各算法引擎的所述配置信息中包含的算法标识进行匹配之前,还包括:
确定所述目标端口聚合组是否已被配置了流量分配算法;
如果所述目标端口聚合组已被配置了流量分配算法,进一步确定已为所述目标端口聚合组配置的流量分配算法的算法标识,是否与所述目标流量分配算法的算法标识匹配;如果所述目标端口聚合组已被配置的流量分配算法的算法标识,与所述目标流量分配算法的算法标识不匹配,解除运行该流量分配算法的算法引擎与所述目标端口聚合组之间的绑定关系。
在本公开的一个实施例中,所述交换设备还维护了所述至少一个端口聚合组的配置信息;所述配置信息包含所述至少一个端口聚合组运行的流量分配算法的算法标识;和/或,与所述至少一个端口聚合组绑定的算法引擎的标识信息;
所述确定所述目标端口聚合组是否已被配置了流量分配算法,包括:
确定所述目标端口聚合组对应的配置信息中是否包含流量分配算法的算法标识;或者,
获取所述目标端口聚合组对应的配置信息中包含的算法引擎的标识信息,并确定与算法引擎的标识信息对应算法引擎的配置信息中是否包含流量分配算法的算法标识;
如果是,确定所述目标端口聚合组已被配置了流量分配算法;反之,确定该所述目标端口聚合组未被配置流量分配算法。
在一个实施例中,确定所述目标端口聚合组已被配置的流量分配算法的算法标识,是否与所述目标流量分配算法的算法标识匹配,包括:
确定所述目标端口聚合组对应的配置信息中包含的流量分配算法的算法标识,是否与所述目标流量分配算法的算法标识匹配;或者,
获取与所述目标端口聚合组对应的配置信息中包含的算法引擎的标识信息,并查询与该算法引擎的标识信息对应算法引擎的配置信息中包含的流量分配算法的算法标识,与所述目标流量分配算法的算法标识是否匹配;
如果是,确定所述目标端口聚合组已被配置的流量分配算法的算法标识,与所述目标流量分配算法的算法标识匹配;反之,确定所述目标端口聚合组已被配置的流量分配算法的算法标识,与所述目标流量分配算法的算法标识不匹配。
在一个实施例中,如果所述目标端口聚合组未被配置流量分配算法,将所述目标流量分配算法的算法标识,与各算法引擎对应的所述配置信息中包含的算法标识进行匹配;
如果任一算法引擎对应的所述配置信息中包含的算法标识与所述目标流量分配算法的算法标识匹配,将所述目标端口聚合组与该目标算法引擎进行绑定。
在一个实施例中,如果所述目标流量分配算法的算法标识,与各算法引擎对应的所述配置信息中包含的算法标识均不匹配,从空闲的算法引擎中为所述目标流量分配算法,分配算法引擎,并将所述目标端口聚合组与该算法引擎进行绑定。
在一个实施例中,所述至少一个算法引擎的配置信息还包括:与所述至少一个算法引擎绑定的端口聚合组的记数;
所述方法还包括:确定各算法引擎对应的配置信息中包含的所述记数的取值是否为0;如果任一算法引擎对应的配置信息中包含的所述记数的取值为0,删除该算法引擎对应的配置信息中包含的流量分配算法的算法标识,将该算法引擎设置为所述空闲的算法引擎。
在一个实施例中,解除运行该算法的算法引擎与所述目标端口聚合组之间的绑定关系,包括:
删除所述目标端口聚合组对应的配置信息包含的运行该流量分配算法的算法引擎的标识信息,并将所述流量分配算法的算法引擎对应的配置信息包含的所述记数减1;
所述将所述目标端口聚合组与该目标算法引擎重新进行绑定,包括:
在所述目标端口聚合组对应的配置信息中写入该目标算法引擎的标识信息,并将所述目标算法引擎对应的配置信息包含的所述记数加1。
在一个实施例中,所述方法还包括:
接收针对目标端口聚合组的流量分配算法删除指令;
响应于所述流量分配算法删除指令,获取所述目标端口聚合组对应的配置信息中包含的算法引擎的标识信息,将所述算法引擎对应的配置信息包含的所述记数减1,并删除所述目标端口聚合组对应的配置信息。
在本公开实施方式的第二方面中,提供了一种装置,应用于交换设备,所述交换设备包括至少一个端口聚合组,以及所述交换设备的交换芯片用于运行流量分配算法的至少一个算法引擎;所述流量分配算法用于将发送给与所述算法引擎绑定的端口聚合组的流量,分配至所述端口聚合组中的各成员端口;所述交换设备的交换芯片维护了所述至少一个算法引擎的配置信息;所述配置信息包含所述至少一个算法引擎运行的流量分配算法的算法标识;包括:
接收模块,接收针对目标端口聚合组的流量分配算法配置指令,所述流量分配算法配置指令包括待配置的目标流量分配算法的算法标识;
匹配模块,响应于所述流量分配算法配置指令,将所述目标流量分配算法的算法标识,与各算法引擎的所述配置信息中包含的算法标识进行匹配;
绑定模块,如果任一算法引擎的所述配置信息中包含的算法标识与所述目标流量分配算法的算法标识匹配,将所述目标端口聚合组与该目标算法引擎重新进行绑定。
在本公开实施方式的第三方面中,提供了一种电子设备,包括:包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序;所述计算机程序包括命令行程序,所述命令行程序维护了用于解析命令的多个命令树;以及与所述多个命令树分别对应的关键字数量范围;其中,所述关键字数量范围表示所述命令树中的各个命令所包含的关键字的数量对应的数值范围;其中,所述处理器通过运行命令行程序以实现如下所述的方法:
接收针对目标端口聚合组的流量分配算法配置指令,所述流量分配算法配置指令包括待配置的目标流量分配算法的算法标识;
响应于所述流量分配算法配置指令,将所述目标流量分配算法的算法标识,与各算法引擎的所述配置信息中包含的算法标识进行匹配;
如果任一算法引擎的所述配置信息中包含的算法标识与所述目标流量分配算法的算法标识匹配,将所述目标端口聚合组与该目标算法引擎重新进行绑定。
在本公开以上的实施方式,至少具有如下的有益效果:
由于对交换设备的每个算法引擎都配置了相应的配置信息,并且在该配置信息中记录了该算法引擎运行的哈希算法的算法标识;因此,可以通过算法引擎的配置信息,来灵活的管理算法引擎正在运行的算法。当需要为端口聚合组配置流量分配算法时,可以采用将该流量分配算法的算法标识,与各个算法引擎对应的配置信息中记录的算法标识分别进行匹配的方式,来为该流量分配算法选择合适的算法引擎,并将端口聚合组与选择出的算法引擎进行绑定,从而可以为端口聚合组灵活的配置流量分配算法。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1示意性地示出了根据本公开实施方式的端口聚合技术的组网应用示意图;
图2示意性地示出了根据本公开实施方式的一种交换设备的底层哈希表的示意图;
图3示意性地示出了根据本公开实施方式的一种端口聚合组的配置方法的流程图;
图4示意性地示出了根据本公开实施方式的一种算法引擎的配置信息结构图;
图5示意性地示出了根据本公开实施方式的一种端口聚合组的配置信息结构图;
图6示意性地示出了根据本公开实施方式的另一种算法引擎的配置信息结构图;
图7示意性地示出了根据本说明书实施方式的一种端口聚合组配置装置的框图;
图8示意性地示出了根据本说明书实施方式的一种端口聚合组配置装置所在计算机设备的一种硬件结构图;
图9示意性地示出了根据本说明书实施方式的一种应用于端口聚合组配置方法的软件产品的示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本公开的原理。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
在本文中,需要理解的是,所涉及的术语表示如下:
端口聚合组:也称之为链路聚合组,是指将交换设备的多个物理端口聚合成为一个逻辑端口,将多个端口聚合在一起形成一个端口聚合组,以增加链路的带宽和链路的可靠性的技术。
流量分配算法:是指为了充分利用多条聚合在一起的物理链路的带宽,对端口聚合组的多条物理链路上的流量进行调度分配的算法。
例如,在实际应用中,上述流量分配算法,通常可以是哈希算法。通过该哈希算法,可以利用交换设备的底层哈希表与流量中报文的特定内容,计算出哈希值,为流量分配出端口。
算法引擎:是指交换设备芯片运行上述流量分配算法的基本单元,通常每个算法引擎只能同时运行一种流量分配算法。
应用场景概述
请参见图1,图1是一示例性实施例提供的一种针对交换设备进行端口聚合的示意图。
如图1所示,交换设备1包括三个物理端口Port1,Port2,Port_3。交换设备2包括三个物理端口Port_4,Port_5,Port_6。
其中,Port_4称之为Port_1的对端端口,Port_5称之为Port_2的对端端口,Port6称之为Port3的对端端口。Port_1和Port4之间的链路记为Link1,Port_2和Port5之间的链路记为Link2,Port_3和Port6之间的链路记为Link3。
交换设备1可以运行端口聚合协议,与交换设备2进行交互,对Port_1,Port_2,Port_3作为成员端口进行端口聚合,将其生成一个端口聚合组。此时,上述Port_1,Port_2,Port_3将聚合成为一个逻辑端口,上述Link1、Link2和Link3,可以聚合成为一条逻辑链路,该逻辑链路的带宽为上述Link1、Link2和Link3的带宽之和,进而可以提升交换设备1收发数据的吞吐量。
如图1所示,当交换设备1接受到上述逻辑端口为出端口的流量时,需要采用流量分配算法,将该流量分配到各个物理端口。
在相关技术中,上述流量分配算法通常可以是哈希算法。在实际应用中,可以通过特定的哈希算法对流量进行哈希计算,再按照计算得到的哈希值将该流量分配至端口聚合组组的各物理端口。
常用的哈希算法有提取流量报文中包含源ip特征的算法,提取流量报文中包含目的ip特征的算法,以及提取流量报文中既包含源ip也包含目的ip特征的算法等等。
由于哈希计算得到的哈希值具有离散性和随机性较高的特点,因此可以通过哈希算法对流量进行分流,可以将流量均衡的分配至各个物理端口,实现各个物理端口的负载均衡。
当采用哈希算法作为流量分配算法时,交换设备1在创建端口聚合组时,会在底层同时创建一个与端口聚合组对应的哈希表,该哈希表具体可以存储于交换设备搭载的交换芯片上。
上述哈希表的具体内容可以如图2所示,左侧为端口聚合组成员的索引,右侧为端口聚合组的各个物理端口。当需要转发流量时,根据特定的哈希算法提取流量中报文的相应内容,计算出对应的哈希值后,将这个值作为哈希表的index表项,通过查表确定出端口,将流量根据该出端口转发。
交换设备的芯片存在若干运算单元,作为运行流量分配算法的算法引擎。当需要为端口聚合组配置流量分配算法时,交换设备的芯片会分配一个算法引擎以运行上述流量分配算法。
现有交换设备的芯片的提供的算法引擎数量有限,而流量分配算法的算法种类多于算法引擎的数量,且算法引擎运行流量分配算法后,不能灵活的更换其他流量分配算法,导致无法充分利用算法引擎的资源。
发明概述
本说明书提供一种端口聚合组的配置方法,可以为每个算法引擎建立对应的配置信息,该配置信息中记录了该算法引擎运行的流量分配算法标识;当需要为端口聚合组配置流量分配算法时,可以采用将该流量分配算法的算法标识与各个算法引擎对应的配置信息中记录的算法标识分别进行匹配的方式,来为该流量分配算法,选择合适的算法引擎,并将端口聚合组与选择出的算法引擎进行绑定,从而可以为端口聚合组灵活的配置流量分配算法。
示例性方法
下面通过具体实施例并结合具体的应用场景进行详细描述。
请参见图3,图3是一示例性实施例提供的一种端口聚合组的配置的方法的流程图。所述方法应用于交换设备上。
其中,所述交换设备包括至少一个端口聚合组,以及交换设备的交换芯片包括运行流量分配算法的至少一个算法引擎。
所述交换设备还维护了至少一个算法引擎的配置信息,该配置信息包含了至少一个算法引擎运行的流量分配算法的算法标识。
该算法引擎的配置信息具体可以存储于交换设备搭载的交换芯片上。
请参见图4,图4是一种示例性的一种算法引擎的配置信息结构hash_info,hash_info.index为算法引擎的编号,hash_info.rtag为算法引擎运行的流量分配算法的算法标识。
上述算法引擎的配置信息的实现方式可以是结构体或其他方式,在本说明书不进行特别限定;上述流量分配算法的算法标识可以是数字或是字符串或是数字与字符串的组合,由用户自由设置,在本说明书不进行特别限定。例如,图4中hash_info.rtag列中null代表算法引擎目前没有配置算法,1代表算法引擎配置了源ip算法,2代表算法引擎配置了目的ip算法等。
步骤301,接收针对目标端口聚合组的流量分配算法配置指令,所述流量分配算法配置指令包括待配置的目标流量分配算法的算法标识;
当用户需要为目标端口聚合组配置流量分配算法时,具体可以通过接入交换设备的客户端,向交换设备提交一个携带待配置的目标流量分配算法的算法标识的配置指令来完成。
其中,用户通过客户端向交换设备提交配置指令的具体方式;在本说明书不进行特别限定;
例如,在一种实施方式中,上述客户端具体可以是一个命令行程序,用户可以在该命令行程序提供的命令输入界面中,来手动输入携带待配置的目标流量分配算法的算法标识的配置命令,并将该配置命令提交给上述交换设备。
在另一种实施方式中,上述客户端也可以不是一个命令行程序,而是一个可以面向用户提供针对交换设备上的端口聚合组进行配置功能的客户端软件。该客户端软件可以面向用户提供一个用于对交换设备上的端口聚合组进行配置的可视化配置界面,并将该可视化配置界面中提供若干可供选择的流量分配算法。在这种情况下,用户可以通过在该可视化配置界面中选择流量分配算法,来为上述端口聚合组配置流量分配算法。而该客户端软件在获取到用户在该可视化配置界面中选择的流量分配算法后,可以保存该流量分配算法的算法标识,并生成一个包含该算法标识的配置指令发送给上述交换设备。
步骤302,响应于所述流量分配算法配置指令,将所述目标流量分配算法的算法标识,与各算法引擎的所述配置信息中包含的算法标识进行匹配;
客户端软件收到用户输入的包含待配置算法的算法标识的配置命令后,调用交换设备的操作系统里提供的函数,将配置命令转换成交换设备芯片可识别的参数,将参数提交给驱动,驱动再将参数写入芯片。芯片执行对应的参数,将所述目标流量分配算法的算法标识,与各算法引擎的所述配置信息中包含的算法标识进行匹配。
例如,在一种实施方式中,客户端软件收到一条流量分配算法的配置命令,该流量分配算法标识包含源ip算法的算法标识。客户端软件可以通过交换设备提供的函数,将含有源ip算法的算法标识的配置命令,转化为芯片可识别的参数,然后驱动将该参数写入芯片。芯片获得源ip算法的算法标识后,在上述图4所示的算法引擎的配置结构hash_info与各算法引擎的所述配置信息中包含的算法标识进行匹配。
在示出的另一种实施方式中,如果目标端口聚合组已经配置了流量分配算法,则需要先解除目标端口聚合组与已配置的算法引擎的绑定关系。所以在将目标流量分配算法的算法标识与各算法引擎的所述配置信息中包含的算法标识进行匹配之前,还要先确定目标端口聚合组是否配置了流量分配算法。
如果目标端口聚合组已被配置了流量分配算法,则要进一步判断目标端口聚合组已经被配置的流量分配算法的算法标识,是否与待配置的目标流量分配算法的算法标识匹配。如果匹配则说明目标端口组当前已被配置的流量分配算法和待配置的目标流量分配算法是同一个算法,则不需要重新为端口聚合组配置算法,撤销上述配置指令。如果目标端口聚合组已被配置的流量分配算法的算法标识与目标流量分配算法的算法标识不匹配,则需要解除该流量分配算法的算法引擎与目标端口聚合组之间的绑定关系。
例如,在一种情况下,要为目标端口聚合组配置源ip算法,当前端口聚合组已被配置了源ip算法,则不需要重新为端口聚合组配置算法,撤销该流量分配算法的配置指令。
在另一种情况下,如果目标端口聚合组已被配置了目的ip算法,目的ip算法的算法标识和源ip算法的算法标识不匹配。则需要解除运行目的ip算法的算法引擎与目标端口聚合组之间的绑定关系。
在示出的另一种实施方式中,所述交换设备还维护了所述至少一个端口聚合组的配置信息;所述配置信息包含所述至少一个端口聚合组运行的流量分配算法的算法标识;和/或,与所述至少一个端口聚合组绑定的算法引擎的标识信息;
该端口聚合组的配置信息具体可以存储于交换设备搭载的交换芯片上。
请参见图5,图5是一种示例性的一种端口聚合组的配置信息结构。trunk_info,trunk_info.index为端口聚合组的编号,trunk_info.rtag为端口聚合组运行的流量分配算法的算法标识,trunk_info.enginee为端口聚合组绑定的算法引擎的标识信息。
上述端口聚合组的配置信息的实现方式可以是结构体或其他方式,在本说明书不进行特别限定;上述流量分配算法的算法标识以及端口聚合组绑定的算法引擎的表示信息,可以是数字或是字符串或是数字与字符串的组合,由用户自由设置,在本说明书不进行特别限定。例如,图5中trunk_info.rtag列中null代表算法引擎目前没有配置算法,1代表算法引擎配置了源ip算法,2代表算法引擎配置了目的ip算法等。trunk_info.enginee中0代表已绑定算法引擎0,1代表已绑定算法引擎1,null代表没有绑定算法引擎等。
进一步的,可以通过端口可以通过端口聚合组的配置信息中的内容,来确定所述目标端口聚合组是否已被配置了流量分配算法。
例如,可以通过确定所述目标端口聚合组对应的配置信息中是否包含流量分配算法的算法标识;或者,也可以获取所述目标端口聚合组对应的配置信息中包含的算法引擎的标识信息,通过该算法引擎的标识信息,确定对应的算法引擎的配置信息中是否包含流量分配算法的算法标识;
比如,当前端口聚合组已经配置了源ip算法,此时可以查询当前端口聚合组的配置信息,是否包含源ip算法的算法标识。也可以查询端口聚合组的配置信息中包含的算法引擎的标识,通过该算法引擎的标识,查询对应的算法引擎,确定该算法引擎对应的配置信息中是否包含源ip算法的算法标识。
进一步的,可以通过端口聚合组的配置信息中的内容,来确定所述目标端口聚合组已被配置的流量分配算法的算法标识,是否与所述目标流量分配算法的算法标识匹配。
例如,可以通过所述目标端口聚合组对应的配置信息中包含的流量分配算法的算法标识,来确定是否与所述目标流量分配算法的算法标识匹配;或者,也可以获取与所述目标端口聚合组对应的配置信息中包含的算法引擎的标识信息,通过算法引擎的标识信息确定对应的算法引擎,查询与该算法引擎对应的配置信息中包含的流量分配算法的算法标识,与所述目标流量分配算法的算法标识是否匹配;
比如,当前端口聚合组已经配置了源ip算法,而用户需要将目的ip算法配置到端口聚合组。此时可以查询当前端口聚合组的配置信息中包含的算法标识,即源ip算法的算法标识,确定该算法标识与目的ip算法的算法标识不匹配。也可以查询当前端口聚合组的配置信息中包含的算法引擎的标识,通过该算法引擎的标识,查询对应的算法引擎,确定该算法引擎对应的配置信息中包含的是源ip算法的算法标识,与目的ip算法标识不匹配。
如果所述目标端口聚合组已被配置的流量分配算法的算法标识,与所述目标流量分配算法的算法标识不匹配,在这种情况下,解除运行该流量分配算法的算法引擎与目标端口聚合组之间的绑定关系。
在示出的另一种实施方式中,所述交换设备维护的所述至少一个算法引擎的配置信息还包括,至少一个算法引擎绑定的端口聚合组的记数;
请参见图6,图6是一种示例性的一种算法引擎的配置信息结构hash_info,hash_info.index为算法引擎的编号,hash_info.rtag为算法引擎运行的流量分配算法的算法标识,hash_info.count为算法引擎绑定的端口聚合组的记数。
上述算法引擎的配置信息的实现方式可以是结构体或其他方式,在本说明书不进行特别限定;上述算法引擎绑定的端口聚合组的记数可以是数字或是字符串或是数字与字符串的组合,由用户自由设置,在本说明书不进行特别限定。例如,图6中hash_info.count列中0代表算法引擎没有绑定任何端口聚合组,1代表算法引擎绑定一个端口聚合组,2代表算法引擎绑定两个端口聚合组等。
当要解除运行该流量分配算法的算法引擎与目标端口聚合组之间的绑定关系时,删除目标端口聚合组对应的配置信息中运行该流量分配算法的算法引擎标识。同时将所述流量分配算法的算法引擎对应的配置信息中包含的所述记数减1。
例如,某算法引擎运行源ip算法,要将该算法与目标端口聚合组解除绑定。删除目标端口聚合组对应的配置信息中该算法引擎的标识,同时将运行源ip算法的算法引擎对应的配置信息中包含的所述记数减1。
在一种情况下,算法引擎对应的配置信息中减1后为0,此时说明没有端口聚合组与该算法引擎绑定。此时删除算法引擎对应的配置信息中包含的流量分配算法标识,并将该算法引擎设置为空闲引擎。
例如,上例中算法引擎对应的配置信息中包含的所述记数减1后为0,此时没有端口聚合组与该算法引擎绑定,此时删除算法引擎对应的配置信息包含的源ip算法的算法标识。并将该算法引擎设置为空闲的算法引擎。
步骤303,如果任一算法引擎的所述配置信息中包含的算法标识与所述目标流量分配算法的算法标识匹配,将所述目标端口聚合组与该目标算法引擎重新进行绑定。
当为目标端口聚合组配置新的流量分配算法之前,需要确定是否有算法引擎正在运行目标流量分配算法。如果目标流量分配算法的算法标识,与任一算法引擎的所述配置信息包含的算法标识匹配。说明有算法引擎正运行目标流量分配算法,直接将该算法引擎与目标端口聚合组进行绑定。
在示出的一种实施方式中,将算法引擎与目标端口聚合组进行绑定,要将算法引擎的标识写入上述端口聚合组对应的配置信息中包含的算法引擎的标识,并将上述该算法引擎对应的配置信息中包含的所述记数加1。
例如,为目标端口聚合组配置源ip算法,如果有算法引擎正在运行源ip算法,那么将该算法引擎的标识信息写入端口聚合组对应的配置信息中的算法引擎标识。并将该算法引擎对应的配置信息中的记数进行加1。
在示出的另一种实施方式中,如果各算法引擎对应的所述配置信息中包含的算法标识均不匹配。此时说明没有算法引擎正运行目标流量分配算法。此时从空闲的算法引擎中为目标流量分配算法,分配算法引擎。
例如,为目标端口聚合组配置源ip算法,如果没有算法引擎正在运行源ip算法,那么从空闲的算法引擎中为源ip算法分配引擎,并将该引擎与目标端口聚合组重新绑定。
在示出的另一种实施方式,还可以删除端口聚合组对应的配置信息。如果要删除端口聚合组,从目标端口聚合组对应的配置信息中获取算法引擎的标识信息,将该算法引擎对应的配置信息中包含的上述减1,并删除目标端口聚合组对应的配置信息。
例如,端口聚合组正运行源ip算法,此时要删除端口聚合组。从端口聚合组对应的配置信息中获取运行源ip算法的算法引擎标识,将该算法引擎对应的配置信息中包含的上述记数减1。然后删除端口聚合组对应的配置信息。
在本说明书的示例性实施例中,还提供了一种端口聚合组的配置装置。请参见图7,图7是在本说明书实施方式的一种端口聚合组的配置装置的框图。该装置应用于交换设备,所述交换设备包括至少一个端口聚合组,以及所述交换设备的交换芯片用于运行流量分配算法的至少一个算法引擎;所述流量分配算法用于将发送给与所述算法引擎绑定的端口聚合组的流量,分配至所述端口聚合组中的各成员端口;所述交换设备的交换芯片维护了所述至少一个算法引擎的配置信息;所述配置信息包含所述至少一个算法引擎运行的流量分配算法的算法标识;所述方法包括:
接收模块710,接收针对目标端口聚合组的流量分配算法配置指令,所述流量分配算法配置指令包括待配置的目标流量分配算法的算法标识;
匹配模块720,响应于所述流量分配算法配置指令,将所述目标流量分配算法的算法标识,与各算法引擎的所述配置信息中包含的算法标识进行匹配;
绑定模块730,如果任一算法引擎的所述配置信息中包含的算法标识与所述目标流量分配算法的算法标识匹配,将所述目标端口聚合组与该目标算法引擎重新进行绑定。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在本说明书的示例性实施例中,还提供了一种装置及其所应用的终端的实施例。
本说明书命令解析装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在命令解析的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图8所示,为本说明书实施例命令解析装置所在计算机设备的一种硬件结构图,除了图8所示的处理器810、内存830、网络接口820、以及非易失性存储器840之外,实施例中装置831所在的服务器或电子设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。
在本说明书的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本说明书各种示例性实施例的步骤。
参考图9所示,描述了根据本说明书的实施例的用于实现上述方法的程序产品90,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本说明书的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本说明书的其他实施例。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由权利要求指出。
应当注意,尽管在上文详细描述中提及了装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本说明书的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本说明书方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本说明书的精神和原理,但是应该理解,本说明书并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本说明书旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (11)

1.一种端口聚合组的配置方法,其特征在于,应用于交换设备,所述交换设备包括至少一个端口聚合组,以及所述交换设备的交换芯片用于运行流量分配算法的至少一个算法引擎;所述流量分配算法用于将发送给与所述算法引擎绑定的端口聚合组的流量,分配至所述端口聚合组中的各成员端口;所述交换设备的交换芯片维护了所述至少一个算法引擎的配置信息;所述配置信息包含所述至少一个算法引擎运行的流量分配算法的算法标识;所述方法包括:
接收针对目标端口聚合组的流量分配算法配置指令,所述流量分配算法配置指令包括待配置的目标流量分配算法的算法标识;
响应于所述流量分配算法配置指令,将所述目标流量分配算法的算法标识,与各算法引擎的所述配置信息中包含的算法标识进行匹配;
如果任一算法引擎的所述配置信息中包含的算法标识与所述目标流量分配算法的算法标识匹配,将所述目标端口聚合组与该目标算法引擎重新进行绑定。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标流量分配算法的算法标识,与各算法引擎的所述配置信息中包含的算法标识进行匹配之前,还包括:
确定所述目标端口聚合组是否已被配置了流量分配算法;
如果所述目标端口聚合组已被配置了流量分配算法,进一步确定已为所述目标端口聚合组配置的流量分配算法的算法标识,是否与所述目标流量分配算法的算法标识匹配;如果所述目标端口聚合组已被配置的流量分配算法的算法标识,与所述目标流量分配算法的算法标识不匹配,解除运行该流量分配算法的算法引擎与所述目标端口聚合组之间的绑定关系。
3.根据权利要求2所述的方法,其特征在于,所述交换设备还维护了所述至少一个端口聚合组的配置信息;所述配置信息包含所述至少一个端口聚合组运行的流量分配算法的算法标识;和/或,与所述至少一个端口聚合组绑定的算法引擎的标识信息;
所述确定所述目标端口聚合组是否已被配置了流量分配算法,包括:
确定所述目标端口聚合组对应的配置信息中是否包含流量分配算法的算法标识;或者,
获取所述目标端口聚合组对应的配置信息中包含的算法引擎的标识信息,并确定与算法引擎的标识信息对应算法引擎的配置信息中是否包含流量分配算法的算法标识;
如果是,确定所述目标端口聚合组已被配置了流量分配算法;反之,确定该所述目标端口聚合组未被配置流量分配算法。
4.根据权利要求2所述的方法,其特征在于,所述确定所述目标端口聚合组已被配置的流量分配算法的算法标识,是否与所述目标流量分配算法的算法标识匹配,包括:
确定所述目标端口聚合组对应的配置信息中包含的流量分配算法的算法标识,是否与所述目标流量分配算法的算法标识匹配;或者,
获取与所述目标端口聚合组对应的配置信息中包含的算法引擎的标识信息,并查询与该算法引擎的标识信息对应算法引擎的配置信息中包含的流量分配算法的算法标识,与所述目标流量分配算法的算法标识是否匹配;
如果是,确定所述目标端口聚合组已被配置的流量分配算法的算法标识,与所述目标流量分配算法的算法标识匹配;反之,确定所述目标端口聚合组已被配置的流量分配算法的算法标识,与所述目标流量分配算法的算法标识不匹配。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果所述目标端口聚合组未被配置流量分配算法,将所述目标流量分配算法的算法标识,与各算法引擎对应的所述配置信息中包含的算法标识进行匹配;
如果任一算法引擎对应的所述配置信息中包含的算法标识与所述目标流量分配算法的算法标识匹配,将所述目标端口聚合组与该目标算法引擎进行绑定。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
如果所述目标流量分配算法的算法标识,与各算法引擎对应的所述配置信息中包含的算法标识均不匹配,从空闲的算法引擎中为所述目标流量分配算法,分配算法引擎,并将所述目标端口聚合组与该算法引擎进行绑定。
7.根据权利要求6所述的方法,其特征在于,所述至少一个算法引擎的配置信息还包括:与所述至少一个算法引擎绑定的端口聚合组的记数;
所述方法还包括:
确定各算法引擎对应的配置信息中包含的所述记数的取值是否为0;如果任一算法引擎对应的配置信息中包含的所述记数的取值为0,删除该算法引擎对应的配置信息中包含的流量分配算法的算法标识,将该算法引擎设置为所述空闲的算法引擎。
8.根据权利要求7所述的方法,其特征在于,所述解除运行该算法的算法引擎与所述目标端口聚合组之间的绑定关系,包括:
删除所述目标端口聚合组对应的配置信息包含的运行该流量分配算法的算法引擎的标识信息,并将所述流量分配算法的算法引擎对应的配置信息包含的所述记数减1;
所述将所述目标端口聚合组与该目标算法引擎重新进行绑定,包括:
在所述目标端口聚合组对应的配置信息中写入该目标算法引擎的标识信息,并将所述目标算法引擎对应的配置信息包含的所述记数加1。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
接收针对目标端口聚合组的流量分配算法删除指令;
响应于所述流量分配算法删除指令,获取所述目标端口聚合组对应的配置信息中包含的算法引擎的标识信息,将所述算法引擎对应的配置信息包含的所述记数减1,并删除所述目标端口聚合组对应的配置信息。
10.一种端口聚合组的配置装置,其特征在于,应用于交换设备,所述交换设备包括至少一个端口聚合组,以及所述交换设备的交换芯片用于运行流量分配算法的至少一个算法引擎;所述流量分配算法用于将发送给与所述算法引擎绑定的端口聚合组的流量,分配至所述端口聚合组中的各成员端口;所述交换设备的交换芯片维护了所述至少一个算法引擎的配置信息;所述配置信息包含所述至少一个算法引擎运行的流量分配算法的算法标识;包括:
接收模块,接收针对目标端口聚合组的流量分配算法配置指令,所述流量分配算法配置指令包括待配置的目标流量分配算法的算法标识;
匹配模块,响应于所述流量分配算法配置指令,将所述目标流量分配算法的算法标识,与各算法引擎的所述配置信息中包含的算法标识进行匹配;
绑定模块,如果任一算法引擎的所述配置信息中包含的算法标识与所述目标流量分配算法的算法标识匹配,将所述目标端口聚合组与该目标算法引擎重新进行绑定。
11.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1-9中任一项所述的方法。
CN202111165507.9A 2021-09-30 2021-09-30 一种端口聚合组的配置方法 Active CN113839883B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111165507.9A CN113839883B (zh) 2021-09-30 2021-09-30 一种端口聚合组的配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111165507.9A CN113839883B (zh) 2021-09-30 2021-09-30 一种端口聚合组的配置方法

Publications (2)

Publication Number Publication Date
CN113839883A CN113839883A (zh) 2021-12-24
CN113839883B true CN113839883B (zh) 2023-05-26

Family

ID=78968009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111165507.9A Active CN113839883B (zh) 2021-09-30 2021-09-30 一种端口聚合组的配置方法

Country Status (1)

Country Link
CN (1) CN113839883B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1787489A (zh) * 2005-12-22 2006-06-14 港湾网络有限公司 将接口流量在多个网络处理器引擎中均担的方法
CN101227402A (zh) * 2008-02-20 2008-07-23 杭州华三通信技术有限公司 聚合链路流量分担方法及装置
US7783784B1 (en) * 2004-08-31 2010-08-24 Oracle America, Inc. Method and apparatus for adaptive selection of algorithms to load and spread traffic on an aggregation of network interface cards
CN103354529A (zh) * 2013-07-10 2013-10-16 杭州华三通信技术有限公司 一种选择路径的方法和设备
CN104468358A (zh) * 2013-09-25 2015-03-25 杭州华三通信技术有限公司 分布式虚拟交换机系统的报文转发方法及设备
CN106302223A (zh) * 2016-09-20 2017-01-04 杭州迪普科技有限公司 一种聚合组流量分流的方法和装置
CN109450789A (zh) * 2018-12-27 2019-03-08 杭州迪普科技股份有限公司 一种基于链路聚合的分流方法和装置
CN109697118A (zh) * 2017-10-20 2019-04-30 北京京东尚科信息技术有限公司 流式计算任务管理方法、装置、电子设备及存储介质
CN111526102A (zh) * 2020-04-28 2020-08-11 北京星网锐捷网络技术有限公司 封装远程端口镜像的方法、装置、电子设备及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7783784B1 (en) * 2004-08-31 2010-08-24 Oracle America, Inc. Method and apparatus for adaptive selection of algorithms to load and spread traffic on an aggregation of network interface cards
CN1787489A (zh) * 2005-12-22 2006-06-14 港湾网络有限公司 将接口流量在多个网络处理器引擎中均担的方法
CN101227402A (zh) * 2008-02-20 2008-07-23 杭州华三通信技术有限公司 聚合链路流量分担方法及装置
CN103354529A (zh) * 2013-07-10 2013-10-16 杭州华三通信技术有限公司 一种选择路径的方法和设备
CN104468358A (zh) * 2013-09-25 2015-03-25 杭州华三通信技术有限公司 分布式虚拟交换机系统的报文转发方法及设备
CN106302223A (zh) * 2016-09-20 2017-01-04 杭州迪普科技有限公司 一种聚合组流量分流的方法和装置
CN109697118A (zh) * 2017-10-20 2019-04-30 北京京东尚科信息技术有限公司 流式计算任务管理方法、装置、电子设备及存储介质
CN109450789A (zh) * 2018-12-27 2019-03-08 杭州迪普科技股份有限公司 一种基于链路聚合的分流方法和装置
CN111526102A (zh) * 2020-04-28 2020-08-11 北京星网锐捷网络技术有限公司 封装远程端口镜像的方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN113839883A (zh) 2021-12-24

Similar Documents

Publication Publication Date Title
US10257142B2 (en) Message delivery in a message system
US9110884B2 (en) Message publishing and subscribing method and apparatus
CN109088820B (zh) 一种跨设备链路聚合方法、装置、计算装置和存储介质
CN110719215B (zh) 虚拟网络的流信息采集方法及装置
CN109600441A (zh) 联盟链信息发布控制方法及终端设备
CN113709810A (zh) 一种网络服务质量的配置方法、设备和介质
CN115604199B (zh) 一种云原生平台微服务网关的服务路由方法和系统
US7003773B2 (en) Dynamic interface aggregation on demand
US20190387051A1 (en) Method, device and computer program product for managing network system
CN113839883B (zh) 一种端口聚合组的配置方法
CN110430478B (zh) 组网通信方法、装置、终端设备及存储介质
JP2019536332A (ja) オンプレミスとオフプレミスとの通信方法、システム、プログラム
CN111951112A (zh) 基于区块链的智能合约执行方法、终端设备和存储介质
CN108494748B (zh) 一种通信方法、装置及存储介质
CN116032614A (zh) 容器网络微隔离方法、装置、设备和介质
CN115080771A (zh) 基于人工智能的数据处理方法及装置、介质、网关设备
CN114844788A (zh) 网络数据分析方法、系统、设备及存储介质
CN111669358B (zh) 一种批量处理vrouter网络隔离空间的方法和装置
KR102094755B1 (ko) 네트워크 시뮬레이터에서의 조작 메시지 생성을 위한 조작도구 연동장치 및 방법
CN114172802B (zh) 容器网络配置方法、装置、计算节点、主节点及存储介质
CN111050339B (zh) 一种基于协议无感知转发的高速数据更新系统及方法
US20230153159A1 (en) Hardware Accelerator Service Aggregation
CN113419878B (zh) 一种数据操作方法和装置
CN110059125B (zh) 一种代理合约调用的方法及相关设备
US11657369B2 (en) Cooperative planning system, cooperative planning method, and cooperative planning program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant