The packet data corresponding to the multicast (MC) packet received by the network device is stored in the packet memory. The header of the MC packet is analyzed to determine two or more ports through which the MC packet will be transmitted. Determine that two or more pending read requests are to read packet data from specific memory locations in the packet memory. In response to the determination that two or more pending read requests are to read the packet data from a particular memory location, the packet data is read at one time from a particular memory location. A corresponding instance of the packet data read from a particular memory location is provided to the corresponding two or more read client devices for subsequent transmission of the packet data through two or more ports determined by the packet processor.
【技术实现步骤摘要】
【国外来华专利技术】合并网络设备架构中的读取请求相关申请的交叉引用本公开要求于2016年9月12日提交的题为“微动开关读取请求折叠(MicroSwitchReadRequestCollapse)”的美国临时专利申请No.62/393,390的权益,其通过引用整体而被并入本文。
本公开总体上涉及诸如网络交换机、网桥、路由器等的网络设备,并且更具体地涉及用于处理多播分组的网络设备中的架构。
技术介绍
诸如网桥和路由器的网络交换机基于分组中的地址通过网络转发分组。网络交换机通常包括被耦合到不同网络链路的多个端口。网络交换机通常经由一个端口接收分组,并且处理分组的报头中的地址信息以决定网络交换机应当经由哪个或哪些端口来传输分组。然后,网络交换机将分组转发给所确定的一个或多个其他端口。在各种网络交换机中,整个分组或分组的有效载荷在处理期间被存储在分组存储器中,并且在处理之后以及在转发给其他端口之前从分组存储器中被读取,无论分组将被转发给单个端口还是多个端口。因为网络交换机经常处理经由非常高速率的通信链路传送的分组,所以分组通常必须以高速率被写入分组存储器以及从分组存储器中被读取,并且分组存储器 ...
【技术保护点】
1.一种网络设备,包括:分组存储器,所述分组存储器被配置为存储分组数据,所述分组数据对应于由所述网络设备从网络链路接收的多播(MC)分组;分组处理器,所述分组处理器被配置为至少确定两个或更多个端口,所述MC分组经由所述两个或更多个端口从所述网络设备被传输;以及存储器控制器设备,所述存储器控制器设备被耦合到所述分组存储器,所述存储器控制器设备被配置为:确定由所述存储器控制器设备接收的两个或多个未决读取请求要从所述分组存储器中的特定存储器位置读取分组数据,响应于所述确定,从所述特定存储器位置单次读取所述分组数据,以及向相应的两个或更多个读取客户端设备提供从所述特定存储器位置读取 ...
【技术特征摘要】
【国外来华专利技术】2016.09.12 US 62/393,3901.一种网络设备,包括:分组存储器,所述分组存储器被配置为存储分组数据,所述分组数据对应于由所述网络设备从网络链路接收的多播(MC)分组;分组处理器,所述分组处理器被配置为至少确定两个或更多个端口,所述MC分组经由所述两个或更多个端口从所述网络设备被传输;以及存储器控制器设备,所述存储器控制器设备被耦合到所述分组存储器,所述存储器控制器设备被配置为:确定由所述存储器控制器设备接收的两个或多个未决读取请求要从所述分组存储器中的特定存储器位置读取分组数据,响应于所述确定,从所述特定存储器位置单次读取所述分组数据,以及向相应的两个或更多个读取客户端设备提供从所述特定存储器位置读取的所述分组数据的相应实例,以用于所述分组数据经由所述分组处理器确定的所述两个或更多个端口的后续传输。2.根据权利要求1所述的网络设备,其中所述存储器控制器设备还被配置为:响应于确定由所述存储器控制器设备接收的两个或更多个未决读取请求要从所述分组存储器中的所述特定存储器位置读取分组数据,将所述两个或更多个读取请求合并成单个读取请求,以及通过从所述分组存储器中的所述存储器位置单次读取所述分组数据,来服务所述单个读取请求。3.根据权利要求2所述的网络设备,其中所述存储器控制器设备被配置为将所接收的读取请求缓冲在读取请求缓冲器中,直到所述分组存储器可用于从由相应的所述读取请求指示的相应存储器位置读取分组数据。4.根据权利要求3所述的网络设备,其中所述未决读取请求缓冲器包括多个条目,所述多个条目具有相应的第一字段和相应的第二字段,所述相应的第一字段用于存储由读取请求指示的存储器位置,所述相应的第二字段用于存储对客户端设备的指示,用于从对应的所述第一字段中指示的所述存储器位置读取分组数据的读取请求由所述存储器控制器设备从所述客户端设备接收。5.根据权利要求4所述的网络设备,其中所述存储器控制器设备被配置为:从所述两个或更多个读取客户端设备中的特定读取客户端设备接收所述两个或更多个读取请求中的特定读取请求,搜索所述读取请求缓冲器以标识如下的条目,在所述条目中,所述第一字段与所述特定读取请求中指示的特定存储器位置相匹配,以及响应于标识到其中所述第一字段与所述特定读取请求中指示的所述特定存储器位置相匹配的所述条目,更新所述条目的所述第二字段以包括对所述特定读取客户端设备的指示,所述特定读取请求由所述存储器控制器设备从所述特定读取客户端设备接收。6.根据权利要求1所述的网络设备,其中所述存储器控制器设备被配置为:在从所述特定存储器位置读取所述分组数据之后,复制所述分组数据以生成所述分组数据的两个或更多个实例,以及向相应的所述两个或更多个读取客户端设备提供所述分组数据的所述两个或更多个实例中的相应实例。7.根据权利要求1所述的网络设备,其中一个或多个所述读取客户端设备中的读取客户端设备被配置为:确定将被发送给所述存储器控制器设备的新读取请求要从如下的所述分组存储器中的特定存储器位置读取分组数据,对于所述特定存储器位置:i)先前的读取请求已经被发送给所述存储器控制器设备,并且ii)对应的所述分组数据尚未从所述存储器控制器设备接收到,以及响应于确定将被发送给所述存储器控制器设备的所述新读取请求要从所述分组存储器中的特定存储器位置读取分组数据,不向所述存储器控制器设备发送所述新读取请求,对于所述特定存储器位置:i)先前的读取请求已经被发送给所述存储器控制器设备,并且ii)对应的所述分组数据尚未从所述存储器控制器设备接收到。8.根据权利要求7所述的网络设备,其中所述读取客户端设备还被配置为:响应于所述先前的读取请求,从所述存储器控制器设备接收所述分组数据,复制所述分组数据以生成所述分组数据的多个实例,将所述多个实例中的第一实例转发给耦合到所述读取客户端设备的第一端口,所述第一端口对应于所述先前的读取请求,以及将所述多个实例中的第二实例转发给耦合到所述读取客户端设备的第二端口,所述第二端口对应于所述新读取请求。9.根据权利要求1所述的网络设备,其中所述两个或更多个读取客户端设备中的读取客户端设备被配置为:生成传输分组以包括i)从所述存储器控制器设备接收的分组数据和ii)所述分组的报头,以及经由耦合到所述读取客户端设备的端口来传输所述传输分组。10.根据权利要求9所述的网络设备,其中所述分组存储器包括在所述两个或更多个读取客户端设备之间共享的两个或更多个存储体,其中所述两个或更多个存储体被配置为同时被访问...
【专利技术属性】
技术研发人员:N·A·斯米特,J·J·施罗德,
申请(专利权)人:马维尔国际贸易有限公司,
类型:发明
国别省市:巴巴多斯,BB
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。