CN117240715B - 一种框式交换机业务板卡混插管理方法 - Google Patents
一种框式交换机业务板卡混插管理方法 Download PDFInfo
- Publication number
- CN117240715B CN117240715B CN202311509718.9A CN202311509718A CN117240715B CN 117240715 B CN117240715 B CN 117240715B CN 202311509718 A CN202311509718 A CN 202311509718A CN 117240715 B CN117240715 B CN 117240715B
- Authority
- CN
- China
- Prior art keywords
- port
- service
- board card
- service board
- configuration
- 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
Links
- 238000007726 management method Methods 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000013507 mapping Methods 0.000 claims abstract description 36
- 238000004891 communication Methods 0.000 claims abstract description 5
- 208000033748 Device issues Diseases 0.000 claims abstract description 3
- 230000003068 static effect Effects 0.000 claims description 14
- 230000002860 competitive effect Effects 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 abstract description 23
- 238000003780 insertion Methods 0.000 abstract description 5
- 230000037431 insertion Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 14
- 230000007246 mechanism Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请适用于网络通信技术领域,提供了一种框式交换机业务板卡混插管理方法,包括:框式交换机内优先级最高的业务板卡竞选为主设备,其他业务板卡为从设备;各业务板卡同步其他业务板卡的类型,并将相关信息存储至自身的共享软件表中;初始化各业务板卡对应的堆叠系统端口号到芯片物理端口映射关系软件表;主设备将配置指令下发至各从设备,并设置对应硬件寄存器、将虚拟驱动接口函数同步给各从设备;从设备在确定需要执行配置指令时,根据芯片物理端口映射关系软件表设置对应硬件寄存器;从设备在确定不需要执行配置指令时,仅修改驱动软件表。本申请能在使框式交换机实现不同端口形态业务板卡混插的情况下,降低框式交换机成本的成本。
Description
技术领域
本申请属于网络通信技术领域,尤其涉及一种框式交换机业务板卡混插管理方法。
背景技术
目前大多数能实现不同端口形态业务板卡混插,且业务板之间能做到集中管理、业务板报文转发和协议运转完全集中式的框式交换机,一般是通过加入主控板和备用板机制,由主控板来完成报文汇聚和转发,且由主控板来完成协议运算和配置下发,业务板工作量完全释放到主控板来完成,这样主控板不仅要求支持多堆叠口,带宽要大,且中央处理器(CPU)处理能力较强,备用板为主控板备份,在主控失效时,由备用板来接管,从而造成框式交换机成本高。
发明内容
本申请实施例提供了一种框式交换机业务板卡混插管理方法,可以解决框式交换机为实现不同端口形态业务板卡混插而成本高的问题。
本申请实施例提供了一种框式交换机业务板卡混插管理方法,框式交换机的背板上插设有多个业务板卡和仅用于为用户提供操作窗口的主控板卡,每个业务板卡均通过管理网口与主控板卡通讯连接,多个业务板卡中任意两个业务板卡均通过堆叠口通讯连接,管理方法包括:
框式交换机内各业务板卡按照优先级竞选规则进行竞选;其中,优先级最高的业务板卡竞选为主设备,其他业务板卡为从设备;
框式交换机内的每个业务板卡分别执行:通过堆叠口同步其他业务板卡的类型,并将其他业务板卡的类型、其他业务板卡的端口形态和其他业务板卡对应的设备号存储至自身的共享软件表中;
初始化框式交换机内所有业务板卡对应的堆叠系统端口号到芯片物理端口映射关系软件表;芯片物理端口映射关系软件表用于记录各业务板卡的堆叠系统端口号与物理端口号之间的映射关系;
框式交换机向主设备下发配置指令,主设备通过堆叠口将配置指令下发至各从设备,并在本设备驱动层设置配置指令对应的硬件寄存器,同时在配置指令对应的虚拟驱动层将虚拟驱动接口函数通过堆叠口同步给各从设备;
每个从设备根据配置指令的类型和共享软件表判断自身是否需要执行配置指令对应的驱动配置,若需要执行配置指令驱动配置,则根据芯片物理端口映射关系软件表设置驱动配置对应的硬件寄存器;否则,仅修改驱动软件表。
可选的,管理方法还包括:
框式交换机向主设备发送用于请求业务板卡动态数据的动态数据获取指令,主设备根据动态数据获取指令中携带的设备号确定业务板卡动态数据所属的业务板卡;
主设备在确定出业务板卡动态数据所属的业务板卡为自身时,直接向框式交换机返回业务板卡动态数据;
主设备在确定出业务板卡动态数据所属的业务板卡为从设备时,通过堆叠口从该从设备获取业务板卡动态数据,并将获取到的业务板卡动态数据返回给框式交换机。
可选的,管理方法还包括:
框式交换机向主设备请求业务板卡静态配置数据;
主设备从驱动软件表中获取业务板卡静态配置数据,并将获取到的业务板卡静态配置数据返回给框式交换机。
可选的,根据配置指令的类型和共享软件表判断自身是否需要执行配置指令对应的驱动配置,包括:
确定配置指令的类型;
若配置指令为全局配置指令,则确定自身需要执行配置指令对应的驱动配置;
若配置指令为基于端口的配置指令,则根据共享软件表判断端口是否为自身的端口,若是,则确定自身需要执行配置指令对应的驱动配置,否则,确定自身不需要执行配置指令对应的驱动配置。
可选的,每个业务板卡的端口形态包括业务板卡支持的最大端口数以及业务板卡的低速率端口总数;
根据共享软件表判断端口是否为自身的端口,包括:
判断是否成立;其中,/>表示端口对应的堆叠系统端口号,/>表示从设备的设备号,/>表示从设备支持的最大端口数,/>表示从设备的槽位号,/>表示从设备的低速率端口总数,/>表示从设备的槽位端口号;
若成立,则确定端口是自身的端口;
否则,确定端口不是自身的端口。
可选的,堆叠系统最大端口号MN满足如下关系表达式:
,其中,/>表示框式交换机中业务板卡的数量,/>表示框式交换机中单个业务板卡支持的最大端口数。
可选的,框式交换机内各业务板卡均配置有优先级。
可选的,若框式交换机内各业务板卡的优先级均为默认值,则各业务板卡中设备号最小的业务板卡为优先级最高的业务板卡。
本申请的上述方案有如下的有益效果:
在本申请的实施例中,为实现不同端口形态业务板卡混插,框式交换机内各业务板通过竞选确定出主设备,每个业务板卡同步其他业务板卡的类型、端口形态、设备号至自身的共享软件表中,同时初始化框式交换机内所有业务板卡对应的堆叠系统端口号到芯片物理端口映射关系软件表,以便主设备对各从设备进行集中管控,同时在框式交换机下发配置指令时,由主设备完成堆叠协议运算,将配置指令和虚拟驱动接口函数同步给从设备,从设备仅需做配置同步和硬件转发即可响应框式交换机下发的配置指令。
可见,在本申请提供的管理方法中,框式交换机的主控板卡并不参与堆叠运算、协议运转和交换机其它业务功能,其仅用于为用户提供操作窗口,交换机所有业务功能都由业务板卡自身完成,与现有技术相比,本申请对主控板卡的性能要求较低,因此本申请的主控板卡的成本低于现有技术中主控板的成本,降低了框式交换机的成本。同时本申请的框式交换机内无需为主控板卡设置备用板,从而进一步降低了框式交换机的成本。
本申请的其它有益效果将在随后的具体实施方式部分予以详细说明。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的框式交换机的结构示意图;
图2为本申请一实施例提供的框式交换机的启动、初始化流程框图;
图3为本申请一实施例提供的框式交换机业务板卡混插管理方法的流程图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
针对目前框式交换机为实现不同端口形态业务板卡混插而成本高的问题,本申请实施例提供了一种框式交换机业务板卡混插管理方法,在该管理方法中,主控板卡只作为用户操作的一个窗口,不参与堆叠运算、以及协议运转和交换机其它业务功能,交换机所有业务功能都由业务板自身完成,和传统框式交换机的堆叠主控板完全不一样;业务板之间通过优先级来竞选为主业务板(即主设备),由其对其他业务板卡进行集中管控、业务报文转发和协议运算,以实现不同端口形态业务板卡混插。
可见,与现有技术相比,本申请对主控板卡的性能要求较低,因此本申请的主控板卡的成本低于现有技术中主控板的成本,降低了框式交换机的成本。同时本申请的框式交换机内无需为主控板卡设置备用板,从而进一步降低了框式交换机的成本。
下面结合具体实施例对本申请提供的框式交换机业务板卡混插管理方法进行示例性说明。
如图1所示,在本申请的实施例提供的框式交换机业务板卡混插管理方法中,框式交换机的背板101上插设有多个业务板卡(如图1中的业务板卡A201、业务板卡B202和业务板卡C203)和仅用于为用户提供操作窗口的主控板卡102,每个业务板卡均通过管理网口与主控板卡102通讯连接,多个业务板卡中任意两个业务板卡均通过堆叠口通讯连接。
在本申请的一些实施例中,主控板卡102通过管理网口和各个业务板卡相连接,用来管理和配置命令下发给业务板卡(例如接收用户输入的管理、配置指令,并将其下发给多个业务板卡中的一个业务板卡(即后文的主设备)),各业务板卡即为交换板卡,业务板卡集成有交换芯片和CPU,业务板卡之间通过万兆口走背板直连,直连的万兆口即为堆叠口(该堆叠口运行堆叠协议,如恒茂信息技术有限公司的堆叠协议),业务板卡在机框中为可插拔设计,业务板卡之间会通过恒茂信息技术有限公司自研的堆叠协议(简称ISTK协议)建立成堆叠系统,同时通过优先级竞选规则选择一块高优先级的业务板卡为主设备,其他业务板卡为从设备,由主设备来集中下方硬件配置给各业务板卡,同时大部分协议都由主设备来进行运算,然后再同步结果和数据到从设备。其中图1中主控板卡102(可以选择型号为MTK7621的主控芯片)只作为用户操作的一个窗口,不参与堆叠运算、以及协议运转和交换机其它业务功能,交换机所有业务功能都由业务板自身完成,和传统框式设备的堆叠主控板完全不一样。图1中三个业务板卡之间形成一个环路,并通过汇聚对接。
可以理解的是,为确保框式交换机的正常工作,如图1所示,除插设于背板上的主控板卡102和业务板卡外,该框式交换机其他结构可与传统框式交换机的结构相同,例如还具备电源(图1中的电源104和电源105)、风扇106、电源转接板107等组件。需要说明的是,本申请实施例中的框式交换机无需为主控板卡设置备用板。
在对本申请实施例提供的框式交换机业务板卡混插管理方法进行具体说明之前,在此先对框式交换机的启动、初始化过程以及涉及的软件表进行介绍。
具体的,如图2所示,上述框式交换机的启动、初始化过程如下:
a)框式交换机设备上电启动系统(可以为linux操作系统),加载交换机操作系统(OS)。
b)创建堆叠共享内存,并初始化。堆叠共享内存主要保存堆叠相关数据信息,包括堆叠使能、运行状态、堆叠端口、设备类型、本设备号、主设备号、端口映射表、邻居设备信息等。堆叠共享内存主要作用于不同进程之间堆叠信息数据快速交互。如果交换板卡软件开发工具包(SDK)运行在内核态,则需要在驱动创建同样的堆叠数据结构体变量,用来同步平台堆叠共享内存数据内容。
在本申请的一些实施例中,每个业务板卡内均维护有一共享软件表,该共享软件表主要用于记录堆叠系统的相关信息,具体包括:是否使能堆叠、标记是否已经完成ISTK启动过程、标记是否已经完成主从选择过程、标记是否已经完成配置同步过程、设备只有为主设备或者从设备反编译执行阶段才可以执行配置操作、设备是否正在启动时执行反编译、标记设备是否启动完成、是否堆叠端口,从1开始,包含cpu端口、堆叠系统中每台设备对应的设备类型、端口号与设备号映射表,包括cpu端口,值为0xff表示不存在、主设备物理地址(mac)、设备身份标识(ID)值、备份时间记录、备份计数、本设备的设备号(堆叠号)、主设备的设备号、用于堆叠发送堆叠出口左代表端口号,一般为汇聚第一个口、用于堆叠发送堆叠出口右代表端口号,一般为汇聚第一个口、本设备的端口数目, 为了方便运用,等于可堆叠系列设备的最大端口形态端口数、堆叠端口号与本地端口号映射表,包括cpu端口,值为0表示不存在、本身设备信息、达到该设备的最短路径端口号、堆叠口对应的物理端口、堆叠设备信息链表、堆叠设备信息,索引作为堆叠ID。共享软件表结构体具体如下:
typedef struct ISTK_SHARE_TABLE_tag{
BOOL bEnable; /是否使能堆叠/
BOOL bStartupEnd; /标记是否已经完成iSTK启
动过程/
BOOL bSelectEnd; /标记是否已经完成主从选择过
程/
BOOL bCfgSynEnd; /标记是否已经完成配置同步过
程/
BOOL bDriverSetEnable; /设备只有为主设备或者从
设备反编译执行阶段才可以执行配置操作/
BOOL bDriverBldrun; /设备是否正在启动时执行
反编译/
BOOL bSystemUp; /标记设备是否启动完成/
BOOL bStackPort[GBN_MAX_PORT+2]; /是否堆叠端口,从1开始,包
含cpu端口/
uchar_t devType[GLN_ISTK_DEV_NUM_MAX]; /堆叠系统中每台设备对应
的设备类型/
uchar_t portDevIdMap[GBN_MAX_PORT + 2]; /端口号与设备号映射表,
包括cpu端口,值为0xff表示不存在/
uchar_t macMaster[6]; /主设备mac地址/
uchar_t szStackId[ISTK_STACKID_LEN]; /设备ID值/
uint_t uiIstkBakupRec; /备份时间记录/
uint_t uiIstkBakupCount; /备份计数/
uint_t devLocal; /本设备的设备号(堆叠号)/
uint_t devMaster; /主设备的设备号/
uint_t istkLRpsPort; /用于堆叠发送堆叠出口左
代表端口号,一般为汇聚第一个口/
uint_t istkRRpsPort; /用于堆叠发送堆叠出口右
代表端口号,一般为汇聚第一个口/
uint_t unitPortNum; /本设备的端口数目, 为了
方便运用,等于可堆叠系列设备的最大端口形态端口数/
uint_t lportMap[GBN_MAX_PORT + 2]; /堆叠端口号与本地端口号
映射表,包括cpu端口,值为0表示不存在/
ISTK_DEV_INFO OwnDevInfo; /本身设备信息/
ISTK_PORT_MODE devMapPortMode[GLN_ISTK_DEV_NUM_MAX];/达到该设备
的最短路径端口号/
ISTK_STACK_PORT stackPort[GLN_ISTK_PORT_NUM_MAX]; /堆叠口对应的
物理端口/
ISTK_DEV_INFO stackDevList[GLN_ISTK_DEV_NUM_MAX]; /堆叠设备信息
链表/
ISTK_DRIVER_DEV_LIST driverDev[GLN_ISTK_DEV_NUM_MAX]; /堆叠设备
信息,索引作为堆叠ID/
}ISTK_SHARE_TABLE;
定义共享软件表:ISTK_SHARE_TABLE istkShareDataTbl; /堆叠共享软件
表/
c)框式交换机设备业务板卡根据所在槽位,通过通用输入输出端口(GPIO)定义值来获取对应的设备号(即业务板卡的设备号)和堆叠端口号。槽位1对应设备号0,槽位2对应设备号1,依次递增。堆叠端口根据芯片(即业务板卡)所支持的端口中,取两个作为堆叠端口,两个堆叠端口作为汇聚端口使用,业务板卡与业务板卡之间的堆叠口通过背板连接。
d)堆叠系统通过GPIO定义值,来区分产品(即业务板卡)ID,根据不同产品(即业务
板卡),对本地最大端口、1G端口、10G端口、40G端口等驱动全局软件表赋值。堆叠系统最大
端口软件表取堆叠模式下能支持的最大端口数,同时需要定义堆叠系统所支持的业务板
卡,单板卡最大端口数,比如堆叠系统最大支持4台业务板卡堆叠,单板卡最大能支持54个
端口,则系统最大端口软件表p_max_port_num=454=216。这里不取实际最大值的主要原
因如下:原因1:堆叠建立需要在平台其它功能协议初始化完之后,而其它业务功能协议初
始化需要用到全局最大软件表,需按最大规格初始化,避免堆叠起来后导致部分非本地端
口功能由于未初始化,出现异常;原因2:使各个进程之间的最大端口软件表保持一致,避免
频繁同步带来操作复杂,容易出错;原因3:端口号计算是通过框中业务板卡设备号(device
id)和业务子板端口数来运算得出,比如device id为2,业务子板端口数为54,则此业务板
卡的堆叠系统端口号(堆叠系统端口号是指在堆叠系统中的端口号)范围为254+1到3
54之间,即109~162,为了方便与最大端口数软件表比较,所以默认取最大支持数。
e)驱动初始化前的部分共享软件表赋值,根据产品形态初始化共享软件表当前芯片系列单芯片最大端口数,共享软件表本地设备号,共享软件表本地堆叠端口号。从驱动获取堆叠系统端口号到本地逻辑端口影射表,定义堆叠端口号,设置堆叠系统端口号到设备号映射表。上述共享软件表信息修改后,需同步到内核共享软件表。定义不同产品对应的用户端口形态表,用户端口号表示规则device id/slot id/sub port,其中device id为设备单元号,堆叠系统中对应的设备号(框式设备对应业务板卡号),slot id为单设备(即单业务板卡)或单板块上的子槽位号,用来区分不同的端口形态,比如一个业务板卡有28个端口,前面24个口为千兆电口,后面4个为万兆口,则定义万兆口为slot 1,千兆口为slot 0,sub port为每个槽位(即slot槽)对应的端口号,从1开始,不同业务板卡需要提前定义。
定义产品端口形态结构体
typedef struct st_ISTK_DEV_TYPE_USERPORT
{
uint_t uiPortNum; /单设备端口总数/
uint_t uiMinPort; /低速率端口总数/
uint_t uiSlotPort; /高速率端口总数或扩展端口总数/
}ISTK_DEV_TYPE_USERPORT;
定义:堆叠各业务板卡对应的端口形态表
ISTK_DEV_TYPE_USERPORT istkDevTypeUser[最大支持产品数量] = {
/ISTK_DEVICE_TYPE_NONE/ {0, 0, 0},
/ISTK_DEVICE_TYPE_9300_28GT/ {28, 24, 4},
/ISTK_DEVICE_TYPE_9300_28SCT/ {28, 24, 4},
/ISTK_DEVICE_TYPE_9300_28SCT_C1/ {28, 24, 4},
/ISTK_DEVICE_TYPE_9300_28GT_C2/ {26, 24, 2},
/ISTK_DEVICE_TYPE_9310_52GT/ {52, 48, 4},
/ISTK_DEVICE_TYPE_9310_54GT/ {54, 48, 6},
/ISTK_DEVICE_TYPE_9310_50TSX/ {54, 48, 6},
/ISTK_DEVICE_TYPE_MAX/ {0, 0, 0},
};
根据如上软件表定义,ISTK_DEVICE_TYPE_9300_28GT业务板卡:端口总数为28,低速率端口总数为24,扩展端口总数为4。
f)初始化交换机芯片驱动、二层协议、三层协议等其它业务功能模块,所有端口相关功能以堆叠系统最大端口进行初始化,在驱动层只下本设备的端口硬件信息。
g)初始化堆叠进程,初始化堆叠共享软件表,初始化堆叠相关线程,初始化堆叠驱动及堆叠端口,通过堆叠协议机制,设备(即业务板卡)与设备(即业务板卡)之间通过堆叠协议建立连接,通过初始化、相互发现、相互学习、主从选择、数据同步流程形成一个堆叠系统。
基于上述框式交换机的启动、初始化过程,如图3所示,本申请实施例提供的框式交换机业务板卡混插管理方法包括如下步骤:
步骤31,框式交换机内各业务板卡按照优先级竞选规则进行竞选;其中,优先级最高的业务板卡竞选为主设备,其他业务板卡为从设备。
在本申请的一些实施例中,上述框式交换机内各业务板卡均配置有优先级,上述优先级竞选规则指的是将优先级最高的业务板卡作为主设备,其他业务板卡作为从设备。
需要说明的是,若框式交换机内各业务板卡的优先级均为默认值(即各业务板卡的优先级相同),则将各业务板卡中设备号最小的业务板卡为优先级最高的业务板卡。
步骤32,框式交换机内的每个业务板卡分别执行:通过堆叠口同步其他业务板卡的类型,并将其他业务板卡的类型、其他业务板卡的端口形态和其他业务板卡对应的设备号存储至自身的共享软件表中。
框式交换机中每个业务板卡的端口形态包括业务板卡支持的最大端口数、业务板卡的低速率端口总数以及业务板卡端口总数等信息。
在本申请的一些实施例中,主要通过堆叠协议同步其他业务板卡的类型,并以业务板卡的设备号保存产品类型至对应的共享软件表,不在线的业务槽位共享软件表中产品类型为空。这样每个业务板卡彼此之间都知道各自的产品类型,通过上述istkDevTypeUser端口形态软件表,就知道各自对应的端口情况。
步骤33,初始化框式交换机内所有业务板卡对应的堆叠系统端口号到芯片物理端口映射关系软件表。
上述芯片物理端口映射关系软件表主要用于记录各业务板卡的堆叠系统端口号与物理端口号之间的映射关系,以便在驱动下发和驱动获取时进行端口运算。
在本申请的一些实施例中,可根据各个业务板卡的形态(即业务板卡的ID),初始化各业务板卡对应的堆叠系统端口号SPORT到芯片物理端口映射关系软件表。
芯片物理端口映射关系软件表,包括cpu端口,值为0xff表示不存在。由于业务板卡端口形态不同,因此每个业务板卡对应关系不同。
uchar_t ucg_PortChipHwMap[堆叠系统最大端口数];
/堆叠硬件端口到堆叠系统逻辑端口映射表/
uint_t uig_HwPortSnmpMap[最大设备号][单芯片最大端口数量];
本地逻辑端口Lport =(SPORT - 1)/ 芯片支持的最大端口数的余数 + 1;对应设备号DEV_ID=(SPORT - 1)/ 芯片支持的最大端口数, 通过传入的业务板卡形态,根据硬件端口设计映射关系,得出芯片物理端口到单业务板本地逻辑端口映射表PortChipHwMap与Lport映射关系,并对ucg_PortChipHwMap = port_map[Lport]赋值。芯片物理端口到堆叠系统端口反映射表uig_HwPortSnmpMap[ID][ PortChipHwMap] = SPORT。其中,PortChipHwMap的值就是芯片物理端口,Lport是当前业务板卡上面板端口号,port_map[Lport]是本业务板卡的逻辑端口到物理端口映射值,即得到芯片物理端口号。
步骤34,框式交换机向主设备下发配置指令,主设备通过堆叠口将配置指令下发至各从设备,并在本设备驱动层设置配置指令对应的硬件寄存器,同时在配置指令对应的虚拟驱动层将虚拟驱动接口函数通过堆叠口同步给各从设备。
在本申请的一些实施例中,框式交换机通过主设备集中下发配置指令到各个从设备。具体的,主设备通过堆叠协议同步到从设备。且主设备在自身设置与配置指令对应的硬件寄存器的同时,在虚拟驱动层将虚拟驱动接口函数通过所述堆叠口同步给各从设备,以实现虚拟驱动接口同步。
步骤35,每个从设备根据配置指令的类型和共享软件表判断自身是否需要执行配置指令对应的驱动配置,若需要执行驱动配置,则根据芯片物理端口映射关系软件表设置驱动配置对应的硬件寄存器;否则,仅修改驱动软件表。
上述驱动软件表主要用于记录框式交换机的业务功能。当从设备不需要执行配置指令对应的驱动配置时,该从设备进修改驱动软件表中与该配置指令对应的配置数据。
在本申请的一些实施例中,框式交换机通过主设备下发的配置指令主要用于指示相关业务板卡完成相应配置。
需要说明的是,从设备在接收到主设备下发的配置指令后,需要根据配置指令的类型和共享软件表判断自身是否需要执行配置指令,只有在需要执行配置指令时,才根据芯片物理端口映射关系软件表中堆叠系统端口号与物理端口号之间的映射关系设置配置指令对应的硬件寄存器。
在本申请的一些实施例中,从设备可通过如下方式确定自身是否需要执行配置指令对应的驱动配置:确定配置指令的类型;若配置指令为全局配置指令,则确定自身需要执行配置指令对应的驱动配置;若配置指令为基于端口的配置指令,则根据共享软件表判断端口是否为自身的端口,若是,则确定自身需要执行配置指令对应的驱动配置,否则,确定自身不需要执行配置指令对应的驱动配置。
其中,根据共享软件表判断端口是否为自身的端口的过程为:判断是否成立;若成立,则确定端口是自身的端口;否则,确定端口不是自身的端口。其中,/>表示配置指令中端口对应的堆叠系统端口号,/>表示从设备的设备号,/>表示从设备支持的最大端口数,/>表示从设备的槽位号,/>表示从设备的低速率端口总数,/>表示从设备的槽位端口号(即前文的slot id)。
在上述堆叠系统中,堆叠系统最大端口号MN满足如下关系表达式:。其中,/>表示框式交换机中业务板卡的数量,/>表示框式交换机中单个业务板卡支持的最大端口数。
需要说明的是,堆叠系统中的交换协议和其它功能都以堆叠系统端口进行运算和软件表记录。此端口系统端口号传入到驱动层,需要转换成物理端口号,才能下发硬件,如果此端口配置非本设备端口,且无需下本地硬件表,仅记录软件表或直接返回。堆叠系统端口号到本地芯片物理端口号转换方法:通过堆叠硬件端口到堆叠系统逻辑端口映射表ucg_PortChipHwMap直接映射,设备号通过堆叠系统端口号与物理端口号之前的对应关系得出。框式设备会存在有些槽位不插板的情况,这样会存在一些运算端口不存在,通过判断istkShareDataTbl.lportMap[stack port]是否等于0,来判断堆叠系统端口stack port是否存在,如果等于0,则直接返回不存在错误,不进行下发硬件操作。
在本申请的一些实施例中,当框式交换机需要获取业务板卡静态配置数据时,可直接向主设备请求获取,无需通过堆叠协议和从业务板卡交互来获取。具体的获取方式为:框式交换机向主设备请求业务板卡静态配置数据,然后由主设备从驱动软件表中获取业务板卡静态配置数据,并将获取到的业务板卡静态配置数据返回给框式交换机。
其中,上述业务板卡静态配置数据可以为从设备的配置数据,如某端口配置。可以理解的是,为方便主设备准确返回相应业务板卡的配置数据,框式交换机在发送用于请求业务板卡静态配置数据的指令时,可在指令中携带所要请求的业务板卡的设备号,以便主设备返回该业务板卡的业务板卡静态配置数据。
在本申请的一些实施例中,当框式交换机需要获取业务板卡动态数据时,可通过与主设备交互获得。具体的获取过程如下:
框式交换机向主设备发送用于请求业务板卡动态数据的动态数据获取指令,主设备根据动态数据获取指令中携带的设备号确定业务板卡动态数据所属的业务板卡;
主设备在确定出业务板卡动态数据所属的业务板卡为自身时,直接向框式交换机返回业务板卡动态数据;
主设备在确定出业务板卡动态数据所属的业务板卡为从设备时,通过堆叠口从该从设备获取业务板卡动态数据,并将获取到的业务板卡动态数据返回给框式交换机。
其中,主设备在确定出业务板卡动态数据所属的业务板卡为从设备时,可通过堆叠协议从该从设备获取对应的硬件寄存器的值,从而获取业务板卡动态数据。
上述业务板卡动态数据具体可以为端口实时统计、业务板卡温度、CPU利用率等动态数据。可以理解的是,动态数据还有一些单板自动学习或生成的数据,需要实时同步的,比如MAC地址,同样由从设备将新增或老化MAC地址及状态通过堆叠协议发送给主设备,主设备再同步给各个业务板卡,进行下发到芯片MAC表。MAC地址同样会关联设备物理端口,获取端口实时数据和MAC等动态生成数据,需要将物理端口转换为堆叠系统端口,供平台协议和功能调用,这边保证平台功能对底层堆叠无感,真正做到多虚一,也简化协议平台开发难度。物理端口到堆叠系统端口号stack port转换方式为:stack port = uig_HwPortSnmpMap [芯片设备号][芯片物理端口号],uig_HwPortSnmpMap为芯片物理端口到堆叠系统端口反映射表;同时堆叠系统端口号还需要转换成用户端口号形式,给用户查看,XD/XS/XP,其中XD= (stack_port-1)/芯片支持的最大端口数,单板本地端口LPORT =(stack_port - 1) /芯片支持的最大端口数的余数+ 1,若LPORT>istkDevTypeUser[业务板产品类型].uiMinPort成立,则XS等于1,若LPORT>istkDevTypeUser[业务板产品类型].uiMinPort不成立,则XS等于0, 如果XS等于1,则XP = LPORT - istkDevTypeUser[业务板产品类型].uiMinPort, 否则XP = LPORT。其中,istkDevTypeUser为端口形态软件表,uiMinPort为低速率端口总数,芯片支持的最大端口数即为业务板卡支持的最大端口数,stack_port即为前文的堆叠系统端口号stack port。
在本申请的一些实施例中,当新插入或拔出业务板卡时,需通过堆叠协议对对应业务板卡数据进行清除或更新拓扑及数据信息,对应板设备在位数据和端口数据也需要更新和同步。同时如果主设备更新,则需要重新选举主设备,并同步更新命令配置权限和主设备号等信息。
由上可见,本申请实施例的管理方法通过先定义共享软件表、全局最大端口数(即上述堆叠系统最大端口号)计算方式、堆叠系统端口号、用户端口号、产品端口形态,同步业务板卡之间的产品形态及端口形态对应关系,通过规则制定和计算得到堆叠系统端口号到硬件物理端口号之间映射关系,从而能正确下发对应的硬件表项,然后通过用户端口号到对应的业务板卡及业务板卡上对应端口的一个转换关系及计算方法,完成用户配置到硬件表下发,再通过硬件物理端口号到用户端口号之间的一个转换关系及计算方法,完成框式交换机的响应,从而达到用户感官上的端口显示。
以上的机制实现,能灵活支持不同端口形态的业务板之间堆叠、热插拔,并做到集中管理和业务转发多虚一。通过本申请实现的框式交换机业务版卡混插管理方法,用户操作和普通非框式交换机操作一致,用户无需关注堆叠机制,也无需关心业务板之间转发逻辑和操作流程;对于上层应用和协议开发来说,无需关心堆叠及堆叠机制,协议完全独立于堆叠及驱动,业务板的改动及增加不同形态的业务板不影响协议及平台功能代码的使用,降低平台软件开发维护难度。
值得一提的是,在本申请提供的管理方法中,框式交换机的主控板卡并不参与堆叠运算、协议运转和交换机其它业务功能,其仅用于为用户提供操作窗口,交换机所有业务功能都由业务板卡自身完成,与现有技术相比,本申请对主控板卡的性能要求较低,因此本申请的主控板卡的成本低于现有技术中主控板的成本,降低了框式交换机的成本。同时本申请的框式交换机内无需为主控板卡设置备用板,从而进一步降低了框式交换机的成本。
可以理解的是,上述主设备实际为框式交换机上的一业务板卡,因此交换机中混插的业务板卡的数量与主设备的处理能力相关,一般支持3到4槽位的业务板卡。
以上所述是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (8)
1.一种框式交换机业务板卡混插管理方法,其特征在于,所述框式交换机的背板上插设有多个业务板卡和仅用于为用户提供操作窗口的主控板卡,每个所述业务板卡均通过管理网口与所述主控板卡通讯连接,所述多个业务板卡中任意两个业务板卡均通过堆叠口通讯连接,所述管理方法包括:
所述框式交换机内各业务板卡按照优先级竞选规则进行竞选;其中,优先级最高的业务板卡竞选为主设备,其他业务板卡为从设备;
所述框式交换机内的每个业务板卡分别执行:通过堆叠口同步其他业务板卡的类型,并将其他业务板卡的类型、其他业务板卡的端口形态和其他业务板卡对应的设备号存储至自身的共享软件表中;
初始化所述框式交换机内所有业务板卡对应的堆叠系统端口号到芯片物理端口映射关系软件表;所述芯片物理端口映射关系软件表用于记录各业务板卡的堆叠系统端口号与物理端口号之间的映射关系;
所述框式交换机向主设备下发配置指令,所述主设备通过所述堆叠口将所述配置指令下发至各从设备,并在本设备驱动层设置所述配置指令对应的硬件寄存器,同时在所述配置指令对应的虚拟驱动层将虚拟驱动接口函数通过所述堆叠口同步给各从设备;
每个所述从设备根据所述配置指令的类型和所述共享软件表判断自身是否需要执行所述配置指令对应的驱动配置,若需要执行所述驱动配置,则根据所述芯片物理端口映射关系软件表设置所述驱动配置对应的硬件寄存器;否则,仅修改驱动软件表。
2.根据权利要求1所述的管理方法,其特征在于,所述管理方法还包括:
所述框式交换机向所述主设备发送用于请求业务板卡动态数据的动态数据获取指令,所述主设备根据所述动态数据获取指令中携带的设备号确定所述业务板卡动态数据所属的业务板卡;
所述主设备在确定出所述业务板卡动态数据所属的业务板卡为自身时,直接向所述框式交换机返回所述业务板卡动态数据;
所述主设备在确定出所述业务板卡动态数据所属的业务板卡为从设备时,通过所述堆叠口从该从设备获取所述业务板卡动态数据,并将获取到的业务板卡动态数据返回给所述框式交换机。
3.根据权利要求1所述的管理方法,其特征在于,所述管理方法还包括:
所述框式交换机向所述主设备请求业务板卡静态配置数据;
所述主设备从驱动软件表中获取业务板卡静态配置数据,并将获取到的业务板卡静态配置数据返回给所述框式交换机。
4.根据权利要求1所述的管理方法,其特征在于,所述根据所述配置指令的类型和所述共享软件表判断自身是否需要执行所述配置指令对应的驱动配置,包括:
确定所述配置指令的类型;
若所述配置指令为全局配置指令,则确定自身需要执行所述配置指令对应的驱动配置;
若所述配置指令为基于端口的配置指令,则根据所述共享软件表判断所述端口是否为自身的端口,若是,则确定自身需要执行所述配置指令对应的驱动配置,否则,确定自身不需要执行所述配置指令对应的驱动配置。
5.根据权利要求4所述的管理方法,其特征在于,所述每个业务板卡的端口形态包括业务板卡支持的最大端口数以及业务板卡的低速率端口总数;
所述根据所述共享软件表判断所述端口是否为自身的端口,包括:
判断是否成立;其中,/>表示所述端口对应的堆叠系统端口号,/>表示所述从设备的设备号,/>表示所述从设备支持的最大端口数,/>表示所述从设备的槽位号,/>表示所述从设备的低速率端口总数,/>表示所述从设备的槽位端口号;
若成立,则确定所述端口是自身的端口;
否则,确定所述端口不是自身的端口。
6.根据权利要求5所述的管理方法,其特征在于,堆叠系统最大端口号MN满足如下关系表达式:
,其中,/>表示所述框式交换机中业务板卡的数量,/>表示所述框式交换机中单个业务板卡支持的最大端口数。
7.根据权利要求1所述的管理方法,其特征在于,所述框式交换机内各业务板卡均配置有优先级。
8.根据权利要求7所述的管理方法,其特征在于,若所述框式交换机内各业务板卡的优先级均为默认值,则所述各业务板卡中设备号最小的业务板卡为优先级最高的业务板卡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311509718.9A CN117240715B (zh) | 2023-11-14 | 2023-11-14 | 一种框式交换机业务板卡混插管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311509718.9A CN117240715B (zh) | 2023-11-14 | 2023-11-14 | 一种框式交换机业务板卡混插管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117240715A CN117240715A (zh) | 2023-12-15 |
CN117240715B true CN117240715B (zh) | 2024-01-23 |
Family
ID=89086427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311509718.9A Active CN117240715B (zh) | 2023-11-14 | 2023-11-14 | 一种框式交换机业务板卡混插管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117240715B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE20023622U1 (de) * | 1999-02-23 | 2005-07-07 | Alcatel Internetworking, Inc., Calabasas | Daten-Switch |
CN107040393A (zh) * | 2015-08-21 | 2017-08-11 | 新华三技术有限公司 | 一种路由管理方法和设备 |
CN107547132A (zh) * | 2017-05-31 | 2018-01-05 | 新华三技术有限公司 | 一种板卡及分布式设备 |
CN109634678A (zh) * | 2019-01-07 | 2019-04-16 | 烽火通信科技股份有限公司 | 一种灵活支持多种板卡的方法及系统 |
CN113038299A (zh) * | 2021-03-02 | 2021-06-25 | 深圳市信锐网科技术有限公司 | 一种交换机、配置方法、控制方法以及存储介质 |
CN113672411A (zh) * | 2021-08-25 | 2021-11-19 | 烽火通信科技股份有限公司 | 一种网络设备虚拟化驱动适配层的实现方法和装置 |
-
2023
- 2023-11-14 CN CN202311509718.9A patent/CN117240715B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE20023622U1 (de) * | 1999-02-23 | 2005-07-07 | Alcatel Internetworking, Inc., Calabasas | Daten-Switch |
CN107040393A (zh) * | 2015-08-21 | 2017-08-11 | 新华三技术有限公司 | 一种路由管理方法和设备 |
CN107547132A (zh) * | 2017-05-31 | 2018-01-05 | 新华三技术有限公司 | 一种板卡及分布式设备 |
CN109634678A (zh) * | 2019-01-07 | 2019-04-16 | 烽火通信科技股份有限公司 | 一种灵活支持多种板卡的方法及系统 |
CN113038299A (zh) * | 2021-03-02 | 2021-06-25 | 深圳市信锐网科技术有限公司 | 一种交换机、配置方法、控制方法以及存储介质 |
CN113672411A (zh) * | 2021-08-25 | 2021-11-19 | 烽火通信科技股份有限公司 | 一种网络设备虚拟化驱动适配层的实现方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117240715A (zh) | 2023-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3940410B2 (ja) | ネットワーク・インターフェース・カードを介したマルチノード区分編成データ処理システム内におけるリモート電源制御 | |
US7398380B1 (en) | Dynamic hardware partitioning of symmetric multiprocessing systems | |
US8386654B2 (en) | System and method for transforming PCIe SR-IOV functions to appear as legacy functions | |
CN102707991B (zh) | 多根i/o虚拟化共享方法和系统 | |
US7925795B2 (en) | Method and system for configuring a plurality of network interfaces that share a physical interface | |
US8046627B2 (en) | Server failover control method and apparatus and computer system group | |
CN105302248B (zh) | 芯片组以及服务器系统 | |
CN110474792B (zh) | 网络配置方法、设备及系统 | |
US8180862B2 (en) | Arrangements for auto-merging processing components | |
US20090187694A1 (en) | Computer system and management method thereof | |
US20090073896A1 (en) | Arrangements for auto-merging and auto-partitioning processing components | |
CN101436165A (zh) | 用于iov适配器管理的系统和方法 | |
CN104615455B (zh) | 一种atca架构的ipmc程序远程升级方法及装置 | |
CN104881105B (zh) | 电子装置 | |
CN110554943A (zh) | 一种基于i3c的多节点服务器cmc管理系统及方法 | |
CN107659677A (zh) | 一种基于bmc的ip地址自动配置的装置和方法 | |
WO2019071800A1 (zh) | 电子设备、网络共享方法及装置 | |
CN115022109A (zh) | 一种用于智能边缘一体机的数据管理方法及车站云系统 | |
CN117240715B (zh) | 一种框式交换机业务板卡混插管理方法 | |
US7103639B2 (en) | Method and apparatus for processing unit synchronization for scalable parallel processing | |
US20140229602A1 (en) | Management of node membership in a distributed system | |
CN100512282C (zh) | 采用单进程处理路由协议栈的方法 | |
CN105468562B (zh) | 芯片组以及服务器系统 | |
CN111343087B (zh) | 一种可复用多用途分布式路由器系统和实现方法 | |
CN111464346A (zh) | 基于atca架构的主备用控制板同步方法及系统 |
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 |