Re: [PATCH net-next v7 4/5] net/x25: fix restart request/confirm handling

From: Martin Schiller
Date: Wed Dec 09 2020 - 04:42:58 EST


On 2020-12-09 10:17, Xie He wrote:
On Wed, Dec 9, 2020 at 1:01 AM Xie He <xie.he.0141@xxxxxxxxx> wrote:

On Wed, Nov 25, 2020 at 10:36 PM Martin Schiller <ms@xxxxxxxxxx> wrote:
>
> switch (nb->state) {
> case X25_LINK_STATE_0:
> - nb->state = X25_LINK_STATE_2;
> - break;
> case X25_LINK_STATE_1:
> x25_transmit_restart_request(nb);
> nb->state = X25_LINK_STATE_2;

What is the reason for this change? Originally only the connecting
side will transmit a Restart Request; the connected side will not and
will only wait for the Restart Request to come. Now both sides will
transmit Restart Requests at the same time. I think we should better
avoid collision situations like this.

Oh. I see. Because in other patches we are giving L2 the ability to
connect by itself, both sides can now appear here to be the
"connected" side. So we can't make the "connected" side wait as we did
before.

Right.
By the way: A "Restart Collision" is in practice a very common event to
establish the Layer 3.