[ovs-dev] [cfm 2/3] cfm: Warn when delayed sending CCMs.

Ethan Jackson ethan at nicira.com
Wed Jun 20 23:46:53 UTC 2012


Thanks for turning around the review so quickly, I made the tweaks
mentioned below and will merge this.

Ethan

On Wed, Jun 20, 2012 at 4:39 PM, Ben Pfaff <blp at nicira.com> wrote:
> On Wed, Jun 20, 2012 at 04:25:08PM -0700, Ethan Jackson wrote:
>> We've recently seen problems where OVS can get delayed sending CCM
>> probes by several seconds.  This can cause tunnels to flap, and
>> generally wreak havoc.  It's easy to detect when this is happening,
>> so minimally, warning should be helpful to those debugging
>> problems.
>>
>> Signed-off-by: Ethan Jackson <ethan at nicira.com>
>
>> @@ -118,6 +118,7 @@ struct cfm {
>>                                   received. */
>>      int health_interval;      /* Number of fault_intervals since health was
>>                                   recomputed. */
>> +    long long int last_tx;    /* Last CCM transmission time. */
>>
>>  };
>
> Can we drop the extra blank line up there?
>
>> @@ -466,6 +468,16 @@ cfm_compose_ccm(struct cfm *cfm, struct ofpbuf *packet,
>>      if (hmap_is_empty(&cfm->remote_mps)) {
>>          ccm->flags |= CCM_RDI_MASK;
>>      }
>> +
>> +    if (cfm->last_tx) {
>
> There's a double space after "=":
>> +        long long int delay =  time_msec() - cfm->last_tx;
>> +        if (delay > (cfm->ccm_interval_ms * 3 / 2)) {
>
> "high" is a little funny for a duration, below.  Maybe "long" or even
> "unexpectedly long"?
>
>> +            VLOG_WARN("%s: high delay of %lldms (expected %dms) sending CCM"
>> +                      " seq %"PRIu32, cfm->name, delay, cfm->ccm_interval_ms,
>> +                      cfm->seq);
>> +        }
>> +    }
>> +    cfm->last_tx = time_msec();
>>  }
>
> Thanks!  This should be helpful.



More information about the dev mailing list