>Yi Zou wrote:
>> Add tracking the Missing Discovery Advertisement count for FIP Fiber
>Channel
>> Forwarder (FCF) as described in FC-BB-5 Rev2.0 for LESB. The time is 1.5
>times
>> the FKA_ADV_PERIOD of the corresponding FCF.
>>
>> Signed-off-by: Yi Zou <[email protected]>
>> ---
>>
>>  drivers/scsi/fcoe/libfcoe.c |   13 +++++++++++++
>>  1 files changed, 13 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/scsi/fcoe/libfcoe.c b/drivers/scsi/fcoe/libfcoe.c
>> index 6174598..a81335d 100644
>> --- a/drivers/scsi/fcoe/libfcoe.c
>> +++ b/drivers/scsi/fcoe/libfcoe.c
>> @@ -562,14 +562,27 @@ EXPORT_SYMBOL(fcoe_ctlr_els_send);
>>   * times its keep-alive period including fuzz.
>>   *
>>   * In addition, determine the time when an FCF selection can occur.
>> + *
>> + * Also, increment the MissDiscAdvCount when no advertisement is received
>> + * for the corresponding FCF for 1.5 * FKA_ADV_PERIOD (FC-BB-5 LESB).
>>   */
>>  static void fcoe_ctlr_age_fcfs(struct fcoe_ctlr *fip)
>>  {
>>      struct fcoe_fcf *fcf;
>>      struct fcoe_fcf *next;
>>      unsigned long sel_time = 0;
>> +    unsigned long mda_time = 0;
>>
>>      list_for_each_entry_safe(fcf, next, &fip->fcfs, list) {
>> +            mda_time = fcf->fka_period + (fcf->fka_period >> 1);
>> +            if (time_after(jiffies, fcf->time + mda_time)) {
>> +                    mod_timer(&fip->timer, jiffies + mda_time);
>> +                    fc_lport_get_stats(fip->lp)->MissDiscAdvCount++;
>> +                    printk(KERN_INFO "libfcoe: host%d: Missing Discovery "
>> +                           "Advertisement for fab %llx:count=%lld\n",
>> +                           fip->lp->host->host_no, fcf->fabric_name,
>> +                           fc_lport_get_stats(fip->lp)->MissDiscAdvCount);
>
>This should only be for the selected FCF.  There may be other FCFs that
>we're tracking but didn't select.
This is also not called out in the spec and I was hoping to get an answer in
the RFC. I also agree we only need to track the selected one

>
>I would prefer no colon after the %llx and no = after count.
Will fix this.


Thanks,
yi
>
>> +            }
>>              if (time_after(jiffies, fcf->time + fcf->fka_period * 3 +
>>                             msecs_to_jiffies(FIP_FCF_FUZZ * 3))) {
>>                      if (fip->sel_fcf == fcf)
>>
>> _______________________________________________
>> devel mailing list
>> [email protected]
>> http://www.open-fcoe.org/mailman/listinfo/devel

_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel

Reply via email to