CN101119379B - 实现网络处理器与交换芯片互相通信的方法及装置 - Google Patents
实现网络处理器与交换芯片互相通信的方法及装置 Download PDFInfo
- Publication number
- CN101119379B CN101119379B CN2007101453032A CN200710145303A CN101119379B CN 101119379 B CN101119379 B CN 101119379B CN 2007101453032 A CN2007101453032 A CN 2007101453032A CN 200710145303 A CN200710145303 A CN 200710145303A CN 101119379 B CN101119379 B CN 101119379B
- Authority
- CN
- China
- Prior art keywords
- frame
- flow control
- packet
- flow
- bag
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种实现网络处理器与交换芯片互相通信的方法及装置,通过端口号区分流控包还是数据包,利用流控包传递流控信息,完成流控包与流控帧的转换,实现了网络处理器与交换芯片之间有效地传递更为复杂的流控信息。有效解决了现有技术中网络处理器与交换芯片之间无法传递流控信息的缺陷,使得具有系统包接口的网络处理器能够与具有CSIX接口的交换芯片互联互通。
Description
技术领域
本发明涉及数据通信领域,尤其涉及一种实现网络处理器与交换芯片互相通信的方法及装置。
背景技术
分布式多业务硬件平台主要围绕NPU(Network Processor,网络处理器,)和Switch Fabric(交换芯片)来构建。
CSIX(Common Switch Interface Specification,公共交换接口协会)接口是Switch Fabric的主要接口标准之一。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区域传递的,基本头第一个字节的Bit 7称为Drdy,为1的时候表示可以接收数据帧(即单播帧、多播帧或广播帧),为0表示不能接收数据帧;CFrame第一个字节的Bit 6称为Crdy,为1的时候表示可以接收流控帧,为0表示不能够接收流控帧。流控帧通过其净荷中的Flow Control Entry(流控体)来传递更为复杂的流控信息,流控体通过其中Class(服务分类)、Destination Address(目的地址)、Class通配符(C*)和端口通配符(P*)产生基于服务分类和目的地址的更加细致的流控,最大支持的服务分类和目的地址分别是256和4096,流控体通过Speed(速率控制)来指示此流控体所描述的数据帧需要以哪一种速率等级进行传输。CSIX接口的接收方通过向发送方发送链路级流控信息和流控帧实现流控。
目前有很多网络处理器的接口为系统包接口(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接口发出的帧,根据帧的基本头的类型信息确定接收到的帧的类型,若是空闲帧,则丢弃,若是数据帧,则发送给数据帧重组模块,若是流控帧,则发送给流控帧转换模块;
数据帧重组模块,用于根据数据帧的CSIX接口信息查询该数据帧所属分类的流控信息,判断该数据帧是否被允许发送,若允许,则根据数据帧的CSIX接口信息及包信息对数据帧进行分类,并重组为数据包,否则,则根据预设的配置信息中指定的该类型的数据帧的处理方式处理该数据帧;
流控帧转换模块,用于将流控帧转换为系统包接口的流控包,并提取流控帧所包含的流控信息;
系统包发送模块,用于根据系统包接口的流控信息向网络处理器发送数据包及流控包。
所述装置还包括,
交换芯片流控信息存储模块,用于存储流控帧包含的流控信息。
本发明扩展了系统包接口的应用,使得具有系统包接口的网络处理器能够与具有CSIX接口的交换芯片互联。
本发明通过端口号区分流控包还是数据包,利用流控包传递流控信息,完成流控包与流控帧的转换,实现了网络处理器与交换芯片之间有效地传递更为复杂的流控信息。有效解决了现有技术中网络处理器与交换芯片之间无法传递流控信息的缺陷。
本发明将流控信息存储在内部,可自动完成丢弃不能够向前发送的数据报文,由硬件完成流控的处理,从而有效解决了现有技术中全部流控由网络处理器处理的缺陷,提高了网络处理器的处理效率。
附图说明
图1为本发明中实现网络处理器与交换芯片通信的方法的流程图;
图2为本发明中实现交换芯片与网络处理器通信的方法的流程图;
图3为本发明实现网络处理器与交换芯片通信的装置的结构框图;
图4为本发明实现交换芯片与网络处理器通信的装置的结构框图;
图5为本发明实现网络处理器与交换芯片互相通信的装置的结构示意图;
图6为本发明SPI4流控包净荷的格式示意图;
图7为本发明流控帧的格式示意图;
图8为本发明SPI4数据包净荷的格式示意图;
图9为本发明数据帧的格式示意图;
图10为本发明实现网络处理器与交换芯片通信的系统结构示意图。
具体实施方式
下面将结合各个附图对本发明的具体实现过程做进一步详细的阐述。
本发明在网络处理器系统包接口传输的包中增加了流控包,流控包的净荷是一个或多个流控体,流控包通过系统包接口的特定的端口号传递。
请参阅图1,该图为本发明中实现网络处理器与交换芯片通信的方法的流程图,其主要实现过程为:
步骤S10、接收网络处理器系统包接口发出的系统包,同时根据数据包分割及流控包转换的处理状况产生针对系统包接口的流控信息。
步骤S11、根据发送系统包的端口号区分该系统包的类型,本发明中流控包通过特定的端口号传递,若网络处理器通过该特定的端口号发送该系统包,则证明该系统包为流控包,执行步骤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所示装置实现网络处理器与交换芯片通信的具体过程如下:
步骤I1,SPI4接收模块502接收数据包,同时根据SPI4数据包分割模块503与SPI4流控包转换模块504内部存储的空满状态产生处理基于SPI4端口的流控信息;
步骤I2,SPI4接收模块502根据端口号判断所接收到的SPI4包是流控包还是数据包,若为流控包则传递给SPI4流控包转换模块504并跳转到步骤I3;若为数据包则传递给SPI4数据包分割模块503并跳转到步骤I5;
步骤I3,SPI4流控包转换模块504读取所接收到流控包的净荷,如图6所示,流控包的净荷为一个或多个流控体,将流控包转换为如图7所示的流控帧,各个流控体作为流控帧的净荷,转换后的流控帧缓存在SPI4流控包转换模块504中,等待发送,若一个流控包的净荷大于一个流控帧的最大净荷,则将该流控包分割成多个流控帧;
步骤I4,SPI4流控包转换模块504提取每个流控体的流控信息,当流控体中的速率控制域(Speed)低于所配置门限值的速率控制时,则将该流控体所指示的该类数据标记为不能发送给NPU,将流控信息存储于NPU流控信息存储模块505;
步骤I5,SPI4数据包分割模块503所接收到的SPI4数据包的格式如图8所示,SPI4数据包分割模块503提取位于数据包固定位置的目的地址、服务等级、单播多播类型、源地址等CSIX接口的信息,每个SPI4数据包的CSIX接口信息位于图8所示的CSIX_INFO(CSIX信息)区域中,根据这些信息去查询交换网流控信息存储模块509,得到该数据包所属分类的流控信息,在流控信息指示不能够发送该数据包且配置信息为要丢弃不能发送的数据包时将该数据包丢弃,否则将数据包缓存于本模块中;
步骤I6,SPI4数据包分割模块503读出允许发送的SPI4数据包及该数据包的CSIX接口信息,将数据包分割成如图9所示的数据帧,在图9的数据帧的净荷的固定位置,即图9所示的PKT_INFO(包信息)区域,放置包开始、包结束、源地址与顺序号等包信息,并且将图8所示的SPI4数据包中的实际净荷分割放置在多个数据帧的实际净荷(Actual Payload)区域,将分割后产生的数据帧缓存于本模块中;
步骤I7,CSIX发送模块506根据CSIX接收模块507所提供的链路级别流控信息,读取SPI4数据包分割模块503的数据帧与SPI4流控包转换模块504的流控帧,发送对应的流控帧或者数据帧,若流控帧和数据帧都能够发送的情况,优先发送流控帧,同时CSIX发送模块506根据流控帧转换模块508与数据包重组模块510的内部存储器的空满状态产生本发明电路的链路级别流控信息。
利用图5所示装置实现交换芯片与网络处理器通信的具体过程如下:
步骤E1,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的数据包,发送对应的流控包或者数据包,若流控包和数据包都能够发送的情况,优先发送流控包。
图10是图5所示装置的系统应用示意图,该系统至少包含4个部分,分别是网络处理器901、现场可编程门阵列902、交换芯片903与存储器904,图5所示装置在现场可编程门阵列(FPGA)中实现。图10中接口1为低速接口,接口2为SPI4接口,接口3为CSIX接口,接口4为存储器接口,数据处理过程按照前面所描述的处理流程进行。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (21)
1.一种实现网络处理器与交换芯片通信的方法,其特征在于,包括步骤:
A、接收网络处理器系统包接口发出的系统包,根据端口号区分该系统包的类型,若是数据包,执行步骤B,若是流控包,执行步骤C;
B、根据数据包中携带的CSIX接口信息查询该数据包所属分类的流控信息,判断该数据包是否被允许发送,若允许,则将该数据包分割为CSIX接口的数据帧,并根据CSIX接口的链路级流控信息向交换芯片发送该数据帧;
C、将流控包转换为CSIX接口的流控帧,并根据CSIX接口的链路级流控信息向交换芯片发送该流控帧。
2.如权利要求1所述的方法,其特征在于,所述流控包通过网络处理器系统包接口的特定端口号传输。
3.如权利要求1所述的方法,其特征在于,所述CSIX接口信息中包括目的地址、服务等级、数据帧类型及源地址。
4.如权利要求1所述的方法,其特征在于,所述步骤A中,在接收网络处理器系统包接口发出系统包的同时,根据数据包分割及流控包转换的处理状况产生针对系统包接口的流控信息。
5.如权利要求1所述的方法,其特征在于,所述步骤B中,若数据包不被允许发送,则根据预设的配置信息中指定的该类型数据包的处理方式处理该数据包。
6.如权利要求1或5所述的方法,其特征在于,所述步骤B中,将所述数据包分割为CSIX接口的数据帧时,在数据帧中放置包开始、包结束、源地址及顺序号信息。
7.如权利要求1所述的方法,其特征在于,在将流控包转换为CSIX接口的流控帧时,若该流控包的净荷大于一个CSIX接口流控帧的最大净荷时,则将该流控包分割成若干个流控帧。
8.如权利要求1或7所述的方法,其特征在于,在将流控包转换为CSIX接口的流控帧的同时,提取并保存流控包中携带的流控信息,所述流控包中携带的流控信息中指示了不允许发送给网络处理器的数据帧的类型。
9.如权利要求1所述的方法,其特征在于,在数据帧及流控帧均等待发送的情况下,优先发送流控帧。
10.如权利要求1所述的方法,其特征在于,在发送数据帧或流控帧的同时,根据数据帧存储介质及流控帧存储介质的空满状态产生在将系统包转换为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接口的流控帧转换为流控包时,提取并保存流控帧中携带的流控信息,所述流控帧中携带的流控信息中指示了不允许发送给交换芯片的数据包的类型。
19.如权利要求13所述的方法,其特征在于,在数据包及流控包均等待发送的情况下,优先发送流控包。
20.一种实现交换芯片与网络处理器通信的装置,其特征在于,包括CSIX帧接收模块、数据帧重组模块、流控帧转换模块及系统包发送模块,其中,
CSIX帧接收模块,用于接收CSIX接口发出的帧,根据帧的基本头的类型信息确定接收到的帧的类型,若是空闲帧,则丢弃,若是数据帧,则发送给数据帧重组模块,若是流控帧,则发送给流控帧转换模块;
数据帧重组模块,用于根据数据帧的CSIX接口信息查询该数据帧所属分类的流控信息,判断该数据帧是否被允许发送,若允许,则根据数据帧的CSIX接口信息及包信息对数据帧进行分类,并重组为数据包,否则,则根据预设的配置信息中指定的该类型的数据帧的处理方式处理该数据帧;
流控帧转换模块,用于将流控帧转换为系统包接口的流控包,并提取流控帧所包含的流控信息;
系统包发送模块,用于根据系统包接口的流控信息向网络处理器发送数据包及流控包。
21.如权利要求20所述的装置,其特征在于,还包括,
交换芯片流控信息存储模块,用于存储流控帧包含的流控信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101453032A CN101119379B (zh) | 2007-09-07 | 2007-09-07 | 实现网络处理器与交换芯片互相通信的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101453032A CN101119379B (zh) | 2007-09-07 | 2007-09-07 | 实现网络处理器与交换芯片互相通信的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101119379A CN101119379A (zh) | 2008-02-06 |
CN101119379B true CN101119379B (zh) | 2010-09-29 |
Family
ID=39055311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101453032A Expired - Fee Related CN101119379B (zh) | 2007-09-07 | 2007-09-07 | 实现网络处理器与交换芯片互相通信的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101119379B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854402B (zh) * | 2010-05-31 | 2015-05-20 | 中兴通讯股份有限公司 | 接口转换装置及流控实现方法 |
CN105991471B (zh) * | 2015-02-16 | 2019-08-09 | 新华三技术有限公司 | 网络设备的流控方法和流控装置以及网络设备 |
CN104601490B (zh) * | 2015-02-16 | 2018-10-09 | 新华三技术有限公司 | 网络设备的流控方法和流控装置以及网络设备 |
CN106162528B (zh) * | 2016-07-06 | 2019-11-01 | 重庆金瓯科技发展有限责任公司 | LoRa信号与蓝牙信号转换模块、转换方法及信号发送装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1494003A (zh) * | 2002-10-30 | 2004-05-05 | 华为技术有限公司 | 一种实现接口转换的装置及方法 |
KR20060101012A (ko) * | 2005-03-18 | 2006-09-22 | 삼성전자주식회사 | Spi4.2와 공통 스위치 인터페이스 정합 장치 및 방법 |
-
2007
- 2007-09-07 CN CN2007101453032A patent/CN101119379B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1494003A (zh) * | 2002-10-30 | 2004-05-05 | 华为技术有限公司 | 一种实现接口转换的装置及方法 |
KR20060101012A (ko) * | 2005-03-18 | 2006-09-22 | 삼성전자주식회사 | Spi4.2와 공통 스위치 인터페이스 정합 장치 및 방법 |
Non-Patent Citations (6)
Title |
---|
Borgioli.R.C,Pai.S.S.Coverged Networks with Interoperable SPI-4.2 and CSIX-L1Interfaces.Consumer Communications and Networking Conference,2007. 4.2007,(5),1190-1191. |
Borgioli.R.C,Pai.S.S.Coverged Networks with Interoperable SPI-4.2 and CSIX-L1Interfaces.Consumer Communications and Networking Conference,2007. 4.2007,(5),1190-1191. * |
CSIX.CSIX-L1:Common Switch Interface Specification-L1.2000,(5),1-55. * |
US 2004/0004961 A1,说明书全文. |
江浩,郭东辉.基于CSIX-L1接口协议的通用交换芯片设计.电讯技术 5.2005,(5),36-41. |
江浩,郭东辉.基于CSIX-L1接口协议的通用交换芯片设计.电讯技术 5.2005,(5),36-41. * |
Also Published As
Publication number | Publication date |
---|---|
CN101119379A (zh) | 2008-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1201526C (zh) | 固定大小的协议数据单元经过透明无线链路控制的传输 | |
ES2707573T3 (es) | Método y aparato para mejorar la transmisión de canal compartido de enlace descendente en un sistema de comunicaciones inalámbricas | |
JP2021528014A (ja) | 情報伝送方法及び装置 | |
CA2543231A1 (en) | A method and apparatus to provide data streaming over a network connection in a wireless mac processor | |
CN101119379B (zh) | 实现网络处理器与交换芯片互相通信的方法及装置 | |
CN101258719A (zh) | 延长InfiniBand网络的实时到达的方法 | |
RU2010148794A (ru) | Устройства и способы для передачи данных по беспроводной ячеистой сети | |
EP1377089B1 (en) | Setting of a logical connection between a user plane server and a control plane server in response to an external request | |
CN101001209A (zh) | 变长数据包的异种网络交换系统及其方法以及采用信号环接口的地址表构成方法 | |
CN101222419A (zh) | 数据通信方法及系统、数据发送/接收装置 | |
CN101304376A (zh) | 客户端中递送协议数据单元的方法及相关装置 | |
CN101123529A (zh) | 基于pcie交换网的组播实现方法、系统及设备 | |
CN107682434A (zh) | 一种水下传感器网络架构及其实现方法 | |
KR20090076816A (ko) | Hspa를 이용하여 수신한 회선 교환 데이터의 오류 제어방법 | |
CN1893387A (zh) | 以太网中e1型帧的封装 | |
CN104967570A (zh) | 一种智能北斗路由器 | |
CN101667959A (zh) | 一种物理层数据传输的方法、装置及数据传输的系统 | |
WO2019134496A1 (zh) | 数据传输方法及通信设备 | |
CN102594650B (zh) | 处理多播报文的方法和交换接入装置 | |
CN100571106C (zh) | 一种无线网络通信装置 | |
CN102104916A (zh) | 数据调度方法及系统 | |
CN106961582A (zh) | 基于ZigBee的无线连续图像传输系统 | |
CN101175302B (zh) | 永远在线类型业务保持方法和装置 | |
CN101175071B (zh) | Mac协议数据单元构造方法 | |
CN100596360C (zh) | 提高无线链路控制层数据传输效率的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100929 Termination date: 20160907 |
|
CF01 | Termination of patent right due to non-payment of annual fee |