All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vlad Yasevich <vyasevich@gmail.com>
To: Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
Cc: David Laight <David.Laight@ACULAB.COM>,
	Sun Paul <paulrbk@gmail.com>,
	netdev@vger.kernel.org, linux-sctp@vger.kernel.org,
	Karl Heiss <kheiss@gmail.com>,
	Neil Horman <nhorman@tuxdriver.com>,
	linux-kernel@vger.kernel.org
Subject: Re: Supporting 4 way connections in LKSCTP
Date: Wed, 04 Dec 2013 16:12:34 +0000	[thread overview]
Message-ID: <529F5472.9030207@gmail.com> (raw)
In-Reply-To: <7A4B9BD9-B2BF-4625-A2E5-500CD4A6D399@lurchi.franken.de>

On 12/04/2013 11:01 AM, Michael Tuexen wrote:
> On Dec 4, 2013, at 4:41 PM, Vlad Yasevich <vyasevich@gmail.com> wrote:
> 
>> On 12/04/2013 09:50 AM, David Laight wrote:
>>>>> In normal operation, IP-A sends INIT to IP-X, IP-X returns INIT_ACK to
>>>>> IP-A. IP-A then sends HB to IP-X, IP-X then returns HB_ACK to IP-A. In
>>>>> the meantime, IP-B sends HB to IP-Y and IPY returns HB_ACK.
>>>>>
>>>>> In case of the path between IP-A and IP-X is broken, IP-B sends INIT
>>>>> to IP-X, NODE-B uses IP-Y to return INIT_ACK to IP-B. Then IP-B sends
>>>>> HB to IP-X, and IP-Y returns HB_ACK to IP-B. In the meantime, the HB
>>>>> communication between IP-B and IP-Y follows the normal flow.
>>>>>
>>>>> Can I confirm, is it really valid?
>>>>
>>>> As long as NODE-B knows about both IP-A and IP-B, and NODE-A knows about
>>>> both IP-X and IP-Y (meaning all the addresses were exchanged inside INIT
>>>> and INIT-ACK), then this situation is perfectly valid.  In fact, this
>>>> has been tested an multiple interops.
>>>
>>> There are some network configurations that do cause problems.
>>> Consider 4 systems with 3 LAN segments:
>>> A) 10.10.10.1 on LAN X and 192.168.1.1 on LAN Y.
>>> B) 10.10.10.2 on LAN X and 192.168.1.2 on LAN Y.
>>> C) 10.10.10.3 on LAN X.
>>> D) 10.10.10.4 on LAN X and 192.168.1.2 on LAN Z.
>>> There are no routers between the networks (and none of the systems
>>> are running IP forwarding).
>>>
>>> If A connects to B everything is fine - traffic can use either LAN.
>>>
>>> Connections from A to C are problematic if C tries to send anything
>>> (except a HB) to 192.168.1.1 before receiving a HB response.
>>> One of the SCTP stacks we've used did send messages to an
>>> inappropriate address, but I've forgotten which one.
>>
>> I guess that would be problematic if A can not receive traffic for
>> 192.168.1.1 on the interface connected to LAN X.  I shouldn't
>> technically be a problem for C as it should mark the path to 192.168.1.1
>> as down.  For A, as long as it doesn't decide to ABORT the association,
>> it shouldn't be a problem either.  It would be interesting to know more
>> about what problems you've observed.
>>
>>>
>>> Connections between A and D fail unless the HB errors A receives
>>> for 192.168.1.2 are ignored.
>>
>> Yes, this configuration is very error prone, especially if system B and
>> system D are up at the same time.  Any attempts by system A to use
>> LAN Y will result in an ABORT generated by system B.  I have seen
>> this issue well in production and we had to renumber system D to solve
>> it.
> The point is that address scoping should be used. When sending an
> INIT from 10.10.10.1 to 10.10.10.4 you should not list 192.168.1.1,
> since you are transmitting an address to a node which might or might
> not "be in the same scope". We had IDs for that in the past, but
> they never made it to RFC state, because they were not progressed enough
> by the authors. Maybe we should push them again...

But these 2 are technically in the same scope.  They are both private
address types.  Also, this will not solve the problem either since
the configured addresses could be:
System A) 10.0.0.1 on Lan X, 10.10.0.1 on Lan Y
System B) 10.0.0.2 on Lan X, 10.10.0.2 on Lan Y
System C) 10.0.0.3 on Lan X, 10.10.0.2 on Lan Z

Same problem will occur.

Btw, were there any IDs other then draft-stewart-tsvwg-sctp-ipv4?

Thanks
-vlad

> 
> Best regards
> Michael
>>
>> -vlad
>>>
>>> Of course the application could explicitly bind to only the 10.x address
>>> but that requires the application know the exact network topology
>>> and may be difficult for incoming calls.
>>>
>>> 	David
>>>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-sctp" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
> 


WARNING: multiple messages have this Message-ID (diff)
From: Vlad Yasevich <vyasevich@gmail.com>
To: Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
Cc: David Laight <David.Laight@ACULAB.COM>,
	Sun Paul <paulrbk@gmail.com>,
	netdev@vger.kernel.org, linux-sctp@vger.kernel.org,
	Karl Heiss <kheiss@gmail.com>,
	Neil Horman <nhorman@tuxdriver.com>,
	linux-kernel@vger.kernel.org
Subject: Re: Supporting 4 way connections in LKSCTP
Date: Wed, 04 Dec 2013 11:12:34 -0500	[thread overview]
Message-ID: <529F5472.9030207@gmail.com> (raw)
In-Reply-To: <7A4B9BD9-B2BF-4625-A2E5-500CD4A6D399@lurchi.franken.de>

On 12/04/2013 11:01 AM, Michael Tuexen wrote:
> On Dec 4, 2013, at 4:41 PM, Vlad Yasevich <vyasevich@gmail.com> wrote:
> 
>> On 12/04/2013 09:50 AM, David Laight wrote:
>>>>> In normal operation, IP-A sends INIT to IP-X, IP-X returns INIT_ACK to
>>>>> IP-A. IP-A then sends HB to IP-X, IP-X then returns HB_ACK to IP-A. In
>>>>> the meantime, IP-B sends HB to IP-Y and IPY returns HB_ACK.
>>>>>
>>>>> In case of the path between IP-A and IP-X is broken, IP-B sends INIT
>>>>> to IP-X, NODE-B uses IP-Y to return INIT_ACK to IP-B. Then IP-B sends
>>>>> HB to IP-X, and IP-Y returns HB_ACK to IP-B. In the meantime, the HB
>>>>> communication between IP-B and IP-Y follows the normal flow.
>>>>>
>>>>> Can I confirm, is it really valid?
>>>>
>>>> As long as NODE-B knows about both IP-A and IP-B, and NODE-A knows about
>>>> both IP-X and IP-Y (meaning all the addresses were exchanged inside INIT
>>>> and INIT-ACK), then this situation is perfectly valid.  In fact, this
>>>> has been tested an multiple interops.
>>>
>>> There are some network configurations that do cause problems.
>>> Consider 4 systems with 3 LAN segments:
>>> A) 10.10.10.1 on LAN X and 192.168.1.1 on LAN Y.
>>> B) 10.10.10.2 on LAN X and 192.168.1.2 on LAN Y.
>>> C) 10.10.10.3 on LAN X.
>>> D) 10.10.10.4 on LAN X and 192.168.1.2 on LAN Z.
>>> There are no routers between the networks (and none of the systems
>>> are running IP forwarding).
>>>
>>> If A connects to B everything is fine - traffic can use either LAN.
>>>
>>> Connections from A to C are problematic if C tries to send anything
>>> (except a HB) to 192.168.1.1 before receiving a HB response.
>>> One of the SCTP stacks we've used did send messages to an
>>> inappropriate address, but I've forgotten which one.
>>
>> I guess that would be problematic if A can not receive traffic for
>> 192.168.1.1 on the interface connected to LAN X.  I shouldn't
>> technically be a problem for C as it should mark the path to 192.168.1.1
>> as down.  For A, as long as it doesn't decide to ABORT the association,
>> it shouldn't be a problem either.  It would be interesting to know more
>> about what problems you've observed.
>>
>>>
>>> Connections between A and D fail unless the HB errors A receives
>>> for 192.168.1.2 are ignored.
>>
>> Yes, this configuration is very error prone, especially if system B and
>> system D are up at the same time.  Any attempts by system A to use
>> LAN Y will result in an ABORT generated by system B.  I have seen
>> this issue well in production and we had to renumber system D to solve
>> it.
> The point is that address scoping should be used. When sending an
> INIT from 10.10.10.1 to 10.10.10.4 you should not list 192.168.1.1,
> since you are transmitting an address to a node which might or might
> not "be in the same scope". We had IDs for that in the past, but
> they never made it to RFC state, because they were not progressed enough
> by the authors. Maybe we should push them again...

But these 2 are technically in the same scope.  They are both private
address types.  Also, this will not solve the problem either since
the configured addresses could be:
System A) 10.0.0.1 on Lan X, 10.10.0.1 on Lan Y
System B) 10.0.0.2 on Lan X, 10.10.0.2 on Lan Y
System C) 10.0.0.3 on Lan X, 10.10.0.2 on Lan Z

Same problem will occur.

Btw, were there any IDs other then draft-stewart-tsvwg-sctp-ipv4?

Thanks
-vlad

> 
> Best regards
> Michael
>>
>> -vlad
>>>
>>> Of course the application could explicitly bind to only the 10.x address
>>> but that requires the application know the exact network topology
>>> and may be difficult for incoming calls.
>>>
>>> 	David
>>>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-sctp" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
> 


WARNING: multiple messages have this Message-ID (diff)
From: Vlad Yasevich <vyasevich@gmail.com>
To: Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
Cc: David Laight <David.Laight@ACULAB.COM>,
	Sun Paul <paulrbk@gmail.com>,
	netdev@vger.kernel.org, linux-sctp@vger.kernel.org,
	Karl Heiss <kheiss@gmail.com>,
	Neil Horman <nhorman@tuxdriver.com>,
	linux-kernel@vger.kernel.org
Subject: Re: Supporting 4 way connections in LKSCTP
Date: Wed, 04 Dec 2013 11:12:34 -0500	[thread overview]
Message-ID: <529F5472.9030207@gmail.com> (raw)
In-Reply-To: <7A4B9BD9-B2BF-4625-A2E5-500CD4A6D399@lurchi.franken.de>

On 12/04/2013 11:01 AM, Michael Tuexen wrote:
> On Dec 4, 2013, at 4:41 PM, Vlad Yasevich <vyasevich@gmail.com> wrote:
> 
>> On 12/04/2013 09:50 AM, David Laight wrote:
>>>>> In normal operation, IP-A sends INIT to IP-X, IP-X returns INIT_ACK to
>>>>> IP-A. IP-A then sends HB to IP-X, IP-X then returns HB_ACK to IP-A. In
>>>>> the meantime, IP-B sends HB to IP-Y and IPY returns HB_ACK.
>>>>>
>>>>> In case of the path between IP-A and IP-X is broken, IP-B sends INIT
>>>>> to IP-X, NODE-B uses IP-Y to return INIT_ACK to IP-B. Then IP-B sends
>>>>> HB to IP-X, and IP-Y returns HB_ACK to IP-B. In the meantime, the HB
>>>>> communication between IP-B and IP-Y follows the normal flow.
>>>>>
>>>>> Can I confirm, is it really valid?
>>>>
>>>> As long as NODE-B knows about both IP-A and IP-B, and NODE-A knows about
>>>> both IP-X and IP-Y (meaning all the addresses were exchanged inside INIT
>>>> and INIT-ACK), then this situation is perfectly valid.  In fact, this
>>>> has been tested an multiple interops.
>>>
>>> There are some network configurations that do cause problems.
>>> Consider 4 systems with 3 LAN segments:
>>> A) 10.10.10.1 on LAN X and 192.168.1.1 on LAN Y.
>>> B) 10.10.10.2 on LAN X and 192.168.1.2 on LAN Y.
>>> C) 10.10.10.3 on LAN X.
>>> D) 10.10.10.4 on LAN X and 192.168.1.2 on LAN Z.
>>> There are no routers between the networks (and none of the systems
>>> are running IP forwarding).
>>>
>>> If A connects to B everything is fine - traffic can use either LAN.
>>>
>>> Connections from A to C are problematic if C tries to send anything
>>> (except a HB) to 192.168.1.1 before receiving a HB response.
>>> One of the SCTP stacks we've used did send messages to an
>>> inappropriate address, but I've forgotten which one.
>>
>> I guess that would be problematic if A can not receive traffic for
>> 192.168.1.1 on the interface connected to LAN X.  I shouldn't
>> technically be a problem for C as it should mark the path to 192.168.1.1
>> as down.  For A, as long as it doesn't decide to ABORT the association,
>> it shouldn't be a problem either.  It would be interesting to know more
>> about what problems you've observed.
>>
>>>
>>> Connections between A and D fail unless the HB errors A receives
>>> for 192.168.1.2 are ignored.
>>
>> Yes, this configuration is very error prone, especially if system B and
>> system D are up at the same time.  Any attempts by system A to use
>> LAN Y will result in an ABORT generated by system B.  I have seen
>> this issue well in production and we had to renumber system D to solve
>> it.
> The point is that address scoping should be used. When sending an
> INIT from 10.10.10.1 to 10.10.10.4 you should not list 192.168.1.1,
> since you are transmitting an address to a node which might or might
> not "be in the same scope". We had IDs for that in the past, but
> they never made it to RFC state, because they were not progressed enough
> by the authors. Maybe we should push them again...

But these 2 are technically in the same scope.  They are both private
address types.  Also, this will not solve the problem either since
the configured addresses could be:
System A) 10.0.0.1 on Lan X, 10.10.0.1 on Lan Y
System B) 10.0.0.2 on Lan X, 10.10.0.2 on Lan Y
System C) 10.0.0.3 on Lan X, 10.10.0.2 on Lan Z

Same problem will occur.

Btw, were there any IDs other then draft-stewart-tsvwg-sctp-ipv4?

Thanks
-vlad

> 
> Best regards
> Michael
>>
>> -vlad
>>>
>>> Of course the application could explicitly bind to only the 10.x address
>>> but that requires the application know the exact network topology
>>> and may be difficult for incoming calls.
>>>
>>> 	David
>>>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-sctp" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
> 

  reply	other threads:[~2013-12-04 16:12 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-25  4:39 Supporting 4 way connections in LKSCTP Sun Paul
2013-11-26  1:03 ` Sun Paul
2013-11-26  1:03   ` Sun Paul
2013-11-26 15:19   ` Vlad Yasevich
2013-11-26 15:19     ` Vlad Yasevich
     [not found]     ` <CAFXGftLsKm9a5bmXX4Fe+rnSvYVdBDOyYGwisRP7XMu+ky=DGw@mail.gmail.com>
2013-11-26 23:10       ` Sun Paul
2013-11-26 23:10         ` Sun Paul
2013-11-27 12:45         ` Neil Horman
2013-11-27 12:45           ` Neil Horman
2013-11-28  4:03           ` Sun Paul
2013-11-28  4:03             ` Sun Paul
2013-12-02 14:38             ` Vlad Yasevich
2013-12-02 14:38               ` Vlad Yasevich
2013-12-02 15:45               ` Karl Heiss
2013-12-02 15:45                 ` Karl Heiss
2013-12-02 16:42                 ` Vlad Yasevich
2013-12-02 16:42                   ` Vlad Yasevich
2013-12-02 17:10                   ` Karl Heiss
2013-12-02 17:10                     ` Karl Heiss
2013-12-03  1:31                   ` Sun Paul
2013-12-03  1:31                     ` Sun Paul
2013-12-03  1:39                     ` Sun Paul
2013-12-03  1:39                       ` Sun Paul
2013-12-03  2:03                       ` Vlad Yasevich
2013-12-03  2:03                         ` Vlad Yasevich
2013-12-03  2:19                         ` Sun Paul
2013-12-03  2:19                           ` Sun Paul
2013-12-03 12:32                           ` Vlad Yasevich
2013-12-03 12:32                             ` Vlad Yasevich
     [not found]                             ` <CAFXGftK5tz90OzObiV7Hi+g080j3zWCNdo217CKdNkOY4JWQUg@mail.gmail.com>
2013-12-03 15:22                               ` Vlad Yasevich
2013-12-03 15:22                                 ` Vlad Yasevich
2013-12-03 15:22                                 ` Vlad Yasevich
2013-12-04  1:59                                 ` Sun Paul
2013-12-04  1:59                                   ` Sun Paul
2013-12-04 14:16                                   ` Vlad Yasevich
2013-12-04 14:16                                     ` Vlad Yasevich
2013-12-04 14:16                                     ` Vlad Yasevich
2013-12-04 14:50                                     ` David Laight
2013-12-04 14:50                                       ` David Laight
2013-12-04 14:50                                       ` David Laight
2013-12-04 15:41                                       ` Vlad Yasevich
2013-12-04 15:41                                         ` Vlad Yasevich
2013-12-04 16:01                                         ` Michael Tuexen
2013-12-04 16:01                                           ` Michael Tuexen
2013-12-04 16:12                                           ` Vlad Yasevich [this message]
2013-12-04 16:12                                             ` Vlad Yasevich
2013-12-04 16:12                                             ` Vlad Yasevich
2013-12-04 16:25                                             ` Michael Tuexen
2013-12-04 16:25                                               ` Michael Tuexen
2013-12-04 16:25                                               ` Michael Tuexen
2013-12-04 18:23                                               ` Vlad Yasevich
2013-12-04 18:23                                                 ` Vlad Yasevich
2013-12-04 18:23                                                 ` Vlad Yasevich
2013-12-04 19:39                                                 ` Michael Tuexen
2013-12-04 19:39                                                   ` Michael Tuexen
2013-12-04 19:39                                                   ` Michael Tuexen
2013-12-05  9:35                                                 ` David Laight
2013-12-05  9:35                                                   ` David Laight
2013-12-05  9:35                                                   ` David Laight
2013-12-05 13:07                                                   ` Michael Tuexen
2013-12-05 13:07                                                     ` Michael Tuexen
2013-12-05 13:07                                                     ` Michael Tuexen
2013-12-04 16:48                                             ` David Laight
2013-12-04 16:48                                               ` David Laight
2013-12-04 16:48                                               ` David Laight
2013-12-04 17:06                                               ` Michael Tuexen
2013-12-04 17:06                                                 ` Michael Tuexen
2013-12-04 17:06                                                 ` Michael Tuexen
2013-12-04 16:12                                         ` David Laight
2013-12-04 16:12                                           ` David Laight
2013-12-04 16:12                                           ` David Laight
     [not found]                                       ` <CAFXGftJsVzR8XgdEmcRKP8DePZoF+xGbaeS-RPgr2XNo7snF3g@mail.gmail.com>
2013-12-04 18:15                                         ` Vlad Yasevich
2013-12-04 18:15                                           ` Vlad Yasevich
2013-12-04 18:15                                           ` Vlad Yasevich
2013-12-03  2:02                     ` Vlad Yasevich
2013-12-03  2:02                       ` Vlad Yasevich
2013-12-03  2:21                       ` Sun Paul
2013-12-03  2:21                         ` Sun Paul
2013-12-06  2:12   ` Sun Paul
2013-12-06  2:12     ` Sun Paul

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=529F5472.9030207@gmail.com \
    --to=vyasevich@gmail.com \
    --cc=David.Laight@ACULAB.COM \
    --cc=Michael.Tuexen@lurchi.franken.de \
    --cc=kheiss@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sctp@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=nhorman@tuxdriver.com \
    --cc=paulrbk@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.