Cut-through switching system
20200374241 ยท 2020-11-26
Inventors
Cpc classification
H04L49/557
ELECTRICITY
International classification
Abstract
A method including receiving at a buffer at least a portion of an incoming frame, holding in the buffer the at least a portion of the frame received at the buffer, keeping in the buffer the at least a portion of the frame held in the buffer after transmission of the incoming frame by transmission circuitry responsive to receiving a signal at the buffer indicating that the at least a portion of a frame held in the buffer should be kept, and clearing from the buffer the at least a portion of a frame held in the buffer responsive to receiving a signal to the buffer indicating that the at least a portion of the frame held in the buffer should be cleared. Related methods and apparatus are also described.
Claims
1. A network element comprising: input circuitry configured to receive an incoming frame; frame processing circuitry configured to process the incoming frame; frame validation circuitry configured to validate the incoming frame; transmission circuitry configured to transmit the incoming frame in accordance with signals received from the frame processing circuitry and the frame validation circuitry; a buffer configured to hold the incoming frame; and cut-through decision and hold circuitry configured: to send a signal to the buffer indicating that at least a portion of a frame held in the buffer should be kept upon transmission of the frame, in response to determining that said at least a portion of the frame held in the buffer should be kept; and to send a signal to the buffer indicating that said at least a portion of the frame held in the buffer should be cleared when the frame is valid, in response to determining that said at least a portion of the frame held in the buffer should be cleared, wherein the buffer is further configured to keep or to clear said at least a portion of the frame held therein, during or after transmission of the incoming frame by the transmission circuitry, based on the signal received from the cut-through decision and hold circuitry.
2. The network element according to claim 1, and wherein said cut-through decision and hold circuitry is configured to send said signal to the buffer indicating that said at least a portion of the frame held in the buffer should be kept in response to determining that said incoming frame is not valid.
3. The network element according to claim 2, and wherein said determining that said incoming frame is not valid is based, at least in part, on contents of a tail portion of said incoming frame.
4. The network element according to claim 2, and wherein said determining that said incoming frame is not valid is based, at least in part, on contents of a header of said incoming frame.
5. The network element according to claim 1, and wherein said at least a portion of the frame comprises an entire frame.
6. The network element according to claim 1, and wherein said at least a portion of a frame comprises at least a portion of a header of said frame.
7. The network element according to claim 1, and wherein said transmission circuitry is configured to transmit the incoming frame when less than all of said incoming frame has been received by said input circuitry.
8. The network element according to claim 1, and wherein said transmission circuitry is also configured to transmit said at least a portion of the frame held in the buffer to a collector.
9. The network element according to claim 8 and wherein said collector is one of: comprised in the network element; and remote to the network element.
10. The network element according to claim 8 and wherein said transmission circuitry is also configured to transmit metadata associated with the frame to said collector.
11. The network element according to claim 1, and wherein said network element comprises a network interface card.
12. The network element according to claim 1, and wherein said network element comprises a switch.
13. A method comprising: receiving at a buffer at least a portion of an incoming frame; holding in said buffer said at least a portion of said frame received thereat; keeping in said buffer said at least a portion of said frame held therein, after transmission of said incoming frame by transmission circuitry, responsive to receiving a signal at said buffer indicating that said at least a portion of a frame held in said buffer should be kept; and clearing from said buffer said at least a portion of a frame held therein responsive to receiving a signal to said buffer indicating that said at least a portion of the frame held in said buffer should be cleared, wherein cut-through decision circuitry is configured to send said signal to said buffer indicating that said at least a portion of the frame held in said buffer should be kept in response to determining that said incoming frame is not valid.
14. (canceled)
15. The method according to claim 13, and wherein said determining that said incoming frame is not valid is based, at least in part, on contents of a tail portion of said incoming frame.
16. The method according to claim 13, and wherein said determining that said incoming frame is not valid is based, at least in part, on contents of a header of said incoming frame.
17. The method according to claim 13, and wherein said at least a portion of said frame kept in said buffer comprises an entire frame.
18. The method according to claim 13, and wherein said at least a portion of the frame kept in said buffer comprises at least a portion of a header of said frame received at said buffer.
19. The method according to claim 13, and wherein said transmission circuitry is configured to transmit the incoming frame when less than all of said incoming frame has been received by said input circuitry.
20. The method according to claim 13, and wherein said transmission also comprises transmitting said at least a portion of the frame held in the buffer to a collector.
21. The method according to claim 20 and wherein said transmission also comprises transmitting metadata associated with the frame to said collector.
22. The method according to claim 13, and wherein said buffer and said transmission circuitry are comprised in a network interface card.
23. The method according to claim 13, and wherein said buffer and said transmission circuitry are comprised in a switch.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0028] The present invention will be understood and appreciated more fully from the following detailed description, taken in conjunction with the drawings in which:
[0029]
[0030]
DETAILED DESCRIPTION OF AN EMBODIMENT
[0031] Reference is now made to
[0032] The system of
[0033] The system of
[0034] physical reception circuitry 105;
[0035] a buffer 110;
[0036] reception circuitry for L2 and above frame processing 115;
[0037] cut through decision and hold buffer state circuitry 120;
[0038] queueing and scheduling circuitry 125;
[0039] transmission circuitry for L2 and above frame processing 130;
[0040] frame (or packet) modification and validation circuitry 135; and
[0041] physical transmission circuitry 140.
[0042] The term L2 as used herein refers to layer 2 of the OSI model; layer 2 of the OSI model may also be referred to as a/the MAC layer.
[0043] An exemplary mode of operation of the system of
[0044] An incoming packet or frame (without limiting the generality of the exemplary embodiment of
[0045] As the incoming frame 145 continues to be received, the incoming frame 145 is also passed (generally in its entirety) by the physical reception circuitry 105 to the buffer 110. A path in which the incoming frame 145 is passed (generally in its entirety) is labeled in
[0046] The portion or entirety of the header of the incoming frame 145 is passed from the reception L2 and above frame processing circuitry 115 to cut-through decision and hold buffer state circuitry 120. The cut-through decision and hold buffer state circuitry 120 is configured to perform at least the following:
[0047] 1. To decide whether or not the incoming frame 145 can be processed using cut-through switching or not. Adaptive switching may be used, in which a dynamic decision is made as to whether to use cut-through or to use store-and forward; such a decision may be based on current network conditions. In the case of the exemplary mode of operation described herein for the exemplary system of
[0048] 2. To decide whether the incoming frame 145, as stored in the buffer 110, should be retained or should be discarded from the buffer 110 (which discarding may take place immediately or substantially immediately) during the read of the buffer for the purpose of transmitting the frame, after the incoming frame 145 is eventually sent on to its destination, as further described below. As described above, certain frames should be dropped; frames which are not valid are an example of such frames. In order for the system of
[0049] If the frame validity signal 150 indicates that the incoming frame is not valid, then the buffer hold/release signal 155 indicates hold; the incoming frame 145 should be held in the buffer 110 for further processing. If, on the contrary, the frame validity signal 150 indicates that the incoming frame is valid, then the buffer hold/release signal 155 indicates release; the incoming frame 145 may be cleared from the buffer 110 once the incoming frame 145 has been sent on to its intended destination. The buffer hold/release signal 155 may be configuration-dependent so that, for example, in the above description of hold and release, it is appreciated that the system of
[0050] The cut-through decision and hold buffer state circuitry 120 meanwhile passes the portion or entirety of the header of the incoming frame 145 on to the transmission circuitry for L2 and above frame processing 130, where (similarly to the reception circuitry for L2 and above frame processing 115, but in the context of transmission) processing of switching information at L2 and above takes place, as is known in the art.
[0051] The portion or entirety of the header of the incoming frame 145 is then passed on to the frame modification and validation circuitry 135, where the incoming frame 145 is also received from the buffer 110, and passed on for transmission to a destination (not shown) by the physical transmission circuitry 140. The frame modification and validation circuitry is also configured to carry out further operations, as described below.
[0052] A frame which has been held in the buffer 110 (by way of non-limiting example, due to being not valid, as described above) may have metadata added to the frame in order to enable later analysis of the frame and the reason/s for which the frame was held. For example, the following are non-limiting examples of metadata that could be added: [0053] an identifier of an ingress port (not shown) from which the frame entered the system of
[0060] The metadata may be added by the frame modification and validation circuitry 135. The metadata added by the frame modification and validation circuitry 135 may originate in other elements of the system of
[0061] It is appreciated that the modification functions of the frame modification and validation circuitry as described above may, in some exemplary embodiments, be optional or may be optionally used, according to system configuration. Such modification functions include addition of metadata, as described above.
[0062] In general, it may be desirable for the not valid frame itself, along with associated metadata, to be sent to a collector, which could be directly connected to the system of
[0063] It is appreciated that the elements shown and described with reference to
[0064] Reference is now made to
[0065] The exemplary method of
[0066] First bytes of a frame (such as, by way of non-limiting example, the incoming frame 145 of
[0067] A decision is made (as described in detail above with reference to
[0068] A state of the system is set so that the frame's contents will be retained in a buffer (such as, by way of non-limiting example, the buffer 110 of
[0069] As the frame continues to be received and a point is reached at which the frame is scheduled for transmission from an egress port (step 221), a check is made as to whether the state has been set to retain the frame's contents in the buffer (step 222). If the state is not set, processing continues with transmission of the frame, clearing of the buffer, and receipt and processing of a next frame (step 223); in such a case, the remaining steps of the method of
[0070] If the state is set, the entirety of the frame is received, through and including a tail of the frame (step 225), at which time frame validity can be determined (step 225); exemplary methods for determining frame validity are described above with reference to
[0071] If the frame is determined to be valid (step 230), the frame is released from the buffer (such as, by way of non-limiting example, the buffer 110 of