Session based packet mirroring in a network ASIC
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-011/00
H04L-012/761
H04L-012/741
H04L-012/931
출원번호
US-0494229
(2014-09-23)
등록번호
US-9760418
(2017-09-12)
발명자
/ 주소
Schmidt, Gerald
Krishnamoorthy, Harish
Daniel, Tsahi
출원인 / 주소
Cavium, Inc.
대리인 / 주소
Haverstock & Owens LLP
인용정보
피인용 횟수 :
0인용 특허 :
16
초록▼
A forwarding pipeline of a forwarding engine includes a mirror bit mask vector with one bit per supported independent mirror session. Each bit in the mirror bit mask vector can be set at any point in the forwarding pipeline when the forwarding engine determines that conditions for a corresponding mi
A forwarding pipeline of a forwarding engine includes a mirror bit mask vector with one bit per supported independent mirror session. Each bit in the mirror bit mask vector can be set at any point in the forwarding pipeline when the forwarding engine determines that conditions for a corresponding mirror session are met. At the end of the forwarding pipeline, if any of the bits in the mirror bit mask vector is set, then a packet, the mirror bit mask vector and a pointer to the start of a mirror destination linked list are forwarded to the multicast replication engine. The mirror destination linked list typically defines a rule for mirroring. The multicast replication engine mirrors the packet according to the mirror destination linked list and the mirror bit mask vector.
대표청구항▼
1. A network chip comprising: a memory;a mirror destination table stored in the memory and including a mirroring rule that is represented in a mirror destination linked list, wherein each entry in the mirror destination linked list stores destination information of where to send mirrored packet data
1. A network chip comprising: a memory;a mirror destination table stored in the memory and including a mirroring rule that is represented in a mirror destination linked list, wherein each entry in the mirror destination linked list stores destination information of where to send mirrored packet data; anda multicast replication engine that receives a mirror bit mask vector and mirrors a packet according to the mirror destination linked list and the mirror bit mask vector. 2. The network chip of claim 1, wherein the network chip supports a number of mirror sessions and the mirror bit mask vector includes a quantity of bits equal to the number. 3. The network chip of claim 1, wherein each bit in the mirror bit mask vector is set based on characteristics of the packet. 4. The network chip of claim 1, wherein each node in the mirror destination linked list is stored as an entry in the mirror destination table. 5. The network chip of claim 4, wherein the entry includes a pointer to the next node in the mirror destination linked list, a session ID of a mirror session to which a corresponding node pertains, and destination information. 6. The network chip of claim 5, wherein the destination information indicates at least one of the group consisting of a port a tunnel, and a virtual interface. 7. The network chip of claim 4, wherein the entry includes a field indicating whether mirroring is enabled for a corresponding session for the entry. 8. The network chip of claim 1, wherein at each node of the mirror destination linked list, the multicast replication engine determines whether to make a copy of the packet. 9. The network chip of claim 5, wherein the session ID of multiple entries of the multicast destination table is the same to support multiple destinations per session. 10. A network chip comprising: a memory;a mirror destination table stored in the memory and including a mirroring rule that is represented in a mirror destination linked list;a multicast replication engine that receives a mirror bit mask vector and mirrors a packet according to the mirror destination linked list and the mirror bit mask vector; anda forwarding engine, wherein each bit in the mirror bit mask vector is set at any point in a forwarding pipeline of the forwarding engine when the forwarding engine determines that conditions for a respective mirror session for a corresponding bit are met, wherein the forwarding engine forwards the mirror bit mask vector to the multicast replication engine. 11. A multicast replication engine comprising a circuit configured to: receive a mirror bit mask vector associated with a packet;traverse a mirror destination linked list that includes a plurality of nodes, wherein each of the nodes in the mirror destination linked list stores destination information of where to send mirrored packet data; andat each node, mirror the packet according to data associated with a corresponding node and to a bit in the mirror bit mask vector, wherein the bit corresponds to a mirror session that is indicated by the corresponding node. 12. The multicast replication engine of claim 11, wherein the mirror bit mask vector is received from a forwarding engine. 13. The multicast replication engine of claim 11, wherein the network chip supports a number of mirror sessions and the mirror bit mask vector includes a quantity of bits equal to the number. 14. The multicast replication engine of claim 11, wherein the mirror destination linked list represents a mirroring rule. 15. The multicast replication engine of claim 11, wherein the circuit is further configured to access a multicast destination table. 16. The multicast replication engine of claim 15, wherein each node of the mirror destination linked list is stored as an entry in the multicast destination table. 17. The multicast replication engine of claim 16, wherein the circuit is further configured to use a session ID from the entry to determine the bit in the mirror bit mask vector. 18. The multicast replication engine of claim 11, wherein the data includes identification information of a corresponding node, destination information, and pointer to the next node. 19. The multicast replication engine of claim 18, wherein the circuit is further configured to make a copy of the packet with the destination information. 20. The multicast replication engine of claim 11, wherein the circuit is further configured to support local and remote mirroring. 21. The multicast replication engine of claim 11, wherein the data includes a global mirror bit that indicates whether the mirror session is valid. 22. A network switch comprising: an input port for receiving a packet;a memory for storing a mirror destination table, wherein the mirror destination table includes a mirroring rule that is represented in a mirror destination linked list, wherein each entry in the mirror destination linked list stores destination information of where to send mirrored packet data; anda multicast replication engine that receives a mirror bit mask vector and mirrors the packet according to the mirror destination linked list and to the mirror bit mask vector. 23. The network switch of claim 22, wherein each node in the mirror destination linked list is stored as an entry in the mirror destination table. 24. The network switch of claim 22, wherein the network switch supports a first number of mirror sessions by using the mirror bit mask vector, wherein the mirror bit mask vector has a size in bits equal to the first number. 25. The network switch of claim 24, wherein the network switch supports a quantity of destinations for one of the mirror sessions by adding a second number of nodes with the session ID for the corresponding mirror session to the mirror destination linked list, the second number being equal to the quantity. 26. A network switch comprising: an input port for receiving a packet;a memory for storing a mirror destination table, wherein the mirror destination table includes a mirroring rule that is represented in a mirror destination linked list;a multicast replication engine that receives a mirror bit mask vector and mirrors the packet according to the mirror destination linked list and to the mirror bit mask vector; anda forwarding engine, wherein each bit in the mirror bit mask vector is set at any point in a forwarding pipeline of the forwarding engine when the forwarding engine determines that conditions for a corresponding mirror session are met, wherein the forwarding engine forwards the mirror bit mask vector to the multicast replication engine. 27. A method of implementing a network switch, the method comprising: maintaining a mirror destination table in a memory of the network switch;receiving a packet at an incoming port of the network switch;setting a mirror bit mask vector;deriving an entry point into the mirror destination table, wherein the entry point points to the start of a mirror destination linked list, wherein each node in the mirror destination linked list stores destination information of where to send mirrored packet data; andfor each node of the mirror destination linked list, replicating the packet according to instructions associated with a current node and to a bit in the mirror bit mask vector, wherein the bit in the mirror bit mask corresponds to a mirror session that is indicated by the current node; andwhen a pointer to the next node is valid, following the pointer to the next node. 28. The method of claim 27, wherein the instructions include a global mirror bit that indicates whether the mirror session is valid. 29. The method of claim 28, wherein the packet is replicated when the global mirror bit is valid and when the bit in the mirror bit mask is valid. 30. The method of claim 27, wherein the packet is replicated with destination information associated with the current node. 31. The method of claim 27, wherein the mirror bit mask vector is set based on characteristics of the packet by a forwarding engine and is forwarded to a multicast replication engine by the forwarding engine. 32. The method of claim 27, wherein the mirror bit mask vector includes one bit per supported mirror session. 33. The method of claim 27, wherein the mirror destination linked list includes one node for each possible mirror destination. 34. The method of claim 27, wherein the mirror destination linked list includes multiple nodes with the same session ID for different mirror destinations. 35. A method of implementing a multicast replication engine, the method comprising: receiving a packet, a mirror bit mask vector and a pointer to a start of a mirror destination linked list;traversing each node of the mirror destination linked list, wherein each of the nodes in the mirror destination linked list stores destination information of where to send mirrored packet data; andreplicating the packet according to data associated with each of the nodes and to a bit in the mirror bit mask vector, wherein the bit associated with a mirror session that is indicated by a corresponding node. 36. The method of claim 35, wherein the data includes identification information of the corresponding node, destination information, and pointer to the next node. 37. The method of claim 36, wherein the data includes a global mirror bit that indicates whether the mirror session is valid.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (16)
Hurley, Kean P.; Saklecha, Bhavi; Ip, Alfonso Y., Apparatus and system for coupling and decoupling initiator devices to a network using an arbitrated loop without disrupting the network.
Thomas, Philip A.; Thomas, Sarin; Frailong, Jean-Marc; Sindhu, Pradeep, Methods and apparatus for randomly distributing traffic in a multi-path switch fabric.
Grosser, Jr., Donald B.; Mroz, Michael D.; Richardson, Hood L., Methods, systems, and computer readable media for conserving multicast port list resources in an internet protocol (IP) packet forwarding device.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.