实现网络处理器与交换芯片互相通信的方法及装置的制作方法

文档序号:7660402阅读:152来源:国知局
专利名称:实现网络处理器与交换芯片互相通信的方法及装置的制作方法
技术领域
本发明涉及数据通信领域,尤其涉及一种实现网络处理器与交换芯片互相 通信的方法及装置。
背景技术
分布式多业务硬件平台主要围绕NPU (Network Processor,网络处理器,) 和Switch Fabric (交换芯片)来构建。CSIX (Common Switch Interface Specification,公共交换接口协会)接口 是SwitchFabric的主要接口标准之一。CSIX接口由NP论坛制定。CSIX接口 的主要特性有支持不定长或定长信元交换;支持优先级;支持多种方式的组 播;支持流控。CSIX接口的基本数据单元称为CFrame (本文中的帧即指 CFrame ),每个CFrame的最大净荷(Payload)为256字节。CFrame的类型有 IDLE CFrame (空闲帧)、Unicast CFrame (单播帧)、Multicast CFrame (多播 帧)、Broadcast CFrame (广播帧)和Flow Control CFrame (流控帧)。其中空闲帧是没有数据需要传递或者不能够传递数据的时候所相互传递的帧;流控帧 是用于传递流控信息的帧;单播帧、多播帧和广播帧是用于传递数据的,在此 将其统称为数据帧。CSIX接口有两种流控方式链路级流控信息和流控帧。链路级流控信息 是通过位于每个CFrame前2Byte的Base Header (基本头)中2bit的Ready区 域传递的,基本头第一个字节的Bit7称为Drdy,为1的时候表示可以接收数 据帧(即单播帧、多播帧或广播帧),为O表示不能接收数据帧;CFrame第一 个字节的Bit6称为Crdy,为1的时候表示可以接收流控帧,为O表示不能够 接收流控帧。流控帧通过其净荷中的Flow Control Entry (流控体)来传递更为
复杂的流控信息,流控体通过其中Class (服务分类)、Destination Address (目 的地址)、Class通配符(C*)和端口通配符(P*)产生基于服务分类和目的地 址的更加细致的流控,最大支持的服务分类和目的地址分别是256和4096,流 控体通过Speed (速率控制)来指示此流控体所描述的数据帧需要以哪一种速 率等级进行传输。CSIX接口的接收方通过向发送方发送链路级流控信息和流 控帧实现流控。目前有4艮多网络处理器的接口为系统包接口 ( System Packet Interface, SPI ),包括SPI-3 (系统包接口等级3 )与SPI-4.2 (系统包接口等级4阶段2 ), 本文中的SPI4即指SPI-4.2。在系统包接口中,数据包的传递是以Burst的方式进行传输,数据包以SOP (Start Of Packet,包开始)和EOP ( End Of Packet,包结束)信息指示数据包 的开始与结束。每个数据包都有相应的端口号。其流控是基于逻辑端口的,当 接收方某个端口的FIFO将满,不能够继续接收数据时候,通过流控信号将该 端口号的流控信息传递给发送方。由于系统包接口与CSIX接口的信号定义以及数据格式都不相同,因此现 有技术中系统包接口的NPU无法与支持CSIX接口的交换芯片实现互联互通。发明内容本发明提供一种实现网络处理器与交换芯片互相通信的方法及装置,使得 具有系统包接口的网络处理器能够与具有CSIX接口的交换芯片互联互通。 一种实现网络处理器与交换芯片通信的方法,包括步骤A、 接收网络处理器系统包接口发出的系统包,根据端口号区分该系统包 的类型,若是数据包,执行步骤B,若是流控包,执行步骤C;B、 根据数据包中携带的CSIX接口信息查询该数据包所属分类的流控信 息,判断该数据包是否被允许发送,若允许,则将该数据包分割为CSIX接口 的数据帧,并根据CSIX接口的链路级流控信息向交换芯片发送该数据帧;
C、将流控包转换为CSIX接口的流控帧,并根据CSIX接口的链路级流控信息向交换芯片发送该流控帧。所述流控包通过网络处理器系统包接口的特定端口号传输。所述CSIX接口信息中包括目的地址、服务等级、数据帧类型及源地址。所述步骤A中,在接收系统包接口发出的系统包的同时,根据数据包分割 及流控包转换的处理状况产生针对系统包接口的流控信息。所述步骤B中,若数据包不被允许发送,则根据预设的配置信息中指定的 该类型的数据包的处理方式处理该数据包。所述步骤B中,将所述数据包分割为CSIX接口的数据帧时,在数据帧中 放置包开始、包结束、源地址及顺序号信息。在将流控包转换为CSIX接口的流控帧时,若该流控包的净荷大于一个 CSIX接口流控帧的最大净荷时,则将该流控包分割成若干个流控帧。在将流控包转换为CSIX接口的流控帧的同时,提取并保存流控包中携带 的流控信息,所述流控信息中指示了不允许发送给网络处理器的数据帧的类 型。在数据帧及流控帧均等待发送的情况下,优先发送流控帧。 在发送数据帧或流控帧的同时,根据数据帧存储介质及流控帧存储介质的空满状态产生在将系统包转换为CSIX接口帧过程中的链路级流控信息,并将其通过CSIX接口发送给交换芯片。一种实现网络处理器与交换芯片通信的装置,包括系统包接收模块、数据包分割模块、流控包转换模块及CSIX接口帧发送模块,其中,系统包接收模块,用于接收网络处理器系统包接口发出的系统包,根据逻 辑端口号区分该系统包的类型,将数据包发送给数据包分割模块,将流控包发送给流控包转换模块;数据包分割模块,用于根据数据包中携带的CSIX接口信息查询该数据包 所属类别的流控信息,判断该数据包是否被允许发送,若允许,则将其分割为CSIX接口的数据帧,否则,根据配置信息中指定的该类型的数据包的处理方 式处理该数据包;流控包转换模块,用于将流控包转换为CSIX接口的流控帧,同时提取流 控包中携带的流控信息;CSIX接口帧发送模块,用于根据CSIX接口的链路级流控信息向交换芯片 发送数据帧及流控帧。所述装置还包括,网络处理器流控信息存储模块,用于保存流控包中携带的流控信息。 一种实现交换芯片与网络处理器通信的方法,包括步骤A、 接收CSIX接口发出的帧,根据帧的基本头的类型信息确定接收到的 帧的类型,若是空闲帧,则丢弃,若是数据帧,则执行步骤B,若是流控帧, 则执行步骤C;B、 根据数据帧的CSIX接口信息查询该数据帧所属分类的流控信息,判 断该数据帧是否被允许发送,若允许,则根据数据帧的CSIX接口信息及包信 息对数据帧进行分类,并重组为数据包,根据系统包接口的流控信息向网络处 理器发送该数据包;C、 将流控帧转换为系统包接口的流控包,并根据系统包接口的流控信息 向网络处理器发送该流控包。所述CSIX接口信息中包括数据帧的服务等级及数据帧的类型。 所述数据帧的包信息中包括包开始、包结束、源地址及顺序号信息。 所述步骤A中还包括从CSIX接口发出的帧的基本头中提取CSIX接口的链路级流控信息的步骤。所述步骤B中,若数据帧不被允许发送,则根据预设的配置信息中指定的该类型的数据帧的处理方式处理该数据帧。在将CSIX接口的流控帧转换为流控包时,提取并保存流控帧中携带的流控信息,所述流控信息中指示了不允许发送给交换芯片的数据包的类型。 在数据包及流控包均等待发送的情况下,优先发送流控包。一种实现交换芯片与网络处理器通信的装置,包括CSIX帧接收模块、数据帧重组模块、流控帧转换模块及系统包发送模块,其中,CSIX帧接收模块,用于接收CSIX接口发出的帧,根据帧的基本头的类型信息确定接收到的帧的类型,若是空闲帧,则丟弃,若是数据帧,则发送给数据帧重组模块,若是流控帧,则发送给流控帧转换模块;数据帧重组^t块,用于根据数据帧的CSIX接口信息查询该数据帧所属分 类的流控信息,判断该数据帧是否被允许发送,若允许,则根据数据帧的CSIX 接口信息及包信息对数据帧进行分类,并重组为数据包,否则,则根据预设的配置信息中指定的该类型的数据帧的处理方式处理该数据帧;流控帧转换模块,用于将流控帧转换为系统包接口的流控包,并提取流控帧所包含的流控信息;系统包发送模块,用于根据系统包接口的流控信息向网络处理器发送数据包及流控包。所述装置还包括,交换芯片流控信息存储模块,用于存储流控帧包含的流控信息。本发明扩展了系统包接口的应用,使得具有系统包接口的网络处理器能够与具有CSIX接口的交换芯片互联。本发明通过端口号区分流控包还是数据包,利用流控包传递流控信息,完成流控包与流控帧的转换,实现了网络处理器与交换芯片之间有效地传递更为复杂的流控信息。有效解决了现有技术中网络处理器与交换芯片之间无法传递流控信息的缺陷。本发明将流控信息存储在内部,可自动完成丢弃不能够向前发送的数据报 文,由硬件完成流控的处理,从而有效解决了现有技术中全部流控由网络处理 器处理的缺陷,提高了网络处理器的处理效率。


图1为本发明中实现网络处理器与交换芯片通信的方法的流程图;图2为本发明中实现交换芯片与网络处理器通信的方法的流程图;图3为本发明实现网络处理器与交换芯片通信的装置的结构框图;图4为本发明实现交换芯片与网络处理器通信的装置的结构框图;图5为本发明实现网络处理器与交换芯片互相通信的装置的结构示意图;图6为本发明SPI4流控包净荷的格式示意图;图7为本发明流控帧的格式示意图;图8为本发明SPI4数据包净荷的格式示意图;图9为本发明数据帧的格式示意图;图10为本发明实现网络处理器与交换芯片通信的系统结构示意图。
具体实施方式
下面将结合各个附图对本发明的具体实现过程做进一步详细的阐述。本发明在网络处理器系统包接口传输的包中增加了流控包,流控包的净荷 是一个或多个流控体,流控包通过系统包接口的特定的端口号传递。请参阅图1,该图为本发明中实现网络处理器与交换芯片通信的方法的流 程图,其主要实现过程为步骤SIO、接收网络处理器系统包接口发出的系统包,同时根据数据包分 割及流控包转换的处理状况产生针对系统包接口的流控信息。步骤Sll、根据发送系统包的端口号区分该系统包的类型,本发明中流控 包通过特定的端口号传递,若网络处理器通过该特定的端口号发送该系统包, 则证明该系统包为流控包,执行步骤16,若网络处理器通过其他端口号发送该 系统包,则证明该系统包为数据包,执行步骤12。步骤S12、从数据包的CSIX—INFO域中提取CSIX接口信息,所述CSIX 接口信息中包括数据包的源地址、目的地址、服务等级及转换后的数据帧类型。
步骤S13、根据所述CSIX接口信息从交换芯片流控信息中查询该数据包 所属分类的流控信息,根据该流控信息判断该数据包是否被允许发送,若允许, 执行步骤S14,否则,执行步骤S15。步骤S14、将数据包分割为CSIX接口的数据帧,将数据包的实际净荷分 割放置在多个数据帧的实际净荷中,并在数据帧净荷的固定位置放置包信息, 包括包开始、包结束、源地址及顺序号,执行步骤S17。步骤S15、根据预设的配置信息中指定的该类型的数据包的处理方式处理 该数据包,例如若配置信息指定将该类型的不能发送的数据包丢弃,则丢弃该 数据包。步骤S16、将流控包转换为CSIX接口的流控帧,流控体作为流控帧的净 荷,若一个流控包的净荷大于一个CSIX接口流控帧的最大净荷时,则将该流 控包分割成若干个流控帧,同时提取并保存每个流控体中携带的流控信息,所 述流控信息中指示了不允许发送给网络处理器的数据帧的类型,执行步骤S17。步骤S17、根据CSIX接口的链路级流控信息向交换芯片发送数据帧或流 控帧,在数据帧及流控帧均等待发送的情况下,优先发送流控帧,同时根据数 据帧存储介质及流控帧存储介质的空满状态产生在将系统包转换为CSIX接口 帧过程中的链路级流控信息,并将其通过CSIX接口发送给交换芯片。请参阅图2,该图为本发明中实现交换芯片与网络处理器通信的方法的流 程图,其主要实现过程为步骤S20、接收CSIX接口发出的帧,从CSIX接口发出的帧的基本头中 提取并保存CSIX接口的链路级流控信息,供网络处理器向交换芯片发送数据 时使用。步骤S21、根据接收到的帧的基本头的类型信息确定接收到的帧的类型, 若是空闲帧,则丢弃,若是数据帧,则执行步骤S22,若是流控帧,则执行步 骤S26。步骤S22、从数据帧的基本头中提取数据帧的CSIX接口信息,所述CSIX
接口信息中包括数据帧的服务等级及数据帧的类型信息,同时从数据帧的净荷 中提取包信息,所述包信息中包括包开始、包结束、顺序号及源地址信息。步骤S23、根据数据帧的服务等级、数据帧的类型信息以及数据帧的源地址信息查询该数据包所属分类的流控信息,根据该流控信息判断该数据包是否被允许发送,若是,执行步骤S24,否则,执行步骤S25。步骤S24、对数据帧进行分类,再根据各个类别的数据帧中的包信息将数 据帧重组为完整的数据包,执行步骤S27。步骤S25、根据预设的配置信息中指定的该类型的数据帧的处理方式处理 该数据帧。步骤S26、将流控帧中的各个流控体作为流控包的净荷,同时提取并保存 流控帧中每个流控体的流控信息,所述流控信息中指示了不允许发送给交换芯 片的数据包的类型,执行步骤S27。步骤S27、根据系统包接口的流控信息向网络处理器发送数据包或流控包, 在数据包及流控包均等待发送的情况下,优先发送流控包。相应于本发明上述实现网络处理器与交换芯片通信的方法,本发明进而提 出了一种实现网络处理器与交换芯片通信的装置,请参阅图3,该图为本发明 实现网络处理器与交换芯片通信的装置的结构框图,其主要包括系统包接收模 块30、数据包分割模块31、流控包转换模块32、 CSIX接口帧发送模块33及 网络处理器流控信息存储模块34,其中,系统包接收模块30,用于接收网络处理器系统包接口发出的系统包,根据 逻辑端口号区分该系统包的类型,将数据包发送给数据包分割模块31,将流控 包发送给流控包转换模块32;数据包分割模块31,用于根据数据包中携带的CSIX接口信息查询该数据 包所属类别的流控信息,判断该数据包是否被允许发送,若允许,则将其分割 为CSIX接口的数据帧,否则,根据配置信息中指定的该类型的数据包的处理 方式处理该数据包;
流控包转换模块33 ,用于将流控包转换为CSIX接口的流控帧,同时提取 流控包中携带的流控信息;CSIX接口帧发送模块34,用于根据CSIX接口的链路级流控信息向交换 芯片发送数据帧及流控帧;网络处理器流控信息存储模块35,用于保存流控包中携带的流控信息。相应于本发明上述实现交换芯片与网络处理器通信的方法,本发明进而提 出了一种实现交换芯片与网络处理器通信的装置,请参阅图4,该图为本发明 实现交换芯片与网络处理器通信的装置的结构框图,其主要包括CSIX帧接收 模块40、数据帧重组模块41、流控帧转换模块42、系统包发送模块43及交换 芯片流控信息存储模块44,其中,CSIX帧接收模块40,用于接收CSIX接口发出的帧,根据帧的基本头的 类型信息确定接收到的帧的类型,若是空闲帧,则丢弃,若是数据帧,则发送 给数据帧重组模块41,若是流控帧,则发送给流控帧转换模块42;数据帧重组模块41,用于根据数据帧的CSIX接口信息查询该数据帧所属 分类的流控信息,判断该数据帧是否被允许发送,若允许,则根据数据帧的 CSIX接口信息及包信息对数据帧进行分类,并重组为数据包,否则,则根据 预设的配置信息中指定的该类型的数据帧的处理方式处理该数据帧;流控帧转换模块42,用于将流控帧转换为系统包接口的流控包,并提取流 控帧所包含的流控信息;系统包发送模块43,用于根据系统包接口的流控信息向网络处理器发送数 据包及流控包;交换芯片流控信息存储模块44,用于存储流控帧包含的流控信息。 下面结合一个能够实现网络处理器与交换芯片互相通信的装置对本发明的实现予以进一步详细的阐述。请参阅图5,该图为本发明实现网络处理器与交换芯片互相通信的装置的结构示意图,该装置中系统包接口为SPI4接口,上行方向为NPU向交换芯片 发送数据的方向,下行方向为交换芯片向NPU发送数据的方向,该装置主要 包括以下模块低速寄存器接口 501,能够与CPU或NPU进行通信的低速接口, CPU或 NPU通过此一莫块完成配置和读取统计信息。CPU或NPU通过低速寄存器接口 501对以下设置进行配置 1 )上行与下行SPI4流控包的端口号;2) 上行方向,当流控信息不允许发送某种类型的SPI4数据包时,对该类 型的SPI4数据包的处理方式;3) 下行方向,当流控信息不允许发送某种类型的SPI4数据帧时,对该类 型的数据帧的处理方式;4) 配置流控体中的速率控制的门限值,低于此门限值的速率控制则认为 不能够发送。SPI4接收模块502,该模块接收SPI4接口的数据,根据端口号区分从所 接收到的包是流控包还是数据包,将流控包发送给SPI4流控包转换模块504, 将数据包发送给SPI4数据包分割模块503。SPI4数据包分割模块503,用于丢弃某些根据下行流控信息不能发送给交 换芯片的数据包,将允许发送的SPI4数据包分割为CSIX接口的数据帧。SPI4流控包转换模块504,用于将SPI4流控包转换为CSIX接口的流控帧, 同时提取流控包的流控信息。NPU流控信息存储模块505,用于存储上行SPI4流控包所包含的流控信台CSIX发送模块506,用于处理CSIX接口的链路级别流控信息,没有链路 级流控信息的时候,将相应的CFrame发送给交换芯片,该电路优先发送流控 帧,确保流控帧的快速传递。CSIX接收模块507,该模块接收来自CSIX接口的CFrame,去除IDLE CFrame,对每个CFrame进行校验,提取CFrame的链路级流控信息并传递给
CSIX发送电路。根据CFrame的类型号,区分当前CFrame是流控帧还是数据 帧,将其中的流控帧发送给流控帧转换模块508,将其中的数据帧发送给数据 包重组模块510。流控帧转换模块508,用于将流控帧转换为SPI4流控包,并提取流控帧中 包含的流控信息。交换芯片流控信息存储模块509,用于存储流控帧中所包含的流控信息。 数据包重组模块510,用于将不同类型的数据帧重组为数据包,并且判断 数据包是否正确完整。存储器控制模块511,用于控制外部存储器的读写操作。 SPI4发送模块512,用于将数据通过SPI4接口发送给NPU,同时处理SPI4 接口的流控。该模块总是优先发送SPI4流控包,确保流控包的快速传递。每 当发送一个Burst (突发)的数据包,都检查有没有流控包,若有则优先发送 流控包,当没有流控包时才发送数据包,SPI4流控包与SPI4数据包使用不同 的逻辑端口发送。统计模块513,用于统计接收与发送的数据包、流控包、数据帧、流控帧 的类型及个数,统计被丟弃的SPI4数据包和CSIX数据帧的类型及个数。 利用图5所示装置实现网络处理器与交换芯片通信的具体过程如下 步骤Il, SPI4接收模块502接收数据包,同时根据SPI4数据包分割模块 503与SPI4流控包转换模块504内部存储的空满状态产生处理基于SPI4端口 的流控信息;步骤12, SPI4接收模块502根据端口号判断所接收到的SPI4包是流控包 还是数据包,若为流控包则传递给SPI4流控包转换模块504并跳转到步骤13; 若为数据包则传递给SPI4数据包分割模块503并跳转到步骤15;步骤13, SPI4流控包转换模块504读取所接收到流控包的净荷,如图6 所示,流控包的净荷为一个或多个流控体,将流控包转换为如图7所示的流控 帧,各个流控体作为流控帧的净荷,转换后的流控帧緩存在SPI4流控包转换
模块504中,等待发送,若一个流控包的净荷大于一个流控帧的最大净荷,则 将该流控包分割成多个流控帧;步骤14, SPI4流控包转换模块504提取每个流控体的流控信息,当流控体 中的速率控制域(Speed)低于所配置门限值的速率控制时,则将该流控体所 指示的该类数据标记为不能发送给NPU,将流控信息存储于NPU流控信息存 储模块505;步骤15, SPI4数据包分割模块503所接收到的SPI4数据包的格式如图8 所示,SPI4数据包分割模块503提取位于数据包固定位置的目的地址、服务等 级、单播多播类型、源地址等CSIX接口的信息,每个SPI4数据包的CSIX接 口信息位于图8所示的CSIX—INFO (CSIX信息)区域中,根据这些信息去查 询交换网流控信息存储模块509,得到该数据包所属分类的流控信息,在流控 信息指示不能够发送该数据包且配置信息为要丢弃不能发送的数据包时将该 数据包丢弃,否则将数据包緩存于本模块中;步骤16, SPI4数据包分割模块503读出允许发送的SPI4数据包及该数据 包的CSIX接口信息,将数据包分割成如图9所示的数据帧,在图9的数据帧 的净荷的固定位置,即图9所示的PKT一INFO (包信息)区域,放置包开始、 包结束、源地址与顺序号等包信息,并且将图8所示的SPI4数据包中的实际 净荷分割放置在多个数据帧的实际净荷(Actual Payload)区域,将分割后产生 的数据帧緩存于本^^莫块中;步骤17, CSIX发送模块506根据CSIX接收模块507所提供的链路级别流控信息,读取SPI4数据包分割模块503的数据帧与SPI4流控包转换模块504的流控帧,发送对应的流控帧或者数据帧,若流控帧和数据帧都能够发送的情况,优先发送流控帧,同时CSIX发送模块506根据流控帧转换模块508与数据包重组模块510的内部存储器的空满状态产生本发明电路的链路级别流控信 自利用图5所示装置实现交换芯片与网络处理器通信的具体过程如下 步骤El, CSIX接收模块507接收CSIX接口帧,将每个帧的基本头中的 链路级流控信息发送给CSIX发送模块506;步骤E2, CSIX接收模块507根据收到的帧的基本头的类型信息判断所接 收到的是空闲帧、流控帧或者数据帧,将空闲帧丢弃,将流控帧传递给流控帧 转换模块508处理并跳转到步骤E3,将数据帧传递给数据包重组模块510处 理并跳转到步骤E4;步骤E3,流控帧转换模块508读取流控帧的净荷,并且将图7所示的流 控帧净荷中各个流控体作为流控包的净荷,同时提取流控帧中每个流控体的流 控信息,若流控体中的速率控制域(Speed)低于所配置门限值的速率控制, 则将该流控体所指示的该类数据标记为不能发送给交换芯片,将流控信息存储 于交换网流控信息存储模块509;步骤E4,数据包重组模块510提取所接收到的数据帧的源地址、服务等 级、单播多播类型等CSIX接口的信息,根据这些信息去查询NPU流控信息存 储模块505,得到该数据帧所属分类的流控信息,在流控信息指示不能够发送 该数据帧且配置信息为要丢弃不能发送的数据帧时将该数据帧丟弃;步骤E5,数据包重组模块510读出没有被丢弃的数据帧,根据数据帧基 本头中的CSIX接口信息服务等级、单播多播类型与净荷中的包信息源地 址,将数据帧进行分类,各个类的数据帧再根据净荷中的包信息包开始、包 结束与顺序号,重组为完整的数据包;并且将重组中的数据通过存储器控制模 块511存储于外部存储器中,将重组后的完整数据包的数据通过存储器控制模 块511从外部存储器中读出;步骤E6, SPI4发送模块512根据SPI4接口的端口流控信息,读取流控幀 转换模块508的流控包与数据包重组模块510的数据包,发送对应的流控包或 者数据包,若流控包和^:据包都能够发送的情况,优先发送流控包。图IO是图5所示装置的系统应用示意图,该系统至少包含4个部分,分 别是网络处理器901、现场可编程门阵列卯2、交换芯片903与存储器904, 图5所示装置在现场可编程门阵列(FPGA)中实现。图10中接口 1为低速接 口 ,接口 2为SPI4接口 ,接口 3为CSIX接口 ,接口 4为存储器接口 ,数据处 理过程按照前面所描述的处理流程进行。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发 明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种实现网络处理器与交换芯片通信的方法,其特征在于,包括步骤A、接收网络处理器系统包接口发出的系统包,根据端口号区分该系统包的类型,若是数据包,执行步骤B,若是流控包,执行步骤C;B、根据数据包中携带的CSIX接口信息查询该数据包所属分类的流控信息,判断该数据包是否被允许发送,若允许,则将该数据包分割为CSIX接口的数据帧,并根据CSIX接口的链路级流控信息向交换芯片发送该数据帧;C、将流控包转换为CSIX接口的流控帧,并根据CSIX接口的链路级流控信息向交换芯片发送该流控帧。
2、 如权利要求1所述的方法,其特征在于,所述流控包通过网络处理器 系统包接口的特定端口号传输。
3、 如权利要求l所述的方法,其特征在于,所述CSIX接口信息中包括目 的地址、服务等级、数据帧类型及源地址。
4、 如权利要求l所述的方法,其特征在于,所述步骤A中,在接收网络 处理器系统包接口发出系统包的同时,根据数据包分割及流控包转换的处理状 况产生针对系统包接口的流控信息。
5、 如权利要求l所述的方法,其特征在于,所述步骤B中,若数据包不 被允许发送,则根据预设的配置信息中指定的该类型数据包的处理方式处理该 数据包。
6、 如权利要求1或5所述的方法,其特征在于,所述步骤B中,将所述 数据包分割为CSIX接口的数据帧时,在数据帧中放置包开始、包结束、源地 址及顺序号信息。
7、 如权利要求1所述的方法,其特征在于,在将流控包转换为CSIX接口 的流控帧时,若该流控包的净荷大于一个CSIX接口流控帧的最大净荷时,则 将该流控包分割成若干个流控帧。
8、 如权利要求1或7所述的方法,其特征在于,在将流控包转换为CSIX 接口的流控帧的同时,提取并保存流控包中携带的流控信息,所述流控信息中 指示了不允许发送给网络处理器的数据帧的类型。
9、 如权利要求1所述的方法,其特征在于,在数据帧及流控帧均等待发 送的情况下,优先发送流控帧。
10、 如权利要求l所述的方法,其特征在于,在发送数据帧或流控帧的同 时,根据数据帧存储介质及流控帧存储介质的空满状态产生在将系统包转换为 CSIX接口帧过程中的链路级流控信息,并将其通过CSIX接口发送给交换芯 片。
11、 一种实现网络处理器与交换芯片通信的装置,其特征在于,包括系统 包接收模块、数据包分割模块、流控包转换模块及CSIX接口帧发送模块,其中,系统包接收模块,用于接收网络处理器系统包接口发出的系统包,根据逻 辑端口号区分该系统包的类型,将数据包发送给数据包分割模块,将流控包发送给流控包转换模块;数据包分割模块,用于根据数据包中携带的CSIX接口信息查询该数据包 所属类别的流控信息,判断该数据包是否被允许发送,若允许,则将其分割为 CSIX接口的数据帧,否则,根据配置信息中指定的该类型的数据包的处理方 式处理该数据包;流控包转换模块,用于将流控包转换为CSIX接口的流控帧,同时提取流 控包中携带的流控信息;CSIX接口帧发送模块,用于根据CSIX接口的链路级流控信息向交换芯片 发送数据帧及流控帧。
12、 如权利要求11所述的装置,其特征在于,还包括, 网络处理器流控信息存储模块,用于保存流控包中携带的流控信息。
13、 一种实现交换芯片与网络处理器通信的方法,其特征在于,包括步骤 A、 接收CSIX接口发出的帧,根据帧的基本头的类型信息确定接收到的 帧的类型,若是空闲帧,则丢弃,若是数据帧,则执行步骤B,若是流控帧, 则执行步骤C;B、 根据数据帧的CSIX接口信息查询该数据帧所属分类的流控信息,判 断该数据帧是否被允许发送,若允许,则根据数据帧的CSIX接口信息及包信 息对数据帧进行分类,并重组为数据包,根据系统包接口的流控信息向网络处 理器发送该数据包;C、 将流控帧转换为系统包接口的流控包,并根据系统包接口的流控信息 向网络处理器发送该流控包。
14、 如权利要求13所述的方法,其特征在于,所述CSIX接口信息中包括 数据帧的服务等级及数据帧的类型。
15、 如权利要求13所述的方法,其特征在于,所述数据帧的包信息中包 括包开始、包结束、源地址及顺序号信息。
16、 如权利要求13所述的方法,其特征在于,所述步骤A中还包括从CSIX 接口发出的帧的基本头中提取CSIX接口的链路级流控信息的步骤。
17、 如权利要求13所述的方法,其特征在于,所述步骤B中,若数据帧 不被允许发送,则根据预设的配置信息中指定的该类型的数据帧的处理方式处 理该数据帧。
18、 如权利要求13所述的方法,其特征在于,在将CSIX接口的流控帧转 换为流控包时,提取并保存流控帧中携带的流控信息,所述流控信息中指示了 不允许发送给交换芯片的l欠据包的类型。
19、 如权利要求13所述的方法,其特征在于,在数据包及流控包均等待 发送的情况下,优先发送流控包。
20、 一种实现交换芯片与网络处理器通信的装置,其特征在于,包括CSIX 帧接收模块、数据帧重组模块、流控帧转换模块及系统包发送模块,其中,CSIX帧接收模块,用于接收CSIX接口发出的帧,根据帧的基本头的类型信息确定接收到的帧的类型,若是空闲帧,则丢弃,若是数据帧,则发送给数据帧重组模块,若是流控帧,则发送给流控帧转换模块;数据帧重组模块,用于根据数据帧的CSIX接口信息查询该数据帧所属分 类的流控信息,判断该数据帧是否被允许发送,若允许,则根据数据帧的CSIX 接口信息及包信息对数据帧进行分类,并重组为数据包,否则,则根据预设的 配置信息中指定的该类型的数据帧的处理方式处理该数据帧;流控桢转换模块,用于将流控帧转换为系统包接口的流控包,并提取流控 帧所包含的流控信息;系统包发送模块,用于根据系统包接口的流控信息向网络处理器发送数据 包及流控包。
21、如权利要求20所述的装置,其特征在于,还包括, 交换芯片流控信息存储模块,用于存储流控帧包含的流控信息。
全文摘要
本发明公开了一种实现网络处理器与交换芯片互相通信的方法及装置,通过端口号区分流控包还是数据包,利用流控包传递流控信息,完成流控包与流控帧的转换,实现了网络处理器与交换芯片之间有效地传递更为复杂的流控信息。有效解决了现有技术中网络处理器与交换芯片之间无法传递流控信息的缺陷,使得具有系统包接口的网络处理器能够与具有CSIX接口的交换芯片互联互通。
文档编号H04L12/66GK101119379SQ20071014530
公开日2008年2月6日 申请日期2007年9月7日 优先权日2007年9月7日
发明者敏 曾, 梁心茂, 雄 潘, 范延伟 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1