发明名称 Multicasting traffic manager in a network communications processor architecture
摘要 Described embodiments provide a method of processing packets of a network processor. One or more tasks are generated corresponding to received packets associated with one or more data flows. A traffic manager receives a task corresponding to a data flow, the task provided by a processing module of the network processor. The traffic manager determines whether the received task corresponds to a unicast data flow or a multicast data flow. If the received task corresponds to a multicast data flow, the traffic manager determines, based on identifiers corresponding to the task, an address of launch data stored in launch data tables in a shared memory, and reads the launch data. Based on the identifiers and the read launch data, two or more output tasks are generated corresponding to the multicast data flow, and the two or more output tasks are added at the tail end of a scheduling queue.
申请公布号 US8917738(B2) 申请公布日期 2014.12.23
申请号 US201113232422 申请日期 2011.09.14
申请人 LSI Corporation 发明人 Sundararaman Balakrishnan;Aulakh Shailendra;Sonnier David P.;Flood Rachel
分类号 H04L12/28;H04L12/931;H04L12/933 主分类号 H04L12/28
代理机构 Smith Risley Tempel Santos LLC 代理人 Santos Daniel J.;Smith Risley Tempel Santos LLC
主权项 1. A method of processing packets of a network processor having a plurality of processing modules and at least one shared memory with packet data, the method comprising: generating, by the network processor, one or more tasks corresponding to each of a plurality of received packets associated with one or more data flows; receiving, by a traffic manager of the network processor, a task corresponding to a data flow, the task provided by one of the plurality of processing modules of the network processor; determining, by the traffic manager, whether the received task corresponds to a unicast data flow or a multicast data flow, wherein a unicast data flow is transmitted to a single network location in communication with the network processor, and wherein a multicast data flow is transmitted to one or more network locations in communication with the network processor; if the received task corresponds to a multicast data flow: determining, based on one or more identifiers corresponding to the task, an address of launch data stored in one or more launch data tables in the at least one shared memory, wherein the step of determining the address of the launch data includes providing, by the address of the launch data, one or more expanded unicast entries corresponding to the multicast task, wherein each expanded unicast entry corresponds to a given destination for the multicast task, wherein each expanded unicast entry corresponds to an address in a unicast launch table and the address in the unicast launch table corresponds to the address of the launch data in the at least one shared memory; reading the launch data corresponding to the task from the determined address of the at least one shared memory; generating, based on the one or more identifiers and the read launch data, two or more output tasks corresponding to the multicast data flow; determining if at least one scheduling queue of the traffic manager corresponding to the multicast data flow is available to receive the two or more output tasks; and, if available, adding the one or more output tasks at the tail end of the at least one scheduling queue.
地址 Milpitas CA US