WO2019025835A1 - Crc error location detection in automatic cut-through and store-and-forward switching - Google Patents

Crc error location detection in automatic cut-through and store-and-forward switching Download PDF

Info

Publication number
WO2019025835A1
WO2019025835A1 PCT/IB2017/054773 IB2017054773W WO2019025835A1 WO 2019025835 A1 WO2019025835 A1 WO 2019025835A1 IB 2017054773 W IB2017054773 W IB 2017054773W WO 2019025835 A1 WO2019025835 A1 WO 2019025835A1
Authority
WO
WIPO (PCT)
Prior art keywords
network node
frame
crc error
crc
detected
Prior art date
Application number
PCT/IB2017/054773
Other languages
French (fr)
Inventor
Annikki Welin
Tomas Thyni
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Priority to PCT/IB2017/054773 priority Critical patent/WO2019025835A1/en
Publication of WO2019025835A1 publication Critical patent/WO2019025835A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0079Formats for control data
    • H04L1/0082Formats for control data fields explicitly indicating existence of error in data being transmitted, e.g. so that downstream stations can avoid decoding erroneous packet; relays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/251Cut-through or wormhole routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/555Error detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes

Definitions

  • Certain embodiments relate, in general, to data communications and, more particularly, to CRC error location detection during packet switching.
  • Cyclic Redundancy Checks are based on the theory of cyclic error- correcting codes.
  • the systematic cyclic codes which encode messages by adding a fixed-length check value, are used for the purpose of error detection in data transmission in Ethernet switched networks.
  • Ethernet switches may be interchangeably referred to as “switch(es)” or “nodes” herein.
  • packets switched in Ethernet switches are termed Ethernet packets, and may be referred to interchangeably as “Ethernet frame(s)", “frame(s)” or “packet(s)” herein.
  • a first mode of packet switching is store-and- forward switching. In this mode, a switch stores incoming Ethernet frames in their entirety. The switch then compares the last field of the frame (CRC) against its own calculated frame check sequence (FCS). This ensures packet integrity. If the values match, the packet is forwarded to the destination. If the values do not match, the packet will be dropped.
  • CRC last field of the frame
  • FCS frame check sequence
  • the second mode of packet switching is cut-through switching.
  • a switch in cut-through mode can begin forwarding a frame as soon as it has examined the first six bytes of the frame, which includes the destination Media Access Control (MAC) address of the destination node.
  • Most cut-through switches read a few more bytes before making the forward or drop decision, but do not store the entire frame before beginning the forward process.
  • MAC Media Access Control
  • CRC error will not be detected before the frame is deployed to the destination MAC address.
  • Different vendors implement different means to deal with frame integrity errors that cannot be detected until the end of the frame. For example, stomping a frame involves setting the Frame Check Sequence (FCS) to a known value that does not pass a CRC check.
  • FCS Frame Check Sequence
  • the cause for the failure is typically in the physical or data-link layers of the connection. This could be the result of a faulty cable or failing transceiver. Typically in cut-through switching, only the end/destination node or interface recognizes the error.
  • FIG. 1 illustrates an example of an Ethernet frame structure that is terminated with an FCS indicator.
  • FCS Frame Check Sequence
  • the receive (Rx) CRC counter of the 'show' interface command may be incremented.
  • the frame cannot be dropped because the FCS refers to the extra error-detecting code added to a frame in a communications protocol.
  • Frames are used to send upper-layer Internet Protocol (IP) data and ultimately the application data from a source to a destination. The detection of a CRC error, however, does not imply error recovery.
  • IP Internet Protocol
  • Ethernet protocol rules specify that a damaged frame should be discarded, but at the same time does not specify any action to cause the frame to be retransmitted.
  • Other protocols notably the higher-layer Transmission Control Protocol (TCP), can notice the data loss and initiate error recovery.
  • TCP Transmission Control Protocol
  • the egress interface of a switch may increment a Tx CRC error indicator when a CRC error is detected.
  • ACL Access Control List
  • a method for Cyclic Redundancy Check (CRC) error location detection in a first network node configured for cut-through switching comprises detecting a CRC error in a first frame received from a source network node, adding a Medium Access Control (MAC) address of the first network node to the first frame in response to detecting the CRC error, and forwarding the first frame to a second network node.
  • the MAC address of the first network node is added to the end of the payload field of the first frame.
  • adding a MAC address of the first network node to the first frame comprises: adding a TYPE field and a Source MAC address field to the payload portion of the first frame.
  • the method further comprises adding the source network node to an access control list (ACL), and placing the first network node in store-and-forward mode for subsequent frames received from the source network node.
  • the source network node is identified in the ACL by one of: MAC address and switch port number.
  • the method further comprises receiving a second frame from the source network node, storing the second frame for processing, and dropping the second frame when a CRC error is detected in the frame.
  • the method further comprises forwarding the frame when no CRC error is detected in the frame.
  • the method further comprises removing the source network node from the ACL after a period of time in which no CRC errors are detected for subsequent frames received from the source network node.
  • the network node is one of a Radio Access Node (RAN), an Ethernet switch, and a Wide Area Network node.
  • a method of detecting Cyclic Redundancy Check (CRC) errors at an intermediate network node configured for cut-through switching comprises detecting a CRC error in a received first frame, and determining whether the received first frame indicates a first network node where the CRC error was detected. The method further comprises forwarding the received first frame without adding CRC error detection information when the first network node where the CRC error was detected is indicated.
  • the first network node where the CRC error was detected is indicated by a TYPE field, and the identification of the first network node where the CRC error was detected is provided in a Source MAC address field in the payload field of the frame.
  • the method further comprises adding the first network node to an access control list (ACL), and placing the intermediate network node in store-and-forward mode for processing subsequent frames received from the first network node.
  • ACL access control list
  • the intermediate network node is one of a Radio Access Node (RAN), an Ethernet switch, and a Wide Area Network node.
  • a first network node configured for cut-through switching.
  • the first network node comprises a processing circuitry comprising a memory and a processor, the memory having instructions.
  • the processor when executing the instructions, causes the first network node to detect a Cyclic Redundancy Check (CRC) error in a first frame received from a source network node.
  • the processor when executing the instructions, further causes the first network node to add a Medium Access Control (MAC) address of the first network node to the first frame in response to detecting the CRC error, and to forward the first frame to a second network node.
  • the first network node may be further configured to perform any of the method embodiments of the first aspect.
  • an intermediate network node device configured for cut- through switching.
  • the intermediate network node device comprises a processing circuitry comprising a memory and a processor, the memory having instructions.
  • the processor when executing the instructions, causes the intermediate network node device to detect a Cyclic Redundancy Check (CRC) error in a received first frame.
  • the processor when executing the instructions, further causes the network node device to determine whether the received first frame indicates a first network node where the CRC error was detected, and forward the received first frame without adding CRC error detection information when the first network node where the CRC error detected is indicated.
  • the intermediate network node may further be configured to perform any of the method embodiments of the second aspect.
  • a network node In a fifth aspect, a network node is provided. In an embodiment of the fifth aspect, the network node comprises processing circuitry.
  • the processing circuitry comprises a detecting unit configured to cause the network node to detect a CRC error in a first frame received from a source network node, an adding unit configured to cause the network node to add a Medium Access Control (MAC) address of the network node to the first frame in response to detecting the CRC error, and a forwarding unit configured to cause the network node to forward the first frame to a second network node.
  • the network node may be further configured to perform any of the embodiments of the first aspect.
  • a network node is provided. In an embodiment of the sixth aspect, the network node comprises processing circuitry.
  • the processing circuitry comprises a detecting unit configured to cause the network node to detect a Cyclic Redundancy Check (CRC) error in a received first frame, a determining unit configured to cause the network node to determine whether the received first frame indicates a first network node where the CRC error was detected, and a forwarding unit configured to cause the network node to forward the received first frame without adding CRC error detection information when the first network node where the CRC error was detected is indicated.
  • the network node may be further configured to perform any of the embodiments of the second aspect.
  • a non-transitory computer readable medium is provided.
  • the non-transitory computer readable medium comprises instructions which, when executed by a processor, cause a network node to perform the method of any of the first aspect, the second aspect, and any of their embodiments.
  • a computer program comprises instructions which, when executed by a processor, cause a network node to perform the method according to the first aspect, the second aspect, and any of their embodiments.
  • FIG. 1 illustrates an example of an Ethernet frame structure.
  • FIG. 2 illustrates a block diagram of a network of cut-through nodes processing a packet with a CRC error.
  • FIG. 3 illustrates a packet frame modified with the CRC error location.
  • FIG. 4 illustrates an embodiment of a method for CRC error location detection in a first network node.
  • FIG. 5 and FIG. 6 illustrate embodiments of a method of the network node after detection of a CRC error.
  • FIG. 7 illustrates an embodiment for processing a frame at an intermediate node after CRC error location detection at a previous node.
  • FIG. 8A-8C illustrate alternative embodiments of a network node according to the proposed CRC error location detection.
  • Ethernet switches may be interchangeably referred to as “switch(es)” throughout this document.
  • Packets switched in Ethernet switches are termed Ethernet packets, and may be referred to interchangeably as “Ethernet frame(s)", “frame(s)” or “packet(s)” throughout this document.
  • CRC errors in Ethernet frames may lead to loss of network bandwidth due to bad frames being propagated from switch to switch. Additionally, troubleshooting the location and cause of CRC errors can be quite tedious and time-intensive.
  • a solution is proposed for automating the CRC error location detection to aid in the troubleshooting of bad network connection(s) and port(s), which may be the cause of CRC errors, thereby providing the advantage of faster detection and correction of network problems.
  • the switch (or port) mode may be changed from cut-through mode to store-and-forward mode when CRC errors are detected.
  • An Access Control List (ACL) may be further used in order to apply special handling to frames originating from a source associated with previously detected CRC errors. By doing so, an advantage of saving network bandwidth by dropping faulty frames earlier in the chain of network switches, e.g. in a store-and-forward mode switch, instead of propagating the faulty frames, e.g.
  • a cut-through mode switch in a cut-through mode switch, may be realized.
  • the entry in the ACL may be removed and the switch (or port) mode returned to cut-through mode processing.
  • a CRC error when a CRC error is detected, a
  • CRC error location detection mechanism captures a MAC address of the location where the frame error is detected, e.g. the MAC address of the node that detects the CRC error.
  • an error may occur as a result of a bad link or cable associated with an Ethernet port to which it is connected, or it may be as a result of the port itself, e.g. the port may be damaged.
  • a bad or faulty link, cable, or port, at the ingress of a network node or the egress of a sending node may cause a CRC error to be detected when a received frame is processed by the network node.
  • the MAC address of the detecting node may be referred to as the location where the CRC error was detected.
  • the detecting node may then insert its MAC address into the frame before being deployed to the next switch.
  • a filter may be implemented to monitor incoming frames originating from a source associated with previously detected CRC errors. The frames are monitored for further CRC errors.
  • the filter may be implemented as an Access Control List (ACL).
  • ACL Access Control List
  • the detecting node when the detecting node is operating in cut-through mode and a CRC error is detected in a received frame by the detecting node, the detecting node may create an entry in the ACL for filtering subsequent frames associated with the source of the frame with the CRC error. In one embodiment, the entry may be created based on the MAC address of the source node of the received frame.
  • the entry may be created based on some other information associated with the location where the CRC was detected, for example, the incoming switch port number of the detecting node.
  • the granularity of the information for creating the entry in the ACL determines the granularity of the filter.
  • the detecting node may filter only frames received from the source node, or it may filter all packets received on a particular incoming switch port of the detecting node.
  • An entry in the ACL is created after a CRC error is detected while the detecting node is operating in cut-through mode. After the entry is created, all subsequent frames matched to an ACL entry will be filtered for separate processing.
  • the detecting node when a subsequently received frame is matched to an entry in the ACL the detecting node will process them in store-and-forward mode.
  • a frame may be matched to an entry in the ACL when the frame's source MAC address, or in some embodiments, the port the frame was received on, matches an entry in the ACL.
  • the detecting node may use other information than source MAC address and port number to create an entry in the ACL for filtering subsequent frames. The detecting node may process enough of the frame to determine the source MAC address in the header before determining if there is an entry for the source MAC address in the ACL.
  • the detecting node may be able to determine whether the port number matches an entry in the ACL without looking into the frame. If no match is made in the ACL, the frame is processed regularly, i.e. in cut- through mode. However, if a match is made in the ACL, the frame is processed in store-and-forward mode. In the store-and-forward mode, the network node stores incoming Ethernet frames in their entirety, i.e. the frame is stored before processing. However, as noted above, the network node may process a small portion of the frame to determine how the frame should be processed.
  • the network node processing a frame in store-and- forward mode, then compares the last field of the frame (CRC) against its own calculated frame check sequence. If the values do not match, the packet will be dropped at that incoming port, saving bandwidth for the rest of the network.
  • the store-and-forward mode is thus contrasted with the cut-through mode, which deploys the frame as it is being processed, such that, the CRC error is not detected until after the frame is already deployed to the next node.
  • the detecting node can monitor for continuing CRC errors (e.g. for the same source MAC address, incoming switch port number, etc.), detect if the CRC errors stop occurring, and drop packets with CRC errors so they are not deployed to the next node (e.g. an intermediate node).
  • an intermediate node operating in cut-through mode and supporting CRC error location detection may also switch over to selective store and forward mode for certain incoming frames.
  • a first network node i.e. a detecting node
  • a second network node e.g. an intermediate node due to cut-through processing.
  • the second network node also operating in cut-through mode, will subsequently detect the CRC error which has been propagated in the faulty frame.
  • the second network node may determine that the CRC error location was already detected by a previous switch and therefore, the second network node will know that it is not the detecting node.
  • the intermediate node may, however, take similar action to switch to store-and-forward mode and/or create an ACL for subsequent frames similar to that in the detecting node, e.g. based on source MAC address of the frame, port number of the second network node, etc.
  • FIG. 2 illustrates a network 200 of cut-through network nodes processing a packet with a CRC error.
  • a packet 220 is generated by a source node 210 and transmitted to cut-through switch 230i.
  • the cut-through switch 230i transmits the packet to the next switch 230 2 .
  • a CRC error has been introduced into the packet leaving switch 230i.
  • the cut-through switch 230 2 receives the packet, e.g. on an incoming switch port.
  • the cut-through switch 230 2 begins processing the packet and, because of the nature of cut-through switching, starts deploying the packet to the next switch, e.g. 230 3 , as it is being processed and before detecting the CRC error.
  • the cut- through switch 230 2 detects the CRC error. But since the packet with the CRC error has already been deployed to the next switch, each subsequent switch 230 3 , . . . 230n-i, 230n, in the data path receives and deploys the bad packet, as all the switches operate in cut-through mode. Eventually, a host 240 receives that packet, detects the packet error, e.g. at the Ethernet or TCP level, and drops the packet. This causes a waste of switch and network resources to process and route bad packets only to have the packet be discarded at the receiving host.
  • the packet error e.g. at the Ethernet or TCP level
  • the CRC error may occur, or be introduced, at switch 230i but may not be detected until it reaches switch 230 2 , which is referred to as the CRC error detecting node, because it is the switch where the CRC error is first detected.
  • switch 230 2 may modify the payload field of the frame to include information, including its own MAC address to identify itself as the CRC error detecting node 230 2 .
  • subsequent switches receiving the modified packet are then able to determine, after also detecting the CRC error, that the CRC error was already detected by another switch based on the presence of the detecting node's MAC address in the payload.
  • this is also how switch 230 2 determines that it is the first switch to detect the error, i.e. there is no MAC address in the payload field.
  • FIG. 3 illustrates a packet frame modified with information associated with the CRC error detection node, e.g. the MAC address of the detecting node.
  • the payload of the frame is modified to add a new Type Field which indicates that the MAC address of the CRC error detection node is provided, and to further add the corresponding CRC Error Detection MAC Address Field, i.e. the MAC address of the CRC error detection node.
  • This field may be represented as series of bits, e.g. a 16-bit field.
  • the CRC error detecting node e.g.
  • the switch 230 2 sets the Type Field and sets its MAC address as the CRC Error Detection MAC Address Field, and adds this information to the Payload field of the packet.
  • the CRC Error Detection information may be added to the beginning or end of the Payload field, however, when a switch is performing in cut-through mode, it may be beneficial to modify the frame at the end of the Payload field which is closer to where the CRC error will be detected. Further, because the frame is already determined to be faulty, it is acceptable for the CRC error detection node 230 2 to overwrite the contents of the frame with CRC error detection information, i.e. with the Type Field and Source MAC Address Field. In the embodiment of FIG. 3, the Type Field and Source MAC Address Field are inserted at the end of the Payload Field.
  • FIG. 4 illustrates an embodiment of a method 400 for CRC error location detection in a first network node.
  • the first network node e.g. CRC error detecting node 230 2
  • the first network node is configured for cut-through switching at the start of the method 400.
  • the first network node detects a CRC error in a first frame received from a source node, e.g. 210.
  • the first network node adds its MAC address, e.g. the MAC address of the CRC error detection node 230 2 , to the first frame in response to detecting the CRC error.
  • the MAC address of the first network node is added to the end of the Payload field of the first frame.
  • Adding a MAC address of the first network node to the first frame comprises: adding a TYPE field and a CRC Error Detection MAC Address field to the payload portion of the first frame, which fields were previously described above.
  • the first network node forwards the first frame to a second network node.
  • the first network node may notify downstream nodes where the CRC error was detected, i.e. at the CRC Error Detection MAC Address.
  • FIG. 5 illustrates another embodiment of a method 500 for CRC error detection in the first network node. This embodiment may follow the steps of method 400 in FIG. 4. For example, the network node may take additional action related to the first frame.
  • the first network node may add the source network node, e.g. network node 210, to a local Access Control List (ACL).
  • the first network node adds the source network node's MAC address, e.g. the source MAC address in the frame header shown in FIG. 3, to the ACL.
  • the ACL will act to filter subsequent packets associated with corresponding entries in the ACL.
  • the first network node is placed in store- and-forward mode for subsequent frames received from source network node. In one embodiment, the store-and-forward mode is applied according to the granularity indicated by the ACL, e.g.
  • the first network node may then apply additional controls, if applicable, for subsequent received frames filtered by the ACL. Frames received from other sources, however, may continue to be processed in cut-through mode.
  • FIG. 6 illustrates an embodiment of a method 600 of the first network node receiving a second frame after detection of a CRC error in the first frame.
  • the method illustrates the network node applying additional control to subsequent frames filtered by the ACL after detection of a CRC error.
  • the first network node receives a second frame from the source node, e.g. 210.
  • the ACL filters the second frame because a CRC error was detected in the first frame which resulted in an entry being created in the ACL.
  • the first network node is operating in store-and-forward node to process the frames filtered by the ACL, and thus the first network node stores the second frame for processing at 620.
  • the first network node may detect a CRC error in the second frame.
  • the first network node drops the second frame at 630.
  • the frame with the error is not forwarded, or deployed, in the network. This reduces unnecessary processing by subsequent nodes, e.g. 230 3 to 230 n , in the communication path as those nodes would detect the same CRC error that has already been detected by the first network node.
  • the first network may forward the frame to a next network node, i.e. an intermediate node 2302, without modifying the frame.
  • the first network node may remove an entry from the ACL after certain conditions are met. In an embodiment, the first network node may remove an entry if no CRC errors associated with the entry are detected in subsequent packets during a given time period. In another embodiment, the first network node may remove an entry if a certain number of subsequent packets associated with the entry are processed with no CRC errors.
  • FIG. 7 illustrates an embodiment for processing a frame at an intermediate node after CRC error detection at a previous node.
  • an intermediate node e.g. any of 230 3 - 230 n , may utilize the information provided by a CRC error detecting node, i.e. 230 2 , in a frame.
  • the intermediate node is operating in cut-through mode.
  • the intermediate node detects a CRC error in a received first frame.
  • the intermediate node may determine if the received first frame includes information indicating that the CRC error has already been detected at another location/node, i.e. the first network node. The intermediate node may make the determination by checking the Payload field of the received first frame for a Type field indicating that a CRC Error Detection MAC address field is included, and further checking the CRC Error Detection MAC Address field which identifies the MAC address of the first network node where the CRC error was detected.
  • the intermediate node need not add any information to the frame.
  • the intermediate node continues its processing and forwards the first frame without adding CRC error detection information.
  • the error detection information inserted into the frame by the first network node i.e. the CRC Error Detecting node, will be available to subsequent network nodes, i.e. 230 3 - 230 n , that receive the first frame.
  • the intermediate node may establish a local ACL to apply further control to frame processing.
  • the intermediate node may add the source network node's MAC address into the local ACL.
  • the intermediate node may also be placed in store-and-forward mode so that the store-and-forward mode is applied only to subsequent packets filtered by the ACL, while frames not filtered by the ACL may continue to be processed in cut-through mode.
  • the network node 800 is configured to perform at least one of the method embodiments described above, e.g. in FIGs. 4-7.
  • the network node may be, e.g., a single Radio Access Node (RAN), an ethernet switch, a Wide Area Network node, etc.
  • the network node may be a RAN in an Elastic RAN network.
  • the proposed solution is intended for Ethernet frame communications, which may be implemented for backhaul links between RANs, between RANs in an Elastic RAN network, and between nodes in area networks, e.g.
  • the network node 800 is associated with the same technical features, objects and advantages as the previously described method embodiments.
  • network nodes 220 and 230i-230 n are types of network node 800.
  • the network node may be implemented and/or described as follows:
  • the network node 800 comprises processing circuitry 801, and one or more communication interfaces 802.
  • the communication interface 802 may comprise one or more interfaces for receiving a frame from a source node and forwarding a first frame to a second network node.
  • the communication interface 802 may be an Ethernet interface.
  • the one or more interfaces of communication interface 802 may also receive wireless communications from other devices.
  • the l6 processing circuitry may be composed of one or more parts which may be comprised in one or more nodes in the communication network, but is here illustrated as one entity.
  • the processing circuitry 801 is configured to cause the network node 800 to detect a CRC error in a first frame received from a source network node.
  • the processing circuitry 801 is further configured to add a MAC address of the first network node to the first frame.
  • the processing circuitry 801 may, as illustrated in FIG. 8B, comprise one or more processing elements, such as a processor 803, and a memory 804 for storing or holding instructions.
  • the memory may comprise instructions, e.g. in form of a computer program 805, which when executed by the one or more processors 803 causes the network node device 800 to perform the actions and methods described above, e.g. the method of FIGs. 4-7.
  • the processing circuitry 803 comprises a detecting unit 806, configured to cause the network node to detect a CRC error in a first frame received from a source network node.
  • the processing circuitry 801 may further comprise an adding unit 807, configured to add a Medium Access Control (MAC) address of the first network node to the first frame in response to detecting the CRC error, and a forwarding unit 809, configured to forward the first frame to a second network node.
  • the detecting unit 806 is configured to cause the network node to detect a Cyclic Redundancy Check (CRC) error in a received first frame.
  • CRC Cyclic Redundancy Check
  • a determining unit 808 is configured to cause the network node to determine whether the received first frame indicates a first network node where the CRC error was detected, and the forwarding unit 809 is configured to cause the network node to forward the received first frame without adding CRC error detection information when the first network node where the CRC error was detected is indicated.
  • the steps, functions, procedures, modules, units and/or blocks described for the radio access device herein may be implemented in hardware using any conventional technology, such as discrete circuit or integrated circuit technology, including both general-purpose electronic circuitry and application-specific circuitry.
  • at least some of the steps, functions, procedures, modules, units and/or blocks described above may be implemented in software such as a computer program for execution by suitable processing circuitry including one or more processing units.
  • the software could be carried by a carrier, such as an electronic signal, an optical signal, a radio signal, or on a non-transitory computer readable storage medium before and/or during the use of the computer program e.g. in one or more nodes of the wireless communication network.
  • the flow diagram or diagrams presented herein may be regarded as a computer flow diagram or diagrams, when performed by one or more processors.
  • a corresponding radio access device or apparatus may be defined as a group of function modules, where each step performed by a processor corresponds to a function module.
  • the function modules are implemented as one or more computer programs running on one or more processors.
  • processing circuitry 800 of a network node may include, but is not limited to, a combination of one or more of a microprocessor, controller, microcontroller, central processing unit (CPU), digital signal processor (DSP), application specific integrated circuit (ASIC), field programmable gate array (FPGA), Programmable Logic Controllers (PLCs), or any other suitable computing device, resource, or combination of hardware, software and/or encoded logic operable to provide, either alone or in conjunction with other components, such as memory 804, the functionality of the radio access device 800. That is, the units or modules in the arrangements in the communication network described above could be implemented by a combination of analog and digital circuits in one or more locations, and/or one or more processors configured with software and/or firmware, e.g.
  • the memory 804 may comprise any form of volatile or non-volatile computer, or non-transitory computer readable media including, without limitation, l8 persistent storage, solid state memory, remotely mounted memory, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), removable media, or any other suitable local or remote memory component.
  • Memory 804 may store any suitable instructions, data or information, including software and encoded logic, to be executed by the processing circuitry 801 so as to implement the above-described functionalities of the radio access device 800. Memory 804 may be used to store any calculations made by processor 803 and/or any data received via interface.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A method and a network node device for performing the method for Cyclic Redundancy Check (CRC) error location detection in a first network node configured for cut-through switching. The method comprises detecting a CRC error in a first frame received from a source network node. The method further comprises adding a Medium Access Control (MAC) address of the first network node to the first frame in response to detecting the CRC error, and forwarding the first frame to a second network node.

Description

CRC ERROR LOCATION DETECTION IN AUTOMATIC CUT-THROUGH AND STORE-AND-FORWARD SWITCHING
TECHNICAL FIELD Certain embodiments relate, in general, to data communications and, more particularly, to CRC error location detection during packet switching.
BACKGROUND
Cyclic Redundancy Checks (CRCs) are based on the theory of cyclic error- correcting codes. The systematic cyclic codes, which encode messages by adding a fixed-length check value, are used for the purpose of error detection in data transmission in Ethernet switched networks.
There are two primary modes of packet switching in Ethernet switches. Note that Ethernet switches may be interchangeably referred to as "switch(es)" or "nodes" herein. Further of note, packets switched in Ethernet switches are termed Ethernet packets, and may be referred to interchangeably as "Ethernet frame(s)", "frame(s)" or "packet(s)" herein. A first mode of packet switching is store-and- forward switching. In this mode, a switch stores incoming Ethernet frames in their entirety. The switch then compares the last field of the frame (CRC) against its own calculated frame check sequence (FCS). This ensures packet integrity. If the values match, the packet is forwarded to the destination. If the values do not match, the packet will be dropped.
The second mode of packet switching is cut-through switching. In theory, a switch in cut-through mode can begin forwarding a frame as soon as it has examined the first six bytes of the frame, which includes the destination Media Access Control (MAC) address of the destination node. Most cut-through switches read a few more bytes before making the forward or drop decision, but do not store the entire frame before beginning the forward process. Because of the cut-through nature of the switch architecture, a CRC error will not be detected before the frame is deployed to the destination MAC address. Different vendors implement different means to deal with frame integrity errors that cannot be detected until the end of the frame. For example, stomping a frame involves setting the Frame Check Sequence (FCS) to a known value that does not pass a CRC check. This causes subsequent CRC checks to fail later in the path for this frame. A downstream store-and-forward device, or a host, will then be able to drop this frame. A frame is always dropped at the destination node when a bad CRC is detected. The most popular FCS algorithm is the CRC, used in Ethernet and other IEEE 802 protocols with 32 bits.
When a CRC error is detected in an adjacent switch operating in store and forward mode, the cause for the failure is typically in the physical or data-link layers of the connection. This could be the result of a faulty cable or failing transceiver. Typically in cut-through switching, only the end/destination node or interface recognizes the error.
The existing solutions are problematic because they do not prevent an initial CRC error from being propagated from an ingress interface of a receiving switch operating in cut-through mode to adjacent switches. However, the detection and troubleshooting of these CRC errors is cumbersome in the chain of cut-through switches. In a leaf-spine architecture comprising multiple switches, for example, it is problematic to traverse all of the switches to detect where an error occurred. Thus, generally, only the end/desti nation node or interface recognizes the error
FIG. 1 illustrates an example of an Ethernet frame structure that is terminated with an FCS indicator. In one example, when a CRC error is detected in the Frame Check Sequence (FCS) on switch port operating in cut-through mode, the receive (Rx) CRC counter of the 'show' interface command may be incremented. In this case, the frame cannot be dropped because the FCS refers to the extra error-detecting code added to a frame in a communications protocol. Frames are used to send upper-layer Internet Protocol (IP) data and ultimately the application data from a source to a destination. The detection of a CRC error, however, does not imply error recovery. For example, Ethernet protocol rules specify that a damaged frame should be discarded, but at the same time does not specify any action to cause the frame to be retransmitted. Other protocols, notably the higher-layer Transmission Control Protocol (TCP), can notice the data loss and initiate error recovery. For example, the egress interface of a switch may increment a Tx CRC error indicator when a CRC error is detected.
There exist some solutions to find CRC errors. For example, some switch vendors may implement functions to determine whether a switch is propagating CRCs or generating them. However, this type of troubleshooting is cumbersome and particularly, if there are a large number of switches, detecting and locating a CRC error requires a lot of effort. Furthermore, most switch vendors do not support this type of solution. SUMMARY
It is therefore desirable to provide a solution to automate detection of the CRC error and identification of the location where the CRC error is detected. This provides the advantage of gaining time when troubleshooting bad network connections and ports. The solution also proposes to change the switch mode from cut-through to store-and-forward when CRC errors are detected. The solution further proposes to utilize an Access Control List (ACL) to track and filter out errors. In addition to gaining time in CRC error location detection, an advantage of the proposed solution is that network bandwidth is saved since faulty frames are dropped earlier in the chain of switches. A further advantage is that this solution may be implemented in large scale packet switching networks, including in wireless radio access networks (RANs), for example, elastic RAN and single RAN networks requiring high throughput and low latency.
According to a first aspect, a method for Cyclic Redundancy Check (CRC) error location detection in a first network node configured for cut-through switching is provided. In a first embodiment of the first aspect, the method comprises detecting a CRC error in a first frame received from a source network node, adding a Medium Access Control (MAC) address of the first network node to the first frame in response to detecting the CRC error, and forwarding the first frame to a second network node. In a second embodiment of the first aspect, the MAC address of the first network node is added to the end of the payload field of the first frame. In a third embodiment of the first aspect, adding a MAC address of the first network node to the first frame comprises: adding a TYPE field and a Source MAC address field to the payload portion of the first frame. In a fourth embodiment, of the first aspect, the method further comprises adding the source network node to an access control list (ACL), and placing the first network node in store-and-forward mode for subsequent frames received from the source network node. In a fifth embodiment of the first aspect, the source network node is identified in the ACL by one of: MAC address and switch port number. In a sixth embodiment of the first aspect, the method further comprises receiving a second frame from the source network node, storing the second frame for processing, and dropping the second frame when a CRC error is detected in the frame. In a seventh aspect, the method further comprises forwarding the frame when no CRC error is detected in the frame. In an eighth embodiment of the first aspect, the method further comprises removing the source network node from the ACL after a period of time in which no CRC errors are detected for subsequent frames received from the source network node. In a ninth embodiment of the first aspect, the network node is one of a Radio Access Node (RAN), an Ethernet switch, and a Wide Area Network node.
In a second aspect, a method of detecting Cyclic Redundancy Check (CRC) errors at an intermediate network node configured for cut-through switching is provided. In a first embodiment of the second aspect, the method comprises detecting a CRC error in a received first frame, and determining whether the received first frame indicates a first network node where the CRC error was detected. The method further comprises forwarding the received first frame without adding CRC error detection information when the first network node where the CRC error was detected is indicated. In a second embodiment of the second aspect, the first network node where the CRC error was detected is indicated by a TYPE field, and the identification of the first network node where the CRC error was detected is provided in a Source MAC address field in the payload field of the frame. In a third embodiment of the second aspect, the method further comprises adding the first network node to an access control list (ACL), and placing the intermediate network node in store-and-forward mode for processing subsequent frames received from the first network node. In a fourth embodiment of the second aspect, the intermediate network node is one of a Radio Access Node (RAN), an Ethernet switch, and a Wide Area Network node.
In a third aspect, a first network node configured for cut-through switching is provided. In an embodiment of the third aspect, the first network node comprises a processing circuitry comprising a memory and a processor, the memory having instructions. The processor, when executing the instructions, causes the first network node to detect a Cyclic Redundancy Check (CRC) error in a first frame received from a source network node. The processor, when executing the instructions, further causes the first network node to add a Medium Access Control (MAC) address of the first network node to the first frame in response to detecting the CRC error, and to forward the first frame to a second network node. The first network node may be further configured to perform any of the method embodiments of the first aspect.
In a fourth aspect, an intermediate network node device configured for cut- through switching is provided. In an embodiment of the fourth aspect, the intermediate network node device comprises a processing circuitry comprising a memory and a processor, the memory having instructions. The processor, when executing the instructions, causes the intermediate network node device to detect a Cyclic Redundancy Check (CRC) error in a received first frame. The processor, when executing the instructions, further causes the network node device to determine whether the received first frame indicates a first network node where the CRC error was detected, and forward the received first frame without adding CRC error detection information when the first network node where the CRC error detected is indicated. The intermediate network node may further be configured to perform any of the method embodiments of the second aspect.
In a fifth aspect, a network node is provided. In an embodiment of the fifth aspect, the network node comprises processing circuitry. The processing circuitry comprises a detecting unit configured to cause the network node to detect a CRC error in a first frame received from a source network node, an adding unit configured to cause the network node to add a Medium Access Control (MAC) address of the network node to the first frame in response to detecting the CRC error, and a forwarding unit configured to cause the network node to forward the first frame to a second network node. The network node may be further configured to perform any of the embodiments of the first aspect. In a sixth aspect, a network node is provided. In an embodiment of the sixth aspect, the network node comprises processing circuitry. The processing circuitry comprises a detecting unit configured to cause the network node to detect a Cyclic Redundancy Check (CRC) error in a received first frame, a determining unit configured to cause the network node to determine whether the received first frame indicates a first network node where the CRC error was detected, and a forwarding unit configured to cause the network node to forward the received first frame without adding CRC error detection information when the first network node where the CRC error was detected is indicated. The network node may be further configured to perform any of the embodiments of the second aspect. In a seventh aspect, a non-transitory computer readable medium is provided.
The non-transitory computer readable medium comprises instructions which, when executed by a processor, cause a network node to perform the method of any of the first aspect, the second aspect, and any of their embodiments.
In an eighth aspect, a computer program is provided. The computer program comprises instructions which, when executed by a processor, cause a network node to perform the method according to the first aspect, the second aspect, and any of their embodiments.
It is to be noted that any feature of any of the embodiments disclosed herein may be applied to any other embodiment, wherever appropriate. Likewise, any advantage of any of the embodiments may apply to the other embodiments, and vice versa. Other objectives, features and advantages of the enclosed embodiments will be apparent from the following description.
Generally, all terms used herein are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to "a/an/the element, apparatus, component, means, step, etc." are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates an example of an Ethernet frame structure.
FIG. 2 illustrates a block diagram of a network of cut-through nodes processing a packet with a CRC error.
FIG. 3 illustrates a packet frame modified with the CRC error location.
FIG. 4 illustrates an embodiment of a method for CRC error location detection in a first network node.
FIG. 5 and FIG. 6 illustrate embodiments of a method of the network node after detection of a CRC error.
FIG. 7 illustrates an embodiment for processing a frame at an intermediate node after CRC error location detection at a previous node.
FIG. 8A-8C illustrate alternative embodiments of a network node according to the proposed CRC error location detection.
DETAILED DESCRIPTION
Some of the embodiments contemplated herein will now be described more fully hereinafter with reference to the accompanying drawings. Other embodiments, however, are contained within the scope of this disclosure and the invention should not be construed as limited to only the embodiments set forth herein; rather, these embodiments are provided by way of example to help convey the scope of the inventive concept to those skilled in the art. If used, like numbers refer to like elements throughout the description.
As previously indicated, Ethernet switches may be interchangeably referred to as "switch(es)" throughout this document. Packets switched in Ethernet switches are termed Ethernet packets, and may be referred to interchangeably as "Ethernet frame(s)", "frame(s)" or "packet(s)" throughout this document.
As discussed above, CRC errors in Ethernet frames may lead to loss of network bandwidth due to bad frames being propagated from switch to switch. Additionally, troubleshooting the location and cause of CRC errors can be quite tedious and time-intensive.
A solution is proposed for automating the CRC error location detection to aid in the troubleshooting of bad network connection(s) and port(s), which may be the cause of CRC errors, thereby providing the advantage of faster detection and correction of network problems. In an embodiment of the proposed solution, the switch (or port) mode may be changed from cut-through mode to store-and-forward mode when CRC errors are detected. An Access Control List (ACL) may be further used in order to apply special handling to frames originating from a source associated with previously detected CRC errors. By doing so, an advantage of saving network bandwidth by dropping faulty frames earlier in the chain of network switches, e.g. in a store-and-forward mode switch, instead of propagating the faulty frames, e.g. in a cut-through mode switch, may be realized. When the location of the CRC error is detected and repaired, the entry in the ACL may be removed and the switch (or port) mode returned to cut-through mode processing. In an embodiment of the proposed solution, when a CRC error is detected, a
CRC error location detection mechanism captures a MAC address of the location where the frame error is detected, e.g. the MAC address of the node that detects the CRC error. In some cases, an error may occur as a result of a bad link or cable associated with an Ethernet port to which it is connected, or it may be as a result of the port itself, e.g. the port may be damaged. In either of these examples, a bad or faulty link, cable, or port, at the ingress of a network node or the egress of a sending node, may cause a CRC error to be detected when a received frame is processed by the network node. Thus, the MAC address of the detecting node may be referred to as the location where the CRC error was detected. The detecting node may then insert its MAC address into the frame before being deployed to the next switch. In another embodiment of the proposed solution, a filter may be implemented to monitor incoming frames originating from a source associated with previously detected CRC errors. The frames are monitored for further CRC errors. The filter may be implemented as an Access Control List (ACL). In an embodiment, when the detecting node is operating in cut-through mode and a CRC error is detected in a received frame by the detecting node, the detecting node may create an entry in the ACL for filtering subsequent frames associated with the source of the frame with the CRC error. In one embodiment, the entry may be created based on the MAC address of the source node of the received frame. In other embodiments, the entry may be created based on some other information associated with the location where the CRC was detected, for example, the incoming switch port number of the detecting node. Thus, the granularity of the information for creating the entry in the ACL determines the granularity of the filter. For example, the detecting node may filter only frames received from the source node, or it may filter all packets received on a particular incoming switch port of the detecting node. An entry in the ACL is created after a CRC error is detected while the detecting node is operating in cut-through mode. After the entry is created, all subsequent frames matched to an ACL entry will be filtered for separate processing. In an embodiment, when a subsequently received frame is matched to an entry in the ACL the detecting node will process them in store-and-forward mode. A frame may be matched to an entry in the ACL when the frame's source MAC address, or in some embodiments, the port the frame was received on, matches an entry in the ACL. As noted previously, in other embodiments, the detecting node may use other information than source MAC address and port number to create an entry in the ACL for filtering subsequent frames. The detecting node may process enough of the frame to determine the source MAC address in the header before determining if there is an entry for the source MAC address in the ACL. In embodiments in which the port number is used to filter the frames, the detecting node may be able to determine whether the port number matches an entry in the ACL without looking into the frame. If no match is made in the ACL, the frame is processed regularly, i.e. in cut- through mode. However, if a match is made in the ACL, the frame is processed in store-and-forward mode. In the store-and-forward mode, the network node stores incoming Ethernet frames in their entirety, i.e. the frame is stored before processing. However, as noted above, the network node may process a small portion of the frame to determine how the frame should be processed. The network node, processing a frame in store-and- forward mode, then compares the last field of the frame (CRC) against its own calculated frame check sequence. If the values do not match, the packet will be dropped at that incoming port, saving bandwidth for the rest of the network. The store-and-forward mode is thus contrasted with the cut-through mode, which deploys the frame as it is being processed, such that, the CRC error is not detected until after the frame is already deployed to the next node. By filtering incoming packets using the ACL, the detecting node can monitor for continuing CRC errors (e.g. for the same source MAC address, incoming switch port number, etc.), detect if the CRC errors stop occurring, and drop packets with CRC errors so they are not deployed to the next node (e.g. an intermediate node).
In another embodiment, an intermediate node operating in cut-through mode and supporting CRC error location detection, may also switch over to selective store and forward mode for certain incoming frames. For example, as described above, a first network node (i.e. a detecting node) in cut-through mode may receive an incoming frame, and detect the CRC error in the frame, but will still deploy the faulty frame to a second network node, e.g. an intermediate node due to cut-through processing. The second network node, also operating in cut-through mode, will subsequently detect the CRC error which has been propagated in the faulty frame. In an embodiment, the second network node may determine that the CRC error location was already detected by a previous switch and therefore, the second network node will know that it is not the detecting node. The intermediate node may, however, take similar action to switch to store-and-forward mode and/or create an ACL for subsequent frames similar to that in the detecting node, e.g. based on source MAC address of the frame, port number of the second network node, etc.
FIG. 2 illustrates a network 200 of cut-through network nodes processing a packet with a CRC error. A packet 220 is generated by a source node 210 and transmitted to cut-through switch 230i. The cut-through switch 230i transmits the packet to the next switch 2302. In this example, a CRC error has been introduced into the packet leaving switch 230i. The cut-through switch 2302 receives the packet, e.g. on an incoming switch port. The cut-through switch 2302 begins processing the packet and, because of the nature of cut-through switching, starts deploying the packet to the next switch, e.g. 2303, as it is being processed and before detecting the CRC error. At some point during packet processing, the cut- through switch 2302 detects the CRC error. But since the packet with the CRC error has already been deployed to the next switch, each subsequent switch 2303, . . . 230n-i, 230n, in the data path receives and deploys the bad packet, as all the switches operate in cut-through mode. Eventually, a host 240 receives that packet, detects the packet error, e.g. at the Ethernet or TCP level, and drops the packet. This causes a waste of switch and network resources to process and route bad packets only to have the packet be discarded at the receiving host.
In FIG. 2, the CRC error may occur, or be introduced, at switch 230i but may not be detected until it reaches switch 2302, which is referred to as the CRC error detecting node, because it is the switch where the CRC error is first detected. In the proposed solution, after detecting the CRC error, switch 2302 may modify the payload field of the frame to include information, including its own MAC address to identify itself as the CRC error detecting node 2302. Thus, subsequent switches receiving the modified packet are then able to determine, after also detecting the CRC error, that the CRC error was already detected by another switch based on the presence of the detecting node's MAC address in the payload. Thus, this is also how switch 2302 determines that it is the first switch to detect the error, i.e. there is no MAC address in the payload field.
FIG. 3 illustrates a packet frame modified with information associated with the CRC error detection node, e.g. the MAC address of the detecting node. In an embodiment, the payload of the frame is modified to add a new Type Field which indicates that the MAC address of the CRC error detection node is provided, and to further add the corresponding CRC Error Detection MAC Address Field, i.e. the MAC address of the CRC error detection node. This field may be represented as series of bits, e.g. a 16-bit field. The CRC error detecting node, e.g. switch 2302, sets the Type Field and sets its MAC address as the CRC Error Detection MAC Address Field, and adds this information to the Payload field of the packet. The CRC Error Detection information may be added to the beginning or end of the Payload field, however, when a switch is performing in cut-through mode, it may be beneficial to modify the frame at the end of the Payload field which is closer to where the CRC error will be detected. Further, because the frame is already determined to be faulty, it is acceptable for the CRC error detection node 2302 to overwrite the contents of the frame with CRC error detection information, i.e. with the Type Field and Source MAC Address Field. In the embodiment of FIG. 3, the Type Field and Source MAC Address Field are inserted at the end of the Payload Field.
FIG. 4 illustrates an embodiment of a method 400 for CRC error location detection in a first network node. The first network node, e.g. CRC error detecting node 2302, is configured for cut-through switching at the start of the method 400. At 410, the first network node detects a CRC error in a first frame received from a source node, e.g. 210. At 420, the first network node adds its MAC address, e.g. the MAC address of the CRC error detection node 2302, to the first frame in response to detecting the CRC error. In an embodiment, the MAC address of the first network node is added to the end of the Payload field of the first frame. Adding a MAC address of the first network node to the first frame comprises: adding a TYPE field and a CRC Error Detection MAC Address field to the payload portion of the first frame, which fields were previously described above. After modifying the frame, at 430, the first network node forwards the first frame to a second network node. In this manner, the first network node may notify downstream nodes where the CRC error was detected, i.e. at the CRC Error Detection MAC Address. FIG. 5 illustrates another embodiment of a method 500 for CRC error detection in the first network node. This embodiment may follow the steps of method 400 in FIG. 4. For example, the network node may take additional action related to the first frame. In an embodiment, the first network node, at 510, may add the source network node, e.g. network node 210, to a local Access Control List (ACL). In one embodiment, the first network node adds the source network node's MAC address, e.g. the source MAC address in the frame header shown in FIG. 3, to the ACL. The ACL will act to filter subsequent packets associated with corresponding entries in the ACL. At 520, the first network node is placed in store- and-forward mode for subsequent frames received from source network node. In one embodiment, the store-and-forward mode is applied according to the granularity indicated by the ACL, e.g. to all frames received on the switch port on which the first frame with the CRC error was received, and in other embodiments, only to frames received from the source network node's MAC address. The first network node may then apply additional controls, if applicable, for subsequent received frames filtered by the ACL. Frames received from other sources, however, may continue to be processed in cut-through mode.
FIG. 6 illustrates an embodiment of a method 600 of the first network node receiving a second frame after detection of a CRC error in the first frame. The method illustrates the network node applying additional control to subsequent frames filtered by the ACL after detection of a CRC error. At 610, the first network node receives a second frame from the source node, e.g. 210. The ACL filters the second frame because a CRC error was detected in the first frame which resulted in an entry being created in the ACL. Also, the first network node is operating in store-and-forward node to process the frames filtered by the ACL, and thus the first network node stores the second frame for processing at 620. During processing of the frame, the first network node may detect a CRC error in the second frame. When a CRC error is detected in the frame, the first network node drops the second frame at 630. In this embodiment, the frame with the error is not forwarded, or deployed, in the network. This reduces unnecessary processing by subsequent nodes, e.g. 2303 to 230n, in the communication path as those nodes would detect the same CRC error that has already been detected by the first network node. When no CRC error is detected in a subsequent frame, the first network may forward the frame to a next network node, i.e. an intermediate node 2302, without modifying the frame.
In another embodiment, the first network node may remove an entry from the ACL after certain conditions are met. In an embodiment, the first network node may remove an entry if no CRC errors associated with the entry are detected in subsequent packets during a given time period. In another embodiment, the first network node may remove an entry if a certain number of subsequent packets associated with the entry are processed with no CRC errors. FIG. 7 illustrates an embodiment for processing a frame at an intermediate node after CRC error detection at a previous node. In the following embodiments, an intermediate node, e.g. any of 2303 - 230n, may utilize the information provided by a CRC error detecting node, i.e. 2302, in a frame. In this embodiment, the intermediate node is operating in cut-through mode. At 710, the intermediate node detects a CRC error in a received first frame. At 720, when the CRC error is detected, the intermediate node may determine if the received first frame includes information indicating that the CRC error has already been detected at another location/node, i.e. the first network node. The intermediate node may make the determination by checking the Payload field of the received first frame for a Type field indicating that a CRC Error Detection MAC address field is included, and further checking the CRC Error Detection MAC Address field which identifies the MAC address of the first network node where the CRC error was detected. Because another node has already identified itself as having detected the CRC error, the intermediate node need not add any information to the frame. The intermediate node, at 730, continues its processing and forwards the first frame without adding CRC error detection information. As such, the error detection information inserted into the frame by the first network node, i.e. the CRC Error Detecting node, will be available to subsequent network nodes, i.e. 2303 - 230n, that receive the first frame.
In a further embodiment, the intermediate node may establish a local ACL to apply further control to frame processing. When the intermediate node detects the CRC error location detection information in a frame, the intermediate node may add the source network node's MAC address into the local ACL. The intermediate node may also be placed in store-and-forward mode so that the store-and-forward mode is applied only to subsequent packets filtered by the ACL, while frames not filtered by the ACL may continue to be processed in cut-through mode.
An exemplifying embodiment of a network node is illustrated in a general manner in FIG. 8A. The network node 800 is configured to perform at least one of the method embodiments described above, e.g. in FIGs. 4-7. The network node may be, e.g., a single Radio Access Node (RAN), an ethernet switch, a Wide Area Network node, etc. In an embodiment, the network node may be a RAN in an Elastic RAN network. In some embodiments, the proposed solution is intended for Ethernet frame communications, which may be implemented for backhaul links between RANs, between RANs in an Elastic RAN network, and between nodes in area networks, e.g. local area networks (LANs), wide area networks (WANs), and metropolitan area networks (MANs). The network node 800 is associated with the same technical features, objects and advantages as the previously described method embodiments. For example, network nodes 220 and 230i-230n are types of network node 800.
The network node may be implemented and/or described as follows: The network node 800 comprises processing circuitry 801, and one or more communication interfaces 802. For example, the communication interface 802 may comprise one or more interfaces for receiving a frame from a source node and forwarding a first frame to a second network node. The communication interface 802 may be an Ethernet interface. The one or more interfaces of communication interface 802 may also receive wireless communications from other devices. The l6 processing circuitry may be composed of one or more parts which may be comprised in one or more nodes in the communication network, but is here illustrated as one entity.
The processing circuitry 801 is configured to cause the network node 800 to detect a CRC error in a first frame received from a source network node. The processing circuitry 801 is further configured to add a MAC address of the first network node to the first frame.
The processing circuitry 801 may, as illustrated in FIG. 8B, comprise one or more processing elements, such as a processor 803, and a memory 804 for storing or holding instructions. In an embodiment of FIG. 8B, the memory may comprise instructions, e.g. in form of a computer program 805, which when executed by the one or more processors 803 causes the network node device 800 to perform the actions and methods described above, e.g. the method of FIGs. 4-7.
An alternative implementation of the processing circuitry 801 is shown in FIG. 8C. The processing circuitry 803 comprises a detecting unit 806, configured to cause the network node to detect a CRC error in a first frame received from a source network node. The processing circuitry 801 may further comprise an adding unit 807, configured to add a Medium Access Control (MAC) address of the first network node to the first frame in response to detecting the CRC error, and a forwarding unit 809, configured to forward the first frame to a second network node. In another embodiment illustrated in FIG. 8D, the detecting unit 806 is configured to cause the network node to detect a Cyclic Redundancy Check (CRC) error in a received first frame. A determining unit 808 is configured to cause the network node to determine whether the received first frame indicates a first network node where the CRC error was detected, and the forwarding unit 809 is configured to cause the network node to forward the received first frame without adding CRC error detection information when the first network node where the CRC error was detected is indicated.
The steps, functions, procedures, modules, units and/or blocks described for the radio access device herein may be implemented in hardware using any conventional technology, such as discrete circuit or integrated circuit technology, including both general-purpose electronic circuitry and application-specific circuitry. Alternatively, at least some of the steps, functions, procedures, modules, units and/or blocks described above may be implemented in software such as a computer program for execution by suitable processing circuitry including one or more processing units. The software could be carried by a carrier, such as an electronic signal, an optical signal, a radio signal, or on a non-transitory computer readable storage medium before and/or during the use of the computer program e.g. in one or more nodes of the wireless communication network.
The flow diagram or diagrams presented herein may be regarded as a computer flow diagram or diagrams, when performed by one or more processors. A corresponding radio access device or apparatus may be defined as a group of function modules, where each step performed by a processor corresponds to a function module. In this case, the function modules are implemented as one or more computer programs running on one or more processors.
Examples of processing circuitry 800 of a network node may include, but is not limited to, a combination of one or more of a microprocessor, controller, microcontroller, central processing unit (CPU), digital signal processor (DSP), application specific integrated circuit (ASIC), field programmable gate array (FPGA), Programmable Logic Controllers (PLCs), or any other suitable computing device, resource, or combination of hardware, software and/or encoded logic operable to provide, either alone or in conjunction with other components, such as memory 804, the functionality of the radio access device 800. That is, the units or modules in the arrangements in the communication network described above could be implemented by a combination of analog and digital circuits in one or more locations, and/or one or more processors configured with software and/or firmware, e.g. stored in a memory. One or more of these processors, as well as the other digital hardware, may be included in a single application-specific integrated circuitry, ASIC, or several processors and various digital hardware may be distributed among several separate components, whether individually packaged or assembled into a system-on- a-chip, SoC. The memory 804 may comprise any form of volatile or non-volatile computer, or non-transitory computer readable media including, without limitation, l8 persistent storage, solid state memory, remotely mounted memory, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), removable media, or any other suitable local or remote memory component. Memory 804 may store any suitable instructions, data or information, including software and encoded logic, to be executed by the processing circuitry 801 so as to implement the above-described functionalities of the radio access device 800. Memory 804 may be used to store any calculations made by processor 803 and/or any data received via interface.
It should also be understood that it may be possible to re-use the general processing capabilities of any conventional device or unit in which the specific proposed technology is implemented. It may also be possible to re-use existing software, e.g. by reprogramming of the existing software or by adding new software components in order to implement the specific features of the proposed technological solution. The embodiments described above are merely given as examples, and it should be understood that the proposed technology is not limited thereto. It will be understood by those skilled in the art that various modifications, combinations and changes may be made to the embodiments without departing from the present scope. In particular, different part solutions in the different embodiments can be combined in other configurations, where technically possible.
When using the word "comprise" or "comprising" it shall be interpreted as non- limiting, i.e. meaning "consist at least of .
It should also be noted that in some alternate implementations, the functions/acts noted in the blocks may occur out of the order noted in the flowcharts. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved. Moreover, the functionality of a given block of the flowcharts and/or block diagrams may be separated into multiple blocks and/or the functionality of two or more blocks of the flowcharts and/or block diagrams may be at least partially integrated. Finally, other blocks may be added/inserted between the blocks that are illustrated, and/or blocks/operations may be omitted without departing from the scope of inventive concepts.
It is to be understood that the choice of interacting units, as well as the naming of the units within this disclosure are only for exemplifying purpose, and nodes suitable to execute any of the methods described above may be configured in a plurality of alternative ways in order to be able to execute the suggested procedure actions.
It should also be noted that the units described in this disclosure are to be regarded as logical entities and not with necessity as separate physical entities.
Certain aspects of the inventive concept have mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, embodiments other than the ones disclosed above are equally possible and within the scope of the inventive concept. Similarly, while a number of different combinations have been discussed, all possible combinations have not been disclosed. One skilled in the art would appreciate that other combinations exist and are within the scope of the inventive concept. Moreover, as is understood by the skilled person, the herein disclosed embodiments are as such applicable also to other standards and communication systems and any feature from a particular figure disclosed in connection with other features may be applicable to any other figure and or combined with different features.

Claims

CLAIMS What is claimed is:
1. A method for Cyclic Redundancy Check (CRC) error location detection (400) in a first network node (2302) configured for cut-through switching, the method comprising: detecting (410) a CRC error in a first frame received from a source network node; adding (420) a Medium Access Control (MAC) address of the first network node to the first frame in response to detecting the CRC error; and forwarding (430) the first frame to a second network node.
2. The method of claim 1, wherein the MAC address of the first network node is added to the end of the payload field of the first frame.
3. The method of claims 1-2, wherein adding a MAC address of the first network node to the first frame comprises: adding a TYPE field and a Source MAC address field to the payload portion of the first frame.
4. The method of claims 1-3, further comprising: adding (510) the source network node to an access control list (ACL); and placing (520) the first network node in store-and-forward mode for subsequent frames received from the source network node.
5. The method of claim 4, wherein the source network node is identified in the ACL by one of: MAC address and switch port number.
6. The method of claims 4-5, further comprising: receiving (610) a second frame from the source network node; storing (620) the second frame for processing; and dropping (630) the second frame when a CRC error is detected in the frame.
7. The method of claim 6, further comprising: forwarding the frame when no CRC error is detected in the frame.
8. The method of claims 4-7, further comprising: removing the source network node from the ACL after a period of time in which no CRC errors are detected for subsequent frames received from the source network node.
9. The method of claims 1-8, wherein the network node is one of a Radio Access Node (RAN), an Ethernet switch, and a Wide Area Network node.
10. A method of detecting CRC errors (700) at an intermediate network node (2303...230n) configured for cut-through switching, the method comprising: detecting (710) a CRC error in a received first frame; determining (720) whether the received first frame indicates a first network node where the CRC error was detected; and forwarding (730) the received first frame without adding CRC error detection information when the first network node where the CRC error was detected is indicated.
11. The method of claim 10, wherein the first network node where the CRC error was detected is indicated by a TYPE field, and the identification of the first network node where the CRC error was detected is provided in a Source MAC address field in the payload field of the frame.
12. The method of claims 10-11, further comprising: adding (510) the source network node to an access control list (ACL); and placing (520) the intermediate network node in store-and-forward mode for processing subsequent frames received from the first network node.
13. The method of claims 10-12, wherein the intermediate network node is one of a Radio Access Node (RAN), an Ethernet switch, and a Wide Area Network node.
14. A first network node (800) configured for cut-through switching, comprising: processing circuitry (801) comprising a memory (804) and a processor (803), the memory having instructions (805), which when executed, cause the first network node to: detect (410) a Cyclic Redundancy Check (CRC) error in a first frame received from a source network node; add (420) a Medium Access Control (MAC) address of the first network node to the first frame in response to detecting the CRC error, and forward (430) the first frame to a second network node.
15. The network node of claim 14, wherein the MAC address of the first network node is added to the end of the payload field of the first frame.
16. The network node of claims 14-15, wherein adding a MAC address of the first network node to the first frame comprises: adding a TYPE field and a CRC Error Detection MAC address field to the payload portion of the first frame.
17. The network node of claims 14-16, wherein the instructions, when executed, further cause the first network node to: add (510) the source network node to an access control list (ACL); and place (520) the first network node in store-and-forward mode for subsequent frames received from the source network node.
18. The network node of claim 17, wherein the source network node is identified in the ACL by one of: MAC address and switch port number.
19. The network node of claims 17-18, wherein the instructions, which when executed, further cause the first network node to: receive (610) a second frame from the source network node; store (620) the second frame for processing; and drop (630) the second frame when a CRC error is detected in the frame.
20. The network node of claim 19, further comprising: forwarding the frame when no CRC error is detected in the frame.
21. The network node of claims 17-19, wherein the instructions, which when executed, further cause the first network node to: remove the source network node from the ACL after a period of time in which no CRC errors are detected for subsequent frames received from the source network node.
22. The network node of claims 14-21, wherein the network node is one of a Radio Access Node (RAN), an Ethernet switch, and a Wide Area Network node.
23. An intermediate network node (800) configured for cut-through switching, comprising: a processing circuitry (801) comprising a memory (804) and a processor (803), the memory having instructions (805) which when executed by the processor, causes the intermediate network node device to: detect (710) a Cyclic Redundancy Check (CRC) error in a received first frame; determine (720) whether the received first frame indicates a first network node where the CRC error was detected; and forward (730) the received first frame without adding CRC error detection information when the first network node where the CRC error was detected is indicated.
24. The intermediate network node of claim 23, wherein the indication of the first network node where the CRC error was detected is indicated by a TYPE field, and the identification of the first network node where the CRC error was detected is provided in a Source MAC address field in the payload field of the frame.
25. The intermediate network node of claims 23-24, wherein the instructions, which when executed by the processor, further cause the intermediate network node to: add (510) the source network node to an access control list (ACL); and place (520) the intermediate network node in store-and-forward mode for processing subsequent frames received from the first network node.
26. The method of claims 23-25, wherein the intermediate network node is one of a Radio Access Node (RAN), an Ethernet switch, and a Wide Area Network node.
27. A network node (800) comprising: processing circuitry (801) comprising: a detecting unit (806) configured to cause the network node to detect a
CRC error in a first frame received from a source network node; an adding unit (807) configured to cause the network node to add a Medium Access Control (MAC) address of the network node to the first frame in response to detecting the CRC error, and a forwarding unit (809) configured to cause the network node to forward the first frame to a second network node.
28. A intermediate network node (800) comprising: processing circuitry (801) comprising: a detecting unit (806) configured to cause the network node to detect a Cyclic Redundancy Check (CRC) error in a received first frame; a determining unit (808) configured to cause the network node to determine whether the received first frame indicates a first network node where the CRC error was detected; and a forwarding unit (809) configured to cause the network node to forward the received first frame without adding CRC error detection information when the first network node where the CRC error was detected is indicated.
29. A non-transitory computer readable medium (804) comprising instructions (805), which when executed by a processor (803), causes a network node (800,2302) to perform the method of any of claims 1-13.
30. A computer program (805), comprising instructions, which when executed by a processor (801), cause a network node (800,2302) to perform the method of any of claims 1-13.
PCT/IB2017/054773 2017-08-03 2017-08-03 Crc error location detection in automatic cut-through and store-and-forward switching WO2019025835A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/IB2017/054773 WO2019025835A1 (en) 2017-08-03 2017-08-03 Crc error location detection in automatic cut-through and store-and-forward switching

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2017/054773 WO2019025835A1 (en) 2017-08-03 2017-08-03 Crc error location detection in automatic cut-through and store-and-forward switching

Publications (1)

Publication Number Publication Date
WO2019025835A1 true WO2019025835A1 (en) 2019-02-07

Family

ID=59829420

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2017/054773 WO2019025835A1 (en) 2017-08-03 2017-08-03 Crc error location detection in automatic cut-through and store-and-forward switching

Country Status (1)

Country Link
WO (1) WO2019025835A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115037804A (en) * 2022-05-09 2022-09-09 西安电子科技大学 Ground detection device for realizing generation and detection of giant frames based on FPGA
US11831411B2 (en) 2022-03-25 2023-11-28 Avago Technologies International Sales Pte. Limited Cut-through latency and network fault diagnosis with limited error propagation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997031455A1 (en) * 1996-02-23 1997-08-28 Allied Telesyn International Corporation Method and apparatus for switching data packets in a data network
US20020194524A1 (en) * 2001-06-15 2002-12-19 Wiley Stephen A. System and method for rapid fault isolation in a storage area network
US20130259051A1 (en) * 2010-12-09 2013-10-03 Tejas Networks Limited Method and system for loop avoidance in a communication network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997031455A1 (en) * 1996-02-23 1997-08-28 Allied Telesyn International Corporation Method and apparatus for switching data packets in a data network
US20020194524A1 (en) * 2001-06-15 2002-12-19 Wiley Stephen A. System and method for rapid fault isolation in a storage area network
US20130259051A1 (en) * 2010-12-09 2013-10-03 Tejas Networks Limited Method and system for loop avoidance in a communication network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11831411B2 (en) 2022-03-25 2023-11-28 Avago Technologies International Sales Pte. Limited Cut-through latency and network fault diagnosis with limited error propagation
CN115037804A (en) * 2022-05-09 2022-09-09 西安电子科技大学 Ground detection device for realizing generation and detection of giant frames based on FPGA

Similar Documents

Publication Publication Date Title
US9825691B2 (en) Relaying frames
EP2997697B1 (en) Protection switched source routing
JP5143286B2 (en) Communication system and communication device state determination method
WO2007084696A2 (en) System and method for preventing loops in the presence of control plane failures
US20220368626A1 (en) Packet or frame replication and elimination with explict or implict notification to reset sequence number recovery
CN107566036B (en) Automatically detecting an error in a communication and automatically determining a source of the error
WO2019025835A1 (en) Crc error location detection in automatic cut-through and store-and-forward switching
US8111634B2 (en) System and method for integrating ring-protocol-compatible devices into network configurations that also include non-ring-protocol compatible devices
US8467285B2 (en) No split virtual chassis based on pass through mode
CN111277494B (en) Message transmission method and device
CN110115005B (en) Transmission device and route adding method
CN107210945B (en) Method for operating a computer network and computer network
EP3270552A1 (en) Method, system, and apparatus for reducing the size of route updates
US20110292941A1 (en) Transmitter and control information configuration method
WO2016061943A1 (en) Method and apparatus for implementing spanning tree protocol protection switching, and computer storage medium
CN108933720B (en) Information processing method, device and system for ring system and storage medium
KR102024521B1 (en) Transmission device and frame transmission method
US11616694B2 (en) Unidirectional link detection misconfiguration auto-detection
WO2014044303A1 (en) Method for running a computer network
JP5527614B2 (en) Network system and relay device
JP5545720B2 (en) Communication control device
WO2016045276A1 (en) Packet forwarding method and device, sdn and system
JP4887018B2 (en) Loop detection and avoidance function with redundant line function
JP2020043520A (en) Relay device
Marcon et al. An implementation of a distributed fault-tolerant mechanism for 2D mesh NoCs

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17764652

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17764652

Country of ref document: EP

Kind code of ref document: A1