WO2016008399A1 - Flow control - Google Patents

Flow control Download PDF

Info

Publication number
WO2016008399A1
WO2016008399A1 PCT/CN2015/083895 CN2015083895W WO2016008399A1 WO 2016008399 A1 WO2016008399 A1 WO 2016008399A1 CN 2015083895 W CN2015083895 W CN 2015083895W WO 2016008399 A1 WO2016008399 A1 WO 2016008399A1
Authority
WO
WIPO (PCT)
Prior art keywords
network device
buffer queue
host unit
flow control
card
Prior art date
Application number
PCT/CN2015/083895
Other languages
French (fr)
Inventor
Wu Yang
Original Assignee
Hangzhou H3C Technologies Co., Ltd.
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 Hangzhou H3C Technologies Co., Ltd. filed Critical Hangzhou H3C Technologies Co., Ltd.
Publication of WO2016008399A1 publication Critical patent/WO2016008399A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport

Definitions

  • Respective components of a network device can be designed in modules.
  • the network device designed into the modules may include a network device host unit and a network device sub-card.
  • the network device host unit may include a master engine, a switching network board, a linecard, a power source module, a fan frame module and other components.
  • the network device sub-card is functionally simplified and configured to transmit and receive and/or process a packet for the network device host unit.
  • Fig. 1 illustrates a schematic structural diagram of a network device according to an example
  • Fig. 2 illustrates a flow chart of a flow control mode of the network device according to an example
  • Fig. 3 illustrates a format diagram of a Priority Flow Control (PFC) frame according to an example
  • Fig. 4 illustrates a flow control diagram of a network device sub-card and a network device host unit according to an example.
  • a network device host unit and a network device sub-card need to communication with each other, and the problem of congestion involved in the communication between them may result in a loss of packet being transmitted.
  • the network device host unit may be connected with the network device sub-card via an Ethernet interface which is an Ethernet bus.
  • the Ethernet bus is in a low cost, a high communication speed and bandwidth, good compatibility, a lower amount of occupied resources, etc.
  • more and more chips tend to provide only the Ethernet bus as a data communication bus due to a widespread technical support, a strong sustainable development potential, and other numerous advantages of the Ethernet.
  • the network device host unit may intercommunicate with the network device sub-card via a high-rate Ethernet interface, and the network device sub-card may translate the high-rate Ethernet interface into a plurality of low-rate interfaces. If there is burst traffic via the high-rate Ethernet interface, then some low-rate interface may be unable to carry packets transmitted via the high-rate Ethernet interface, thus resulting in packet congestion and even a loss of a packet.
  • this application provides a network device including a network device host unit and a network device sub-card connected over an Ethernet bus.
  • the Ethernet bus may be a high speed Ethernet bus.
  • the Ethernet bus may be an Ethernet high-rate serial differential pair, e.g., a GB Ethernet SGMII bus, 10GB Ethernet XAUI, XFI, 10GBASE-KR buses, etc.
  • a packet buffer queue e.g., a First Input First Output (FIFO) queue
  • the downlink direction here refers to the direction of the packet leaving the network device, e.g. the direction of a packet leaving the network device through an output interface.
  • the uplink direction is the opposite direction to the downlink direction.
  • the packet buffer queue in the downlink direction of the network device sub-card is referred to as a first buffer queue.
  • the network device sub-card may include one or more downlink interfaces, and one or more first buffer queues with each downlink interface correspond to a respective first buffer queue. Also in order to enable flow control between the network device sub-card and the network device host unit, the network device host unit may have one or more second buffer queues corresponds to the first buffer queues of the network device sub-card. Each second buffer queue corresponds to a respective first buffer queue of the network device sub-card. An outgoing interface of a packet stored in each second buffer queue is the downlink interface corresponds to the first buffer queue which the second buffer queue corresponds to. That is the packet may be sent from the second buffer queue, over the Ethernet bus, to the first buffer queue and from the first buffer queue to the downlink interface corresponding to the first buffer queue. The downlink interface thus acts as an outgoing interface for the packet, through which the packet may exit the network device.
  • a schematic structural diagram of the network device100 including a network device host unit 101, a network device sub-card 102, and an Ethernet bus 103 between the network device host unit 101 and the network device sub-card 101.
  • the network device sub-card 102 may have eight downlink interfaces including a downlink interface 0 to a downlink interface 7 and each of the eight downlink interfaces may correspond to a respective first buffer queue, so the network device sub-card102 includes a first buffer queue 0 to a first buffer queue 7.
  • a packet to be forwarded via the downlink interface 0 (at this time the downlink interface 0 is a packet forwarding interface or referred simply to as an “outgoing interface” ) is added by the network device sub-card102 to the first buffer queue 0
  • a packet to be forwarded via the downlink interface 1 is added by the network device sub-card102 to the first buffer queue 1, and so on.
  • second buffer queues on the network device host unit101 including a second buffer queue 0 to a second buffer queue 7.
  • the Ethernet bus103 between the network device host unit101 and the network device sub-card102 may include eight virtual buses (or virtual channels) including a virtual bus 0 to a virtual bus 7, where the virtual bus 0 connects the second buffer queue 0 to the first buffer queue 0, and so on, thus resulting in the correspondence relationship as depicted in Table 1.
  • a memory of the sub-card may store a table including information the correspondence between the first buffer queues and their respective second buffer queues, or downlink interfaces in the network device host unit.
  • Table 1 An example of such information is shown in Table 1 below.
  • the network device host unit may be configured with said information indicating the correspondence (also referred to as the “corresponding information” ) and packets sent from the second buffer queue may be configured with a tag according to the corresponding information.
  • packets sent from the second buffer queue 0 may be encapsulated with a corresponding tag that causes the packets be transmitted to the first buffer queue 0. I. e. the corresponding tag indicates which first buffer queue, and thus which downlink interface; the packet is to be sent to.
  • the respective interfaces of the network device sub-card in the uplink direction may also be arranged with corresponding packet buffer queues, but the network device host unit has a higher processing capacity, packet congestion between the network device host unit and the network device sub-card may occur in the direction of the network device host unit transmitting a packet to the network device sub-card, i.e., the downlink direction, whereas there is a better condition in the uplink direction.
  • the number of packet buffer queues in the uplink direction may be decreased or even may not be limited due to this characteristic.
  • the network device host unit transmits the packets to the network device sub-card in the downlink direction as follows:
  • the network device host unit transmits the packet in the second buffer queue to the network device sub-card according to a policy, where outgoing interfaces of the packet is located on the network device sub-card.
  • the network device sub-card adds the packet to the first buffer queue corresponds to the second buffer queue so as to forward the packet via the downlink interface corresponds to the first buffer queue.
  • the network device host unit adds the packet to the second buffer queue corresponds to the downlink interface after processing the packet internally, and the network device host unit transmits the packet in the second buffer queue corresponds to the downlink interface according to the policy to the network device sub-card.
  • the policy may be preset by a network administer, for example, the packets stored in the second buffer queues may be transmitted one by one. Taking as an example the network device sub-card provided with eight downlink interfaces, the network device host unit are provided with eight second buffer queues, and the network device host unit transmits the packets stored in the second buffer queue 0 to the second buffer queue 7 according to the scheduling policy.
  • another preset scheduling policy may alternatively be preset as needed in another example, for example, if there is a higher priority of the packet to be transmitted via the downlink interface, then the packet in the second buffer queue 0 can be transmitted in succession twice, and then the packet in the second buffer queue 1 to the second buffer queue 7 can be transmitted sequentially.
  • the network device sub-card adds the packet, transmitted by the network device host unit, into the first buffer queue corresponds to the downlink interface, according to downlink interface information (i.e., outgoing interface information) carried in the packet, so as to forwarding the packet via the first buffer queue.
  • downlink interface information i.e., outgoing interface information
  • the network device host unit transmitting a packet via the downlink interface 0 of the network device sub-card, the network device host unit adds the packet to the second buffer queue 0, and the network device sub-card adds the packet to the first buffer queue 0 upon reception of the packet, so that the packet is forwarded via the downlink interface 0.
  • the network device sub-card determines that a first buffer queue is congested, and notifies the network device host unit that the first buffer queue is congested.
  • the network device host unit receives a notification that a first buffer queue is congested, performs flow control on the second buffer queue corresponds to the first buffer queue which is congested.
  • one or more first buffer queues wherein each downlink interface corresponds to a respective first buffer queue may be arranged by presetting buffer capacity and buffer thresholds.
  • the network device sub-card determines that the first buffer queue is congesting queue, upon detecting that the first buffer queue exceed the preset buffer thresholds. For example, if a buffer capacity of the first buffer queue is ten packets, and the buffer threshold is five packets, then it may be determined that the first buffer queue is congested when there are six packets stored in the first buffer queue.
  • the buffer capacity of the first buffer queue is preset too small, then the packet may be lost, whereas if the buffer capacity is preset too large, then queue scheduling, a prescribed access rate, or another Quality of Service (QoS) of the network device may not be guaranteed.
  • QoS Quality of Service
  • the buffer threshold of the first buffer queue is preset too small, then the utilization ratio of a network bandwidth may be degraded, whereas if the buffer threshold is reset too large, then the packet may be lost.
  • the buffer capacity and the buffer threshold of the first buffer queue may be preset taking into account the following factors.
  • the maximum Transmission Unit (MTU) of the network device sub-card in the uplink direction This is because if the first buffer queue is congested, then the network device sub-card notifies the congesting first buffer queue to the network device host unit, and if at this time there is a packet with the size of the MTU being transmitted in the uplink direction of the network device sub-card, then it means that the packet is long and thus will be transmitted for a long period of time, and at this time the notification may be delayed for await completed transmission of the packet.
  • MTU Transmission Unit
  • the MTU of the network device sub-card in the downlink direction This is because the network device host unit performs flow control on the second buffer queue corresponds to the congesting first buffer queue upon reception of the notification, and if at this time the network device host unit has a packet with the size of the MTU for which one bit has been transmitted, then the packet will be awaited instead of being dropped.
  • An Ethernet line rate between the network device host unit and the network device sub-card This is because the first buffer queue may store packets which have been transmitted between the network device host unit and the network device sub-card, after the notification is transmitted.
  • the network device sub-card may transmit the notification, and it may also take a period of time for the network device host unit to receive the notification, so that these elapsing periods of time may also come with a delay; and the network device host unit will perform flow control upon reception of the notification, thus also resulting in a delay.
  • the network device sub-card transmits a flow control start command for one first buffer queue which is congested as the notification to the network device host unit.
  • the network device sub-card may transmit the flow control start command upon detecting congesting first buffer queue, or the network device sub-card may transmit a flow control command including a flow control start command or a flow control stop command to the network device host unit at a preset temporal cycle, wherein the flow control stop command is transmitted by the network device sub-card to the network device host unit for one first buffer queue which is not congested.
  • the flow control command may be carried in a PFC frame defined in the Institute of Electrical and Electronics Engineers (IEEE) 802.1Qbb.
  • the PFC frame in the standard Ethernet frame format may be transmitted over the Ethernet bus between the network device sub-card and the network device host unit.
  • the flow control command is carried in the PFC frame, and the network device host unit can perform flow control in response thereto.
  • a source MAC address and a destination MAC address need to be added to the PFC frame in use, and in order to prevent an influence upon forwarding of a normal packet and other processes, a fixed source MAC address and a fixed destination MAC address may be preset.
  • the network device host unit can identify the PFC frame by the preset fixed source MAC address.
  • the source MAC address and the destination MAC address of the PFC frame may be preset otherwise.
  • the flow control command relates to flow control on a packet between the network device host unit and the network device sub-card in the network device.
  • the PFC frame is also transported between the network device host unit and the network device sub-card in the network device instead of being transported outside the network device, thus avoiding the problem of collision in MAC address.
  • the PFC frame includes enabling bits respectively for eight priorities of network traffic, i.e., E [0] , E [1] , ... , E [7] , which can identify the first buffer queues of the network device sub-card.
  • E [0] , E [1] , ... , E [7] the flow control commands of the first buffer queue 0 corresponding to the downlink interface 0 of the network device sub-card to the first buffer queue 7 corresponding to the downlink interface 7 of the network device may be represented by the enabling bits E [0] , E [1] , ... , E [7] .
  • the network device sub-card may add a transmission stop period in the PFC frame indicating time for flow control in the PFC frame, i.e., Time (Class 0) , Time (Class 1) , ... , Time (Class 7) , where if the first buffer queue 0 is congested, then the corresponding flow control period of time may be added to Time (Class 0) .
  • the number of downlink interface of the network device sub-card will not be limited, and if there are more than eight downlink interfaces of the network device sub-card, then fields reserved in the PFC frame can be extended to carry flow control commands (e.g., flow control start commands or flow control stop commands) , or an Ethernet link over which a flow control command of another downlink interface is transmitted may be added between the network device sub-card and the network device host unit.
  • flow control commands e.g., flow control start commands or flow control stop commands
  • the network device host unit may perform flow control by slowing down transmission of the packets in the corresponding second buffer queue or stopping the packets in the corresponding second buffer queue from being transmitted, the latter of which will be described as an example.
  • the network device sub-card may transmit a flow control start command for one first buffer queue which is congested to the network device host unit as the following two examples:
  • the network device sub-card transmits the PFC frame at the preset temporal cycle.
  • the network device sub-card generates the PFC frame at the preset temporal cycle and then transmits the PFC frame to the network device host unit.
  • the network device sub-card will also generate and transmit the PFC frame to the network device host unit, and at this time the enabling bits E [0] to E [7] in the PFC frame are zero, and the flow control periods of time, i.e., the transmission stop periods of time, Time (Class 0) to Time (Class 7) are also zero, that is, the PFC frame at this time carries the flow control command which is the flow control stop command, and the network device host unit receiving the PFC frame finds no congesting first buffer queue and thus will stop ongoing flow control.
  • the network device sub-card sets the enabling bit E [N] in the PFC frame corresponds to the congesting first buffer queue to one, and adds the corresponding transmission stop period of time to Time (Class N) of the PFC frame, e.g., Time (Class N) is 5ms, and then transmits the PFC frame to the network device host unit for flow control by the network device host unit, and at this time the PFC frame carries one or more flow control start command, and the network device host unit may determine the second buffer queue corresponds to the congesting first buffer queue in response to the flow control start command, and performs flow control on the corresponding second buffer queue.
  • the preset temporal cycle may be preset by the network administrator according to the function of performance of the network device, e.g., 10ms.
  • the network device sub-card transmits the PFC frame to the network device host unit upon detecting the congesting first buffer.
  • the network device sub-card may not generate the PFC frame if none of the first buffer queues is congested, and will generate the PFC frame upon detecting one or more congesting first buffer queues. If the first buffer queue 0 is congested, then the enabling bit E[0] corresponding to the first buffer queue 0 is set to 1, and the transmission stop period of time is added to Time (Class 0) , and then the PFC frame is transmitted to the network device host unit so that the network device host unit stops the packets in the second buffer queue 0 from being transmitted, for the transmission stop period of time.
  • the network device host unit resumes transmission of the packets in the second buffer queue when the transmission stop period of time expires.
  • the network device sub-card transmits the flow control stop command for the congesting first buffer queue to the network device host unit upon detecting that the congesting first buffer queue resumes normality, for example, the network device sub-card transmits the PFC frame with the transmission stop period of time being zero.
  • the network device host unit resumes transmission of the packets in the second buffer queue corresponds to the congesting first buffer queue according to the PFC frame.
  • the network device sub-card transmits the PFC frame with the transmission stop period of time, Time (Class 0) being zero, and E [0] being zero when the first buffer queue 0 resumes normality, for example, the number of packets stored in the first buffer queue 0 is four.
  • the uplink direction and the downlink direction of the network device sub-card402 have been illustrated respectively, where an uplink processing module4021 on the network device sub-card402 is configured to transmit a packet to a fast packet distributing module4011 of the network device host unit401.
  • the fast packet distributing module4011 is configured to forward the PFC frame to the PFC frame mapping module4012, to store the other packets into an external storage, and to request a core unit of a traffic handling processor to further handle the packets.
  • the fast packet distributing module4011 may be embodied in hardware.
  • the PFC frame mapping module4012 is configured to instruct a downlink scheduling unit4013 of the network device host unit401 in response to a flow control command to perform flow control on the packets in the second buffer queues.
  • the downlink scheduling module4013 of the network host unit401 transmits the packet in the second buffer queue via the Ethernet downlink interface4016 to the downlink processing module4025 of the network device sub-card402.
  • Flow control between the network device sub-card402 and the network device host unit401 may be follows:
  • the PFC frame generating module4022 generates and transmits the PFC frame to the uplink processing module4021.
  • the network device sub-card transmits the PFC frame at the preset temporal cycle
  • the PFC frame generating module4022 may generate the PFC frame when a timer4023 with a preset length of time (e.g., 10ms) expires. If at this time the first buffer queue 0 is congested, then the PFC frame generating module4022 generates the PFC frame with E [0] being 1, and Time (Class 0) being 10ms, and then transmits the PFC frame to the uplink processing module4021.
  • a timer4023 with a preset length of time (e.g. 10ms) expires.
  • the uplink processing module4021 is scheduled by a scheduling module4024 of the network device sub-card402 to transmit the PFC frame to the network device host unit401 at a high scheduling priority.
  • the scheduling module4024 of the network device sub-card402 controls the uplink processing module4021 to schedule the PFC frame at a high priority but may store a packet received via the interface of the network device sub-card402 in the uplink direction into the corresponding uplink buffer queue.
  • the fast packet distributing module4011 of the network device host unit401 transmits the PFC frame to the PFC mapping module4012 upon reception of the PFC frame via the Ethernet uplink interface4014.
  • the PFC frame mapping module4012 obtains the flow control command (e.g., the flow control start command and the corresponding first buffer queue) from the PFC frame, and instructs the downlink scheduling unit4013 to stop transmitting the packets in the second buffer queue corresponds to the first congesting buffer queue.
  • the flow control command e.g., the flow control start command and the corresponding first buffer queue
  • the PFC frame mapping module4012 determines from the E [0] of 1 that the first buffer queue 0 is congested and the flow control start command for the first buffer queue 0 is transmitted by the network device sub-card402, and then instructs a downlink scheduling unit4013 according to the correspondence relationship between the first buffer queue and the second buffer queue to stop transmitting the packets in the second buffer queue 0, and starts the timer4015 to count down for the transmission stop period of time 10ms carried in Time (Class 0) .
  • the PFC frame mapping module4013 resumes transmission of the packets in the second buffer queue corresponds to the congesting first buffer queue when the transmission stop period of time expires.
  • the network device host unit401 instructs the downlink scheduling module4013 to resume transmission of the packets in the second buffer queue 0, after the timer4015 counts down to 10ms.
  • the network device host unit is arranged with one or more packet buffer queues with one packet buffer queue corresponds to one downlink interfaces of the network device sub-card, and if there is a congesting buffer queue corresponds to the downlink interface, then the network device sub-card transmits a flow control start command to instruct the network device host unit to perform flow control on the packet buffer queue corresponds to the congesting buffer queue to thereby enable congestion-free forwarding of the packets between the network device sub-card and the network device host unit without losing any packet.
  • flow control may be performed in the Ethernet flow control frame to thereby lower the cost of the device.
  • a network device host unit for use in a network device including a network device sub-card including one or more downlink interfaces, and one or more first buffer queues wherein each downlink interface corresponds to a respective first buffer queue, the network device host unit includes:
  • each second buffer queue corresponds to a respective first buffer queue, and wherein an outgoing interface of a packet stored in each second buffer queue is the downlink interface corresponds to said second buffer queue.
  • the network device host unit is to transmit the packet in the second buffer queue to the network device sub-card according to a preset scheduling policy
  • the network device host unit is to, in response to receiving a notification that a first buffer queue is congested, performing flow control on the second buffer queue corresponds to the first buffer queue which is congested.
  • the network device host unit performing flow control on the corresponding second buffer queue comprises:
  • the network device host unit is to slow down or stop the transmission of the packets in the corresponding second buffer queue.
  • the network device host unit may be implemented by hardware, such as ASIC, FPGA, processor etc.
  • a network device sub-card for use in a network device comprising a network device host unit including one or more second buffer queue, the network device sub-card comprising:
  • each downlink interface corresponds to a respective first buffer queue.
  • the network device sub-card is to receive a packet transmitted from a second buffer queue of the network device host unit
  • the network device sub-card is to add the packet to a first buffer queue corresponds to the second buffer queue so as to forward the packet via the downlink interface corresponds to the first buffer queue;
  • the network device sub-card is to, in response to determining that a first buffer queue is congested, to notify the network device host unit that the first buffer queue is congested.
  • the network device sub-card notifying the network device host unit that the first buffer queue is congested comprises:
  • the network device sub-card is to transmit a flow control command to the network device host unit at a preset temporal cycle
  • the flow control command comprises a flow control start command or a flow control stop command, wherein the network device sub-card is to transmit the flow control stop command for one first buffer queue which is not congested to the network device host unit, the network device sub-card is to transmit the flow control start command for one first buffer queue which is congested to the network device host unit.
  • the network device host unit and the network device sub-card are connected through an Ethernet bus, and the flow control command is carried in a PFC frame.
  • the network device sub-card determining that a first buffer queue is congested comprises:
  • the network device sub-card in response to detecting that a preset buffer threshold of a first buffer queue has expired, is to determine the first buffer queue is congested.
  • the network device sub-card is to transmit the flow control stop command for the congesting first buffer queue to the network device host unit upon detecting that the congesting first buffer queue resumes normality.
  • the network device sub-card may be implemented by hardware, such as ASIC, FPGA, processor etc.

Abstract

The network device sub-card includes one or more downlink interfaces and one or more first buffer queues wherein each downlink interface corresponds to a respective first buffer queue. The network device host unit includes one or more second buffer queues wherein each second buffer queue corresponds to a respective first buffer queue, and wherein an outgoing interface of a packet stored in each second buffer queue is the downlink interface corresponds to said second buffer queue. The network device sub-card notifies the network device host unit that the first buffer queue is congested, and the network device host unit performs flow control on the second buffer queue corresponds to the first buffer queue which is congested.

Description

FLOW CONTROL Background
As the network technologies are being developed and the network services are being expanded, higher requirements have been proposed on the network devices in terms of reliability, the density of interfaces, configuration flexibility, forwarding speed of data packets, service diversity, etc., in the IP technologies and the broadband services, so modular network devices have emerged accordingly.
Respective components of a network device can be designed in modules. The network device designed into the modules may include a network device host unit and a network device sub-card. The network device host unit may include a master engine, a switching network board, a linecard, a power source module, a fan frame module and other components. The network device sub-card is functionally simplified and configured to transmit and receive and/or process a packet for the network device host unit.
Brief Description of the Drawings
Fig. 1 illustrates a schematic structural diagram of a network device according to an example;
Fig. 2 illustrates a flow chart of a flow control mode of the network device according to an example;
Fig. 3 illustrates a format diagram of a Priority Flow Control (PFC) frame according to an example; and
Fig. 4 illustrates a flow control diagram of a network device sub-card and a network device host unit according to an example.
Detailed Description of the Embodiments
A network device host unit and a network device sub-card need to communication with each other, and the problem of congestion involved in the communication between them may result in a loss of packet being transmitted. In an example, the network device host unit may be connected with the network device sub-card via an Ethernet interface which is an  Ethernet bus.
On one hand, the Ethernet bus is in a low cost, a high communication speed and bandwidth, good compatibility, a lower amount of occupied resources, etc. On the other hand, more and more chips tend to provide only the Ethernet bus as a data communication bus due to a widespread technical support, a strong sustainable development potential, and other numerous advantages of the Ethernet. The network device host unit may intercommunicate with the network device sub-card via a high-rate Ethernet interface, and the network device sub-card may translate the high-rate Ethernet interface into a plurality of low-rate interfaces. If there is burst traffic via the high-rate Ethernet interface, then some low-rate interface may be unable to carry packets transmitted via the high-rate Ethernet interface, thus resulting in packet congestion and even a loss of a packet.
In an example, this application provides a network device including a network device host unit and a network device sub-card connected over an Ethernet bus. The Ethernet bus may be a high speed Ethernet bus. For example the Ethernet bus may be an Ethernet high-rate serial differential pair, e.g., a GB Ethernet SGMII bus, 10GB Ethernet XAUI, XFI, 10GBASE-KR buses, etc.
In order to prevent a loss of a packet due to burst traffic to the network device host unit, a packet buffer queue, e.g., a First Input First Output (FIFO) queue, may be arranged for each downlink interface in the downlink direction of the network device sub-card. The downlink direction here refers to the direction of the packet leaving the network device, e.g. the direction of a packet leaving the network device through an output interface. The uplink direction is the opposite direction to the downlink direction. In this example, the packet buffer queue in the downlink direction of the network device sub-card is referred to as a first buffer queue. The network device sub-card may include one or more downlink interfaces, and one or more first buffer queues with each downlink interface correspond to a respective first buffer queue. Also in order to enable flow control between the network device sub-card and the network device host unit, the network device host unit may have one or more second buffer queues corresponds to the first buffer queues of the network device sub-card. Each second buffer queue corresponds to a respective first buffer queue of the network device sub-card. An  outgoing interface of a packet stored in each second buffer queue is the downlink interface corresponds to the first buffer queue which the second buffer queue corresponds to. That is the packet may be sent from the second buffer queue, over the Ethernet bus, to the first buffer queue and from the first buffer queue to the downlink interface corresponding to the first buffer queue. The downlink interface thus acts as an outgoing interface for the packet, through which the packet may exit the network device.
By way of an example, referring to Fig. 1, there is illustrated a schematic structural diagram of the network device100, including a network device host unit 101, a network device sub-card 102, and an Ethernet bus 103 between the network device host unit 101 and the network device sub-card 101. By way of example, the network device sub-card 102 may have eight downlink interfaces including a downlink interface 0 to a downlink interface 7 and each of the eight downlink interfaces may correspond to a respective first buffer queue, so the network device sub-card102 includes a first buffer queue 0 to a first buffer queue 7. That is, a packet to be forwarded via the downlink interface 0 (at this time the downlink interface 0 is a packet forwarding interface or referred simply to as an “outgoing interface” ) is added by the network device sub-card102 to the first buffer queue 0, a packet to be forwarded via the downlink interface 1 is added by the network device sub-card102 to the first buffer queue 1, and so on. Likewise there are also eight second buffer queues on the network device host unit101, including a second buffer queue 0 to a second buffer queue 7. That is, the packet to be forwarded via the downlink interface 0 of the network device sub-card102 is added by the network device host unit to the second buffer queue 0, a packet to be forwarded via the downlink interface 1 of the network device sub-card102 is added by the network device host unit101 to the second buffer queue 1, and so on. On the other hand, the Ethernet bus103 between the network device host unit101 and the network device sub-card102 may include eight virtual buses (or virtual channels) including a virtual bus 0 to a virtual bus 7, where the virtual bus 0 connects the second buffer queue 0 to the first buffer queue 0, and so on, thus resulting in the correspondence relationship as depicted in Table 1. In one example, a memory of the sub-card may store a table including information the correspondence between the first buffer queues and their respective second buffer queues, or downlink interfaces in the network device  host unit. An example of such information is shown in Table 1 below. In another example, the network device host unit may be configured with said information indicating the correspondence (also referred to as the “corresponding information” ) and packets sent from the second buffer queue may be configured with a tag according to the corresponding information. For example, packets sent from the second buffer queue 0 may be encapsulated with a corresponding tag that causes the packets be transmitted to the first buffer queue 0. I. e. the corresponding tag indicates which first buffer queue, and thus which downlink interface; the packet is to be sent to.
Figure PCTCN2015083895-appb-000001
Table 1
Of course, the respective interfaces of the network device sub-card in the uplink direction may also be arranged with corresponding packet buffer queues, but the network device host unit has a higher processing capacity, packet congestion between the network device host unit and the network device sub-card may occur in the direction of the network device host unit transmitting a packet to the network device sub-card, i.e., the downlink direction, whereas there is a better condition in the uplink direction. In an example, the number of packet buffer queues in the uplink direction may be decreased or even may not be limited due to this characteristic.
Referring to Fig. 2, the network device host unit transmits the packets to the network device sub-card in the downlink direction as follows:
At block S201, the network device host unit transmits the packet in the second buffer queue to the network device sub-card according to a policy, where outgoing interfaces of the packet is located on the network device sub-card.
At block S202, the network device sub-card adds the packet to the first buffer queue corresponds to the second buffer queue so as to forward the packet via the downlink interface  corresponds to the first buffer queue.
In an example, the network device host unit adds the packet to the second buffer queue corresponds to the downlink interface after processing the packet internally, and the network device host unit transmits the packet in the second buffer queue corresponds to the downlink interface according to the policy to the network device sub-card. The policy may be preset by a network administer, for example, the packets stored in the second buffer queues may be transmitted one by one. Taking as an example the network device sub-card provided with eight downlink interfaces, the network device host unit are provided with eight second buffer queues, and the network device host unit transmits the packets stored in the second buffer queue 0 to the second buffer queue 7 according to the scheduling policy. Of course, another preset scheduling policy may alternatively be preset as needed in another example, for example, if there is a higher priority of the packet to be transmitted via the downlink interface, then the packet in the second buffer queue 0 can be transmitted in succession twice, and then the packet in the second buffer queue 1 to the second buffer queue 7 can be transmitted sequentially.
The network device sub-card adds the packet, transmitted by the network device host unit, into the first buffer queue corresponds to the downlink interface, according to downlink interface information (i.e., outgoing interface information) carried in the packet, so as to forwarding the packet via the first buffer queue.
Taking as an example the network device host unit transmitting a packet via the downlink interface 0 of the network device sub-card, the network device host unit adds the packet to the second buffer queue 0, and the network device sub-card adds the packet to the first buffer queue 0 upon reception of the packet, so that the packet is forwarded via the downlink interface 0.
At block S203, the network device sub-card determines that a first buffer queue is congested, and notifies the network device host unit that the first buffer queue is congested.
At block S204, the network device host unit receives a notification that a first buffer queue is congested, performs flow control on the second buffer queue corresponds to the first buffer queue which is congested.
In an example, one or more first buffer queues wherein each downlink interface  corresponds to a respective first buffer queue may be arranged by presetting buffer capacity and buffer thresholds. The network device sub-card determines that the first buffer queue is congesting queue, upon detecting that the first buffer queue exceed the preset buffer thresholds. For example, if a buffer capacity of the first buffer queue is ten packets, and the buffer threshold is five packets, then it may be determined that the first buffer queue is congested when there are six packets stored in the first buffer queue.
If the buffer capacity of the first buffer queue is preset too small, then the packet may be lost, whereas if the buffer capacity is preset too large, then queue scheduling, a prescribed access rate, or another Quality of Service (QoS) of the network device may not be guaranteed. If the buffer threshold of the first buffer queue is preset too small, then the utilization ratio of a network bandwidth may be degraded, whereas if the buffer threshold is reset too large, then the packet may be lost. Thus the reasonable buffer capacity and buffer threshold may be preset for the first buffer queue. The buffer capacity and the buffer threshold of the first buffer queue may be preset taking into account the following factors.
1. The maximum Transmission Unit (MTU) of the network device sub-card in the uplink direction. This is because if the first buffer queue is congested, then the network device sub-card notifies the congesting first buffer queue to the network device host unit, and if at this time there is a packet with the size of the MTU being transmitted in the uplink direction of the network device sub-card, then it means that the packet is long and thus will be transmitted for a long period of time, and at this time the notification may be delayed for await completed transmission of the packet.
2. The MTU of the network device sub-card in the downlink direction. This is because the network device host unit performs flow control on the second buffer queue corresponds to the congesting first buffer queue upon reception of the notification, and if at this time the network device host unit has a packet with the size of the MTU for which one bit has been transmitted, then the packet will be awaited instead of being dropped.
3. An Ethernet line rate between the network device host unit and the network device sub-card. This is because the first buffer queue may store packets which have been transmitted between the network device host unit and the network device sub-card, after the notification is  transmitted.
4. An interface rate of the network device sub-card. This is because the congesting first buffer queue is still transmitting outgoing packets after the flow control start command is transmitted, which means that the congestion condition may be alleviated rapidly.
5. It may take a period of time for the network device sub-card to transmit the notification, and it may also take a period of time for the network device host unit to receive the notification, so that these elapsing periods of time may also come with a delay; and the network device host unit will perform flow control upon reception of the notification, thus also resulting in a delay.
The network device sub-card transmits a flow control start command for one first buffer queue which is congested as the notification to the network device host unit. The network device sub-card may transmit the flow control start command upon detecting congesting first buffer queue, or the network device sub-card may transmit a flow control command including a flow control start command or a flow control stop command to the network device host unit at a preset temporal cycle, wherein the flow control stop command is transmitted by the network device sub-card to the network device host unit for one first buffer queue which is not congested.
In an example, the flow control command may be carried in a PFC frame defined in the Institute of Electrical and Electronics Engineers (IEEE) 802.1Qbb. The PFC frame in the standard Ethernet frame format may be transmitted over the Ethernet bus between the network device sub-card and the network device host unit. The flow control command is carried in the PFC frame, and the network device host unit can perform flow control in response thereto. Following the PFC frame format, a source MAC address and a destination MAC address need to be added to the PFC frame in use, and in order to prevent an influence upon forwarding of a normal packet and other processes, a fixed source MAC address and a fixed destination MAC address may be preset. The network device host unit can identify the PFC frame by the preset fixed source MAC address. In another example, the source MAC address and the destination MAC address of the PFC frame may be preset otherwise. It shall be noted that the flow control command relates to flow control on a packet between the network device host unit and the  network device sub-card in the network device. The PFC frame is also transported between the network device host unit and the network device sub-card in the network device instead of being transported outside the network device, thus avoiding the problem of collision in MAC address.
Referring to a PFC frame illustrated in Fig. 3, the PFC frame includes enabling bits respectively for eight priorities of network traffic, i.e., E [0] , E [1] , … , E [7] , which can identify the first buffer queues of the network device sub-card. For example, the flow control commands of the first buffer queue 0 corresponding to the downlink interface 0 of the network device sub-card to the first buffer queue 7 corresponding to the downlink interface 7 of the network device may be represented by the enabling bits E [0] , E [1] , … , E [7] . If E [N] = 0 indicates that the queue N is normal, then the corresponding flow control command is a flow control stop command, and if E [N=1] indicates that the queue N is congested, then the corresponding flow control command is a flow control start command, where N represents a natural number less than or equal to 7. Following this rule, E [N=1] indicates the first buffer queue 0 corresponds to the downlink interface 0 of the network device sub-card is congested, and the network device host unit will perform flow control on the second buffer queue 0.
The network device sub-card may add a transmission stop period in the PFC frame indicating time for flow control in the PFC frame, i.e., Time (Class 0) , Time (Class 1) , … , Time (Class 7) , where if the first buffer queue 0 is congested, then the corresponding flow control period of time may be added to Time (Class 0) . In an example, the number of downlink interface of the network device sub-card will not be limited, and if there are more than eight downlink interfaces of the network device sub-card, then fields reserved in the PFC frame can be extended to carry flow control commands (e.g., flow control start commands or flow control stop commands) , or an Ethernet link over which a flow control command of another downlink interface is transmitted may be added between the network device sub-card and the network device host unit.
The network device host unit may perform flow control by slowing down transmission of the packets in the corresponding second buffer queue or stopping the packets in the corresponding second buffer queue from being transmitted, the latter of which will be described  as an example.
The network device sub-card may transmit a flow control start command for one first buffer queue which is congested to the network device host unit as the following two examples: 
In one example, the network device sub-card transmits the PFC frame at the preset temporal cycle.
In this example, the network device sub-card generates the PFC frame at the preset temporal cycle and then transmits the PFC frame to the network device host unit. In this example, if there is no congesting first buffer queue, then the network device sub-card will also generate and transmit the PFC frame to the network device host unit, and at this time the enabling bits E [0] to E [7] in the PFC frame are zero, and the flow control periods of time, i.e., the transmission stop periods of time, Time (Class 0) to Time (Class 7) are also zero, that is, the PFC frame at this time carries the flow control command which is the flow control stop command, and the network device host unit receiving the PFC frame finds no congesting first buffer queue and thus will stop ongoing flow control.
If there is one or more congesting first buffer queue, then the network device sub-card sets the enabling bit E [N] in the PFC frame corresponds to the congesting first buffer queue to one, and adds the corresponding transmission stop period of time to Time (Class N) of the PFC frame, e.g., Time (Class N) is 5ms, and then transmits the PFC frame to the network device host unit for flow control by the network device host unit, and at this time the PFC frame carries one or more flow control start command, and the network device host unit may determine the second buffer queue corresponds to the congesting first buffer queue in response to the flow control start command, and performs flow control on the corresponding second buffer queue. The preset temporal cycle may be preset by the network administrator according to the function of performance of the network device, e.g., 10ms.
In another example, the network device sub-card transmits the PFC frame to the network device host unit upon detecting the congesting first buffer.
In this example, the network device sub-card may not generate the PFC frame if none of the first buffer queues is congested, and will generate the PFC frame upon detecting one or more congesting first buffer queues. If the first buffer queue 0 is congested, then the enabling bit  E[0] corresponding to the first buffer queue 0 is set to 1, and the transmission stop period of time is added to Time (Class 0) , and then the PFC frame is transmitted to the network device host unit so that the network device host unit stops the packets in the second buffer queue 0 from being transmitted, for the transmission stop period of time.
In an example, the network device host unit resumes transmission of the packets in the second buffer queue when the transmission stop period of time expires.
In other example, the network device sub-card transmits the flow control stop command for the congesting first buffer queue to the network device host unit upon detecting that the congesting first buffer queue resumes normality, for example, the network device sub-card transmits the PFC frame with the transmission stop period of time being zero. The network device host unit resumes transmission of the packets in the second buffer queue corresponds to the congesting first buffer queue according to the PFC frame. Taking the congesting first buffer queue 0 as an example, the network device sub-card transmits the PFC frame with the transmission stop period of time, Time (Class 0) being zero, and E [0] being zero when the first buffer queue 0 resumes normality, for example, the number of packets stored in the first buffer queue 0 is four.
In an example, referring to Fig. 4, the uplink direction and the downlink direction of the network device sub-card402 have been illustrated respectively, where an uplink processing module4021 on the network device sub-card402 is configured to transmit a packet to a fast packet distributing module4011 of the network device host unit401. The fast packet distributing module4011 is configured to forward the PFC frame to the PFC frame mapping module4012, to store the other packets into an external storage, and to request a core unit of a traffic handling processor to further handle the packets. In order to guarantee a low delay of the PFC frame, the fast packet distributing module4011 may be embodied in hardware. The PFC frame mapping module4012 is configured to instruct a downlink scheduling unit4013 of the network device host unit401 in response to a flow control command to perform flow control on the packets in the second buffer queues. The downlink scheduling module4013 of the network host unit401 transmits the packet in the second buffer queue via the Ethernet downlink interface4016 to the downlink processing module4025 of the network device sub-card402.
Flow control between the network device sub-card402 and the network device host unit401 may be follows:
1. The PFC frame generating module4022 generates and transmits the PFC frame to the uplink processing module4021.
For an example, the network device sub-card transmits the PFC frame at the preset temporal cycle, the PFC frame generating module4022 may generate the PFC frame when a timer4023 with a preset length of time (e.g., 10ms) expires. If at this time the first buffer queue 0 is congested, then the PFC frame generating module4022 generates the PFC frame with E [0] being 1, and Time (Class 0) being 10ms, and then transmits the PFC frame to the uplink processing module4021.
2. The uplink processing module4021 is scheduled by a scheduling module4024 of the network device sub-card402 to transmit the PFC frame to the network device host unit401 at a high scheduling priority.
In an example, in order to lower the delay of the PFC frame, the scheduling module4024 of the network device sub-card402 controls the uplink processing module4021 to schedule the PFC frame at a high priority but may store a packet received via the interface of the network device sub-card402 in the uplink direction into the corresponding uplink buffer queue.
3. The fast packet distributing module4011 of the network device host unit401 transmits the PFC frame to the PFC mapping module4012 upon reception of the PFC frame via the Ethernet uplink interface4014.
4. The PFC frame mapping module4012 obtains the flow control command (e.g., the flow control start command and the corresponding first buffer queue) from the PFC frame, and instructs the downlink scheduling unit4013 to stop transmitting the packets in the second buffer queue corresponds to the first congesting buffer queue.
In an example, the PFC frame mapping module4012 determines from the E [0] of 1 that the first buffer queue 0 is congested and the flow control start command for the first buffer queue 0 is transmitted by the network device sub-card402, and then instructs a downlink scheduling unit4013 according to the correspondence relationship between the first buffer queue  and the second buffer queue to stop transmitting the packets in the second buffer queue 0, and starts the timer4015 to count down for the transmission stop period of time 10ms carried in Time (Class 0) .
5. The PFC frame mapping module4013 resumes transmission of the packets in the second buffer queue corresponds to the congesting first buffer queue when the transmission stop period of time expires.
In an example, the network device host unit401 instructs the downlink scheduling module4013 to resume transmission of the packets in the second buffer queue 0, after the timer4015 counts down to 10ms.
In an example, the network device host unit is arranged with one or more packet buffer queues with one packet buffer queue corresponds to one downlink interfaces of the network device sub-card, and if there is a congesting buffer queue corresponds to the downlink interface, then the network device sub-card transmits a flow control start command to instruct the network device host unit to perform flow control on the packet buffer queue corresponds to the congesting buffer queue to thereby enable congestion-free forwarding of the packets between the network device sub-card and the network device host unit without losing any packet. In other hand, flow control may be performed in the Ethernet flow control frame to thereby lower the cost of the device.
In another example, there is provided a network device host unit for use in a network device including a network device sub-card including one or more downlink interfaces, and one or more first buffer queues wherein each downlink interface corresponds to a respective first buffer queue, the network device host unit includes:
one or more second buffer queues wherein each second buffer queue corresponds to a respective first buffer queue, and wherein an outgoing interface of a packet stored in each second buffer queue is the downlink interface corresponds to said second buffer queue.
The network device host unit is to transmit the packet in the second buffer queue to the network device sub-card according to a preset scheduling policy;
The network device host unit is to, in response to receiving a notification that a first buffer queue is congested, performing flow control on the second buffer queue corresponds to  the first buffer queue which is congested.
The network device host unit performing flow control on the corresponding second buffer queue comprises:
the network device host unit is to slow down or stop the transmission of the packets in the corresponding second buffer queue.
For an example, the network device host unit may be implemented by hardware, such as ASIC, FPGA, processor etc.
In another example, there is provided a network device sub-card for use in a network device comprising a network device host unit including one or more second buffer queue, the network device sub-card comprising:
one or more downlink interfaces and one or more first buffer queues wherein each downlink interface corresponds to a respective first buffer queue.
The network device sub-card is to receive a packet transmitted from a second buffer queue of the network device host unit;
The network device sub-card is to add the packet to a first buffer queue corresponds to the second buffer queue so as to forward the packet via the downlink interface corresponds to the first buffer queue; and
The network device sub-card is to, in response to determining that a first buffer queue is congested, to notify the network device host unit that the first buffer queue is congested.
The network device sub-card notifying the network device host unit that the first buffer queue is congested comprises:
the network device sub-card is to transmit a flow control command to the network device host unit at a preset temporal cycle; and
the flow control command comprises a flow control start command or a flow control stop command, wherein the network device sub-card is to transmit the flow control stop command for one first buffer queue which is not congested to the network device host unit, the network device sub-card is to transmit the flow control start command for one first buffer queue which is congested to the network device host unit.
The network device host unit and the network device sub-card are connected through  an Ethernet bus, and the flow control command is carried in a PFC frame.
The network device sub-card determining that a first buffer queue is congested comprises:
The network device sub-card, in response to detecting that a preset buffer threshold of a first buffer queue has expired, is to determine the first buffer queue is congested.
The network device sub-card is to transmit the flow control stop command for the congesting first buffer queue to the network device host unit upon detecting that the congesting first buffer queue resumes normality.
For an example, The network device sub-card may be implemented by hardware, such as ASIC, FPGA, processor etc.

Claims (15)

  1. A network device, comprising a network device host unit and a network device sub-card, wherein:
    the network device sub-card includes one or more downlink interfaces and one or more first buffer queues wherein each downlink interface corresponds to a respective first buffer queue;
    the network device host unit includes one or more second buffer queues wherein each second buffer queue corresponds to a respective first buffer queue, and wherein an outgoing interface of a packet stored in each second buffer queue is the downlink interface corresponds to said second buffer queue;
    the network device host unit is to transmit the packet in the second buffer queue to the network device sub-card according to a policy;
    the network device sub-card is to add the packet to the first buffer queue corresponds to the second buffer queue so as to forward the packet via the downlink interface corresponds to the first buffer queue;
    the network device sub-card is to, in response to determining that a first buffer queue is congested, notify the network device host unit that the first buffer queue is congested ; and
    the network device host unit is to, in response to receiving a notification that a first buffer queue is congested, perform flow control on the second buffer queue corresponds to the first buffer queue which is congested.
  2. The network device according to claim 1, wherein the network device sub-card notifying the first buffer queue which is congested to the network device host unit comprises:
    the network device sub-card is to transmit a flow control command to the network device host unit at a preset temporal cycle;
    the flow control command comprises a flow control start command or a flow control stop command, wherein the flow control stop command is transmitted by the network device  sub-card to the network device host unit for one first buffer queue which is not congested, the flow control start command is transmitted by the network device sub-card to the network device host unit for one first buffer queue which is congested; and
    the network device host unit is to perform flow control on the second buffer queue corresponds to the first buffer queue which is congested comprises:
    the network device host unit is to determine the second buffer queue corresponds to the congesting first buffer queue in response to the flow control start command, and perform flow control on the corresponding second buffer queue;
    the network device host unit is to stop the flow control on the second buffer queue which is performing flow control in response to the flow control stop command.
  3. The network device according to claim 2, wherein:
    the network device host unit and the network device sub-card are connected through an Ethernet bus, and
    the flow control command is carried in a Priority Flow Control (PFC) frame.
  4. The network device according to claim 3, wherein:
    the PFC frame carries a transmission stop period indicating time for flow control; and
    the network device host unit is to stop the flow control on the corresponding second buffer queue when the transmission stop period expires.
  5. The network device according to claim 3, wherein the network device sub-card transmitting the PFC frame to the network device host unit at a high scheduling priority.
  6. The network device according to claim 1, wherein the network device host unit performing flow control on the corresponding second buffer queue comprises:
    the network device host unit is to slow down or stop the transmission of the packets in the corresponding second buffer queue.
  7. The network device according to claim 1, wherein the network device sub-card determining that a first buffer queue is congested, notifying the network device host unit that the first buffer  queue is congested comprises:
    the network device sub-card, upon detecting that one first buffer queue expires a preset buffer threshold, is to determine the first buffer queue is congested; and transmit a flow control start command for the first buffer queue which is congested to the network device host unit; and
    the network device host unit is to perform flow control on the second buffer queue corresponds to the first buffer queue which is congested comprises:
    the network device host unit is to determine the second buffer queue corresponds to the congesting first buffer queue in response to the flow control start command, and perform flow control on the corresponding second buffer queue.
  8. The network device according to claim 7, wherein:
    the network device sub-card is to transmit the flow control stop command for the congesting first buffer queue to the network device host unit upon detecting that the congesting first buffer queue resumes normality;
    the network host unit is to stop the flow control on the second buffer queue which is performing flow control in response to the flow control stop command.
  9. A network device host unit, for use in a network device comprising a network device sub-card including one or more first buffer queues wherein each downlink interface corresponds to a respective first buffer queue, the network device host unit comprising:
    one or more second buffer queues wherein each second buffer queue corresponds to a respective first buffer queue, and wherein an outgoing interface of a packet stored in each second buffer queue is the downlink interface corresponds to said second buffer queue;
    the network device host unit is to transmit the packet in the second buffer queue to the network device sub-card according to a preset scheduling policy;
    the network device host unit is to, in response to receiving a notification that a first buffer queue is congested, performing flow control on the second buffer queue corresponds to the first buffer queue which is congested.
  10. The network device host unit according to claim 9, wherein, the network device host unit performing flow control on the corresponding second buffer queue comprises:
    the network device host unit is to slow down or stop the transmission of the packets in the corresponding second buffer queue.
  11. A network device sub-card, for use in a network device comprising a network device host unit including one or more second buffer queues, the network device sub-card comprising:
    one or more downlink interfaces and one or more first buffer queues wherein each downlink interface corresponds to a respective first buffer queue,
    the network device sub-card is to receive a packet transmitted from a second buffer queue of the network device host unit;
    the network device sub-card is add the packet to a first buffer queue corresponds to the second buffer queue so as to forward the packet via the downlink interface corresponds to the first buffer queue; and
    the network device sub-card is to, in response to determining that a first buffer queue is congested, notify the network device host unit that the first buffer queue is congested.
  12. The network device sub-card according to claim 11, wherein the network device sub-card notifying the network device host unit that the first buffer queue is congested comprises:
    the network device sub-card is to transmit a flow control command to the network device host unit at a preset temporal cycle; and
    the flow control command comprises a flow control start command or a flow control stop command, wherein the network device sub-card is to transmit the flow control stop command for one first buffer queue which is not congested to the network device host unit, the network device sub-card is to transmit the flow control start command for one first buffer queue which is congested to the network device host unit.
  13. The network device sub-card according to claim 12, wherein:
    the network device host unit and the network device sub-card are connected through an  Ethernet bus, and the flow control command is carried in a PFC frame.
  14. The network device sub-card according to claim 11, wherein the network device sub-card determining that a first buffer queue is congested comprises:
    the network device sub-card, in response to detecting that a preset buffer threshold of a first buffer queue has expired, is to determine the first buffer queue is congested.
  15. The network device sub-card according to claim 14, wherein
    the network device sub-card is to transmit the flow control stop command for the congesting first buffer queue to the network device host unit upon detecting that the congesting first buffer queue resumes normality.
PCT/CN2015/083895 2014-07-14 2015-07-13 Flow control WO2016008399A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410333222.5A CN105337895B (en) 2014-07-14 2014-07-14 A kind of network equipment main computer unit, network equipment subcard and the network equipment
CN201410333222.5 2014-07-14

Publications (1)

Publication Number Publication Date
WO2016008399A1 true WO2016008399A1 (en) 2016-01-21

Family

ID=55077913

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/083895 WO2016008399A1 (en) 2014-07-14 2015-07-13 Flow control

Country Status (2)

Country Link
CN (1) CN105337895B (en)
WO (1) WO2016008399A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110708255B (en) * 2018-07-09 2021-11-19 华为技术有限公司 Message control method and node equipment
CN109327403B (en) * 2018-12-04 2022-08-16 锐捷网络股份有限公司 Flow control method, flow control device, network equipment and storage medium
CN111431811A (en) * 2019-01-10 2020-07-17 华为技术有限公司 Message transmission control method, device and network equipment
CN110995534B (en) * 2019-11-26 2022-03-18 锐捷网络股份有限公司 Detection method and device for PFC deadlock
CN113098785B (en) * 2021-03-31 2022-05-27 新华三信息安全技术有限公司 Message processing method and device
CN114531356A (en) * 2022-02-24 2022-05-24 太仓市同维电子有限公司 Method for synchronizing sub-cards of network equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6657962B1 (en) * 2000-04-10 2003-12-02 International Business Machines Corporation Method and system for managing congestion in a network
CN1937586A (en) * 2006-09-21 2007-03-28 华为技术有限公司 Device and method for realizing fluid control information transfer
CN101699795A (en) * 2009-10-29 2010-04-28 中兴通讯股份有限公司 Message congestion processing method and system
CN101867511A (en) * 2009-04-20 2010-10-20 华为技术有限公司 Pause frame sending method, associated equipment and system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1245815C (en) * 2002-03-13 2006-03-15 威盛电子股份有限公司 Ethernet exchange controller and its congestion control method
US7274660B2 (en) * 2002-08-15 2007-09-25 Motorola, Inc. Method of flow control
US20050128945A1 (en) * 2003-12-11 2005-06-16 Chen-Chi Kuo Preventing a packet associated with a blocked port from being placed in a transmit buffer
CN1878144A (en) * 2006-07-14 2006-12-13 华为技术有限公司 Multi-queue flow control method
CN101945037B (en) * 2010-03-16 2012-08-29 深圳市普联技术有限公司 Flow rate control method, system, switch and router
CN102611620A (en) * 2012-02-23 2012-07-25 福建星网锐捷网络有限公司 Congestion control method and message processing device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6657962B1 (en) * 2000-04-10 2003-12-02 International Business Machines Corporation Method and system for managing congestion in a network
CN1937586A (en) * 2006-09-21 2007-03-28 华为技术有限公司 Device and method for realizing fluid control information transfer
CN101867511A (en) * 2009-04-20 2010-10-20 华为技术有限公司 Pause frame sending method, associated equipment and system
CN101699795A (en) * 2009-10-29 2010-04-28 中兴通讯股份有限公司 Message congestion processing method and system

Also Published As

Publication number Publication date
CN105337895A (en) 2016-02-17
CN105337895B (en) 2019-02-19

Similar Documents

Publication Publication Date Title
WO2016008399A1 (en) Flow control
US10038643B1 (en) Method and system for network micro flow control
US10313768B2 (en) Data scheduling and switching method, apparatus, system
US10129151B2 (en) Traffic management implementation method and apparatus, and network device
US8625427B1 (en) Multi-path switching with edge-to-edge flow control
EP2684321B1 (en) Data blocking system for networks
US20210359931A1 (en) Packet Scheduling Method, Scheduler, Network Device, and Network System
US8189463B2 (en) Method for realizing backpressure of masses of ports and device thereof
EP3468115B1 (en) Method to improve availabilty of real-time computer networks
US10050896B2 (en) Management of an over-subscribed shared buffer
JP2010283828A (en) Method and apparatus for traffic flow differentiation
EP3188419B1 (en) Packet storing and forwarding method and circuit, and device
US10728156B2 (en) Scalable, low latency, deep buffered switch architecture
EP2797270A2 (en) A method and system of transmission management in a network
US20220046465A1 (en) METHOD AND APPARATUS FOR PACKET DELAY MANAGEMENT IN eCPRI NETWORK
WO2012119414A1 (en) Method and device for controlling traffic of switching network
CN109995608B (en) Network rate calculation method and device
EP3275139B1 (en) Technologies for network packet pacing during segmentation operations
EP3459216B1 (en) System and method for mtu size reduction in a packet network
Zhou et al. Expresspass++: Credit-effecient congestion control for data centers
US11805071B2 (en) Congestion control processing method, packet forwarding apparatus, and packet receiving apparatus
Le et al. SFC: Near-source congestion signaling and flow control
WO2022160143A1 (en) Bandwidth adjustment method, apparatus and system
WO2024036476A1 (en) Packet forwarding method and apparatus
EP3972209A1 (en) Method for processing network congestion, and related apparatus

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: 15821510

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: 15821510

Country of ref document: EP

Kind code of ref document: A1