Patent ID: 8761018

Claim:
A method for throttling a fabric login (FLOGI) in a Fibre Channel adapter coupled to a switch, the method comprising: transmitting, by the Fibre Channel adapter, a first FLOGI request and a second FLOGI request to the switch; indicating, via a first queuing tracking mechanism, that a first FLOGI associated with the first FLOGI request is active in response to transmitting the first FLOGI request; indicating, via the first queuing tracking mechanism, that a second FLOGI associated with the second FLOGI request is active in response to transmitting the second FLOGI request; queuing, by the Fibre Channel adapter, a third FLOGI request until one of the first FLOGI request and the second FLOGI request is processed by the switch; and indicating, via a second queuing tracking mechanism, that a third FLOGI request associated with the third FLOGI request is queued in response to queuing the third FLOGI request; queuing, by the Fibre Channel adapter, a fourth FLOGI request until the other respective one of the first FLOGI request and the second FLOGI request is processed by the switch; and indicating, via the second queuing tracking mechanism, that a fourth FLOGI associated with the fourth FLOGI request is queued in response to queuing the fourth FLOGI request; receiving a first notice, by the Fibre Channel adapter, that one of the first FLOGI request and the second FLOGI request has been processed by the switch; indicating, via the first queuing tracking mechanism, that one of the first FLOGI and the second FLOGI is inactive in response to receiving the first notice that the one of the first FLOGI request and the second FLOGI request has been processed by the switch; receiving a second notice, by the Fibre Channel adapter, that the other respective one of the first FLOGI request and the second FLOGI request has been processed by the switch; and indicating, via the first queuing tracking mechanism, that the other respective one of the first FLOGI and the second FLOGI is inactive in response to receiving the notice that the other respective one of the first FLOGI request and the second FLOGI request has been processed by the switch; transmitting, by the Fibre Channel, the third FLOGI request to the switch in response to the indication that the one of the first FLOGI and the second FLOGI is inactive; indicating, via the first queuing tracking mechanism, that the third FLOGI request is active in response to transmitting the third FLOGI request; transmitting, by the Fibre Channel, the fourth FLOGI request to the switch in response to the indication that the other respective one of the first FLOGI and the second FLOGI is inactive; indicating, via the second queuing tracking mechanism, that the fourth FLOGI request is not queued in response to transmitting the fourth FLOGI request; and indicating, via the first queuing tracking mechanism, that the fourth FLOGI is active in response to transmitting the fourth FLOGI request.