Re: [PATCH] sctp: fix the check for path failure detection

From: Luo Chunbo
Date: Mon Aug 24 2009 - 05:36:22 EST


On Mon, 2009-08-24 at 15:54 +0800, Wei Yongjun wrote:
> Luo Chunbo åé:
> > On Fri, 2009-08-21 at 17:47 -0400, Vlad Yasevich wrote:
> >
> >> Chunbo Luo wrote:
> >>
> >>> The transport is marked DOWN immediately after sending the max+1 HB,
> >>> which is equal to not sending the max+1 HB at all. We should wait
> >>> a next period and make sure the last HB is not acknowledged.
> >>>
> >>>
> >> I don't think this code does what you want either...
> >>
> >> Let's say path_max_rxt = 2. What we'll get is:
> >> timeout:
> >> err++ (1)
> >> if (err > 2) false
> >> send HB
> >> reset timer
> >> timeout:
> >> err++ (2)
> >> if (err > 2) false
> >> send HB
> >> reset timer
> >> timeout:
> >> err++ (3)
> >> if (err > 2)
> >> set transport DOWN
> >> send HB
> >> reset timer.
> >>
> >> We only had 2 unacknowledged HB when we should have had 3.
> >>
> >
> > The error count is increment after the HB was sent, and the error count
> > check is before sending HB.
> >
> > Let's say path_max_rxt =2 . What we really get is:
> >
> > timeout:
> > if( err > 2) false
> > send HB
> > err++ (1)
> > reset timer
> > timeout:
> > if( err > 2) false
> > send HB
> > err++ (2)
> > reset timer
> > timeout:
> > if( err > 2) false
> > send HB
> > err++ (3)
> > reset timer
> > timeout:
> > if( err > 2)
> > set transport DOWN
> > send HB
> > reset timer
> >
> > Here We had 3 unacknowledged HBs
>
>
> But with Vlad's advice, you just need to do little change to the kernel
> codes, may be two lines's patch, and it can do the same thing.


OK, I'll send a new patch later.


>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/