Network switches and network interface cards (NICs), among other devices, utilize network media to transmit data. Network media may include different types of media, for example, cable, optical fibers, or traces on various printed circuit boards. The media may include multiple lanes which may be utilized in parallel to increase a throughput of data.
Computing devices, such as switches and network interface card (NIC) devices, among others, may utilize electrical conductors and/or optical fibers to transfer data. The electrical conductors and optical fibers may be disposed on a backplane or other printed circuit board, or alternatively, may be disposed within an insulator forming a cable. Multiple electrical conductors or optical fibers may be grouped together forming multiple lanes to increase the bandwidth of the media. To transmit data on the media, transmitters, connectors, and receivers may be utilized. If any one of these transmitters, connectors, receivers, or the media itself is not fully functional, the computing device will not link with an intended device. Without a link the devices cannot transfer data.
As the number of lanes increases, the potential for inoperable links similarly increases. For example, Ethernet connections are continually increasing their bandwidth and speed. Various examples include 10 Gb Ethernet and 100 Gb Ethernet. While this disclosure is discussed with reference to one or a few such link configurations, it is not intended to be so limited. Rather, this disclosure is expressly intended to cover other connections, bandwidths, speeds, protocols, and media.
In one example, two network devices may be coupled together via a multi-lane link. To establish a link, both network devices may advertise or transmit auto-negotiation data. Auto-negotiation data may be used to negotiate rates and other features over electrical conductors or optical links. In various examples the auto-negotiation data may be a Differential Manchester Encoding (DME) page, in accordance with various standards. Upon both network devices indicating a supported link configuration, data transmission on all lanes may occur. If one lane, transmitter, connector is inoperable, the network devices will fail to link. This is similarly true with optical links, although, DME pages may not be generally utilized within optical link infrastructures.
In the present disclosure, a manner and device suitable for providing a graceful degradation for a lane failure is provided. While not so limited, the present disclosure may enable degraded communication, with respect to an original link configuration, among Ethernet connections such as 40GBase-KR4, -SR4, -LR4, -CR4, 100GBase-LR4, -KR4, -CR4, among others. It may also be applied to Ethernet versions which utilize other numbers of lanes, for example 10 lane versions such as 100GBase-SR10, -CR10.
In addition to electrical conductors, various aspects of the disclosure may be applied to optical link configurations, for example 40GBase-SR4 and 100GBase-LR4. In various examples, the network devices may use detect signals to determine a number of active lanes and re-configure an intended link configuration to support another or degraded link configuration. As used herein, a link configuration is defined as a configuration between two network devices. A link configuration may describe a protocol, a speed, a number of utilized lanes, or other characteristics of the link.
Referring to
Transceiver 104 is a device configured to send and receive data over a network. As illustrated the transceiver 104 is coupled to a multi-lane connection including a plurality of lanes 108. The transceiver is illustrated as a single device, however, the disclosure is not so limited. Rather, the functionality of the transceiver 104 may be embodied in multiple devices such as a transmitter and a receiver. The transceiver 104 is to transmit and receive signals on a plurality of lanes of network media 108 to a network device (not illustrated). The plurality of lanes 108, which may be referred to as network media, may include optical fibers, electrical conductors, and may be embodied within a PCB or housed within an insulator forming a cable.
The controller 102 may be an integrated circuit such as an Application Specific Integrated Circuit (ASIC) configured to execute instructions. The controller 102 may include other components such as processors and local memory to store the instructions. In other examples, the controller 102 may retrieve instructions for a separate memory, or alternatively, embody logic elements configured to perform a desired function. In one example, the controller 102 is configured to determine whether one of the plurality of lanes 108 supporting a first link configuration is inoperative, for example lane 110. In response to such a determination, the controller 102 may reconfigure the link configuration to utilize a subset of the plurality of lanes 112. In this manner, a link may be formed between the network devices, albeit degraded from the initial link configuration. Various examples will be discussed in more detail herein with reference to the remaining figures.
Referring to
In the illustrated example, apparatus 200 and apparatus 210 are configured to communicate via the plurality of lanes 0-9. To establish communication, apparatus 200, 210 transmit an auto-negotiation message across one lane, for example lane 0. Lane 0, among others, may be bi-direction or in other examples, may include a dedicated lane for each network device 200, 210. In the illustrated example, both network device 200, 210 transmit an auto-negotiation message. Assuming, lane 0 for network device 200 is inoperable, network device 210 may not receive the auto-negotiation message from network device 200. In contrast, network device 210 may be capable of successfully transmitting an auto-negotiation message, and network device 200 may receive the auto-negotiation message from network device 210.
Network device 200, up receiving the auto-negotiation message from network device 210 may determine a link configuration based upon the capabilities one or both devices 200, 210, In response, network device 200 may begin and/or continue transmitting signals on each lane 0-9. Upon transmission of signals on lanes 0-9, network device 210 may determine that a signal has not been received on lane 0. In response, the network link attempt may fail. Based upon this failure, network device 210 and network 200 may reverse their lane order and attempt to establish a network link utilizing a different link configuration. The different or reconfigured link configuration may be based upon the knowledge that lane 0 is inoperative.
Upon reversal of lanes, a reconfigured link configuration may be utilized. The reconfiguration is illustrated by arrow 220. As illustrated, the network devices 200, 210 have reversed their lane order. In other words, previous lane 9 is new lane 0, previous lane 8 is new lane 1, previous lane 7 is new lane 2, and so forth. In reversing the lanes, a new link configuration has been established.
In response to a lane reversal, another auto-negotiation process may ensue. For example, the network devices 200, 210 may transmit another auto-negotiation message via new lane 0 (previous lane 9). In response to the new auto-negotiation message being received at each network device 200, 210, the devices may attempt to link. Upon transmitting of signals across all lanes (0-9), one or both devices 200, 210, may again determine that lane 9 (previous lane 0) remains inoperable, and that the devices may reconfigure the current link configuration to enable a degraded link (again, degraded with response to the original link configuration). The determination of how the network devices 200, 210 may reconfigure the link configuration may be based on many factors including the transmission capabilities of the network devices 200, 210, the maximum bandwidth available, or a predetermined bandwidth based upon predefined preferences.
In the illustrated example, the degraded link configuration utilizes 4 lanes. This may represent a degradation of 100GBase-CR10 to 40GBase-CR4. As stated previously, the network devices may incorporate various numbers of lanes, and may degrade the lane configurations to various numbers of lanes. In the illustrated embodiment, the new lanes 4-9 are unused. While this represents a loss in bandwidth, it may enable a network connection. In addition, once connected, the status of the link configuration may be transmitted to multiple network devices 200, 210 indicating the link configuration and the inoperative lane.
Referring to
To establish communication utilizing an electrical conductor link configuration, apparatus 300, 310 transmit an auto-negotiation message across one lane, for example lane 0. Lane 0, among others, may be bi-direction or in other examples may include a dedicated lane for each network device 300, 310. Alternatively, in an optical link configuration, devices 300, 310 may not support transmission of auto-negotiation messages, but utilize a parallel detect mechanism to detect and link for different number of lanes or speeds on a single lane.
Upon the transmission of the auto-negotiation message, or alternatively, the parallel detect mechanism in an optical link configuration, one or both devices 300, 310 may attempt to establish a link utilizing a link configuration negotiated via the auto-negotiation message or parallel detect mechanism. This may, in various examples, entail transmitting signals on predetermined lanes of the plurality of lanes. In response to the transmission, the network devices 300, 310 may determine that one or more lanes of the plurality of lanes 0-9 is/are inoperable. The determination of inoperability may be based on the absence of a signal on one lane and the presence of a signal on others.
In response to the determination, one or both devices 300, 310 may attempt to reconfigure the link configuration. Reconfiguration of the link configuration may include utilizing a subset of the plurality of lanes 0-9. In the illustrated embodiment, lane 5 may have experienced a lane fault. In response, network devices 300, 310 may reconfigure the link, as indicated by arrow 320, to utilize a subset of the plurality of lanes. As illustrated, the network devices 300, 310 utilize 4 lanes. This is illustrated as lanes 0-4 while the remaining lanes are illustrated as being unused. While this represents a loss in bandwidth, it may enable a network connection that would otherwise not be available. In various examples, once connected, the status of the link configuration may be transmitted to multiple network devices 300, 310 indicating the link configuration and the one or more inoperative lanes. This may again, represent a degradation from 100GBase-CR10 to 40GBase-CR4. Other degradations are also contemplated.
Referring to
Referring to
In response to the auto-negotiation message, one or both network devices may determine that one of the plurality of lanes is inoperative at 404. The determination may be in response to receipt of a signal on one or more lanes and the absence of a signal on the inoperative lane, the absence indicating an inoperative lane,
In response to a determination of an inoperable lane, the network devices may reconfigure the link configuration at 406. The reconfigured link configuration may utilize a subset of the plurality of lanes. The subset may represent all lanes, but for the inoperable lane, or alternatively, may utilize a predetermined number of lanes based upon the determined link configuration. The flow diagram may then end.
Referring to
In response to the advertisement, one or more network devices may transmit signals on each lane at 504. In various examples, the signals may be a Direct Current (DC) bias signal, although other signals are contemplated. Once received at a network device, the network device may determine whether a signal was received on lane 0 at 506. In response to detecting a signal on lane 0, the network device may determine whether signals on other lanes are present at 508.
If, at 508, signals are present on all lanes associated with the link configuration, the flow diagram may end. Alternatively, if a signal is not detected on one or more of the other lanes at 508, the network device may adjust a number of lanes at 510. Adjusting a number of lanes at 510 may include determining a maximum bandwidth available in light of the inoperable inks. The determination may be dynamic or predetermined. For example, a network device may determine a number of operable lanes, or alternatively, the network device may default to a minimum, for example, a single lane.
At 512, based upon the adjusted lanes within a reconfigured link configuration, the network devices may establish a link. The link may be degraded with respect to the original link configuration. Subsequently, the flow diagram may end.
Returning to 506, if a signal is not detected on lane 0, then flow diagram may proceed to 514, where the network devices may reverse the order of their lanes. Once the lanes have been reversed at 514, the method may continue back to 502 where the network devices again advertise for one or more link configurations. The reversal of the lanes enables the devices to again attempt to connect at a first link configuration, and subsequent to a determination that a lane is inoperable (i.e., the original lane 0) reconfigure the link configuration utilizing a subset of the plurality of lanes. With the lanes adjusted, at 510, the network devices may establish a link at 512. The flow diagram may then end.
Referring to
In response to the advertisement, the network device may attempt to establish a link with another network device (i.e., link partner) utilizing the link configuration at 604. In one example, the link configuration may utilize a plurality of lanes of network media coupling the two network devices together. In various examples, the plurality of lanes may include 2, 4, 10, or other numbers of lanes.
While attempting to establish the link, a network device may determine that one of the plurality of lanes of the network media is inoperable at 606. The determination may be based on the absence of a signal being received via one or more of the plurality of lanes. In response to the determination, the network device may reconfigure the link configuration to utilize a subset of the plurality of lanes, the subset excluding the inoperable lane. The flow diagram may then end. In various examples, ending may include the establishment of a link at another link configuration.
Although certain embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a wide variety of alternate and/or equivalent embodiments or implementations calculated to achieve the same purposes may be substituted for the embodiments shown and described without departing from the scope of this disclosure. Those with skill in the art will readily appreciate that embodiments may be implemented in a wide variety of ways. This application is intended to cover any adaptations or variations of the embodiments discussed herein. Therefore, it is manifestly intended that embodiments be limited only by the claims and the equivalents thereof.