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.

I would prefer no colon after the %llx and no = after count.

> +             }
>               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