All of lore.kernel.org
 help / color / mirror / Atom feed
* SCTP Multihoming Heartbeat ACK Behavior
@ 2014-06-28 11:04 Winston V. Tizon
  2014-06-30  8:24 ` Daniel Borkmann
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Winston V. Tizon @ 2014-06-28 11:04 UTC (permalink / raw)
  To: linux-sctp

Hello everyone!

We are having some issues regarding SCTP multihoming
and we would like to ask your opinion on this matter. 
We have two RHEL6.4 (2.6.32-358.el6.x86_64, lksctp-tools
-1.0.10-5(64 bit)) machines connected by two L2 switch 
and a L3 switch (please see "Environment Setup" below). 
When we execute SCTP connection (using multihoming) between 
the two machines, the following behavior occurred:

      CLIENT           L2 and L3         SERVER      
Secondary Primary           |      Primary Secondary 
    |        |              |          |       |     
    |        |              |          |       |     
    |        |INIT-INIT_ACK |          |       |     
    |        |<-------------|--------->|       |     
    |        |COOKIE_ECHO-COOKIE_ACK   |       |     
    |        |              |          |       |     
    |        |<-------------|--------->|       |     
    |        |HB/HB_ACK     |          |       |     
    |        |              |          |       |     
    |<-------|--------------|----------|       |     
    |        |              |       HB |       |     
    |        |--------------|--------->|       |     
    |        |HB_ACK        |          |       |     
    |        |        :     |          |       |     
    |        |        :     |          |       |     

INIT/INIT_ACK handshake occurred in the primary 
path of both machines which is expected. When a 
Primary path sends HEARTBEAT to another Primary, 
HEARTBEAT_ACK was returned to the sender. But 
when a Primary path sends HEARTBEAT to a 
Secondary path, the HEARTBEAT_ACK chunk was sent 
by the Primary path. We expect that the 
HEARTBEAT_ACK would come from the Secondary.

[Questions]
1. Is this a normal behavior with regards to SCTP multihoming? 
2. Is the SCTP kernel module has something to do with this behavior? 
3. Is there a solution to force Client to use its Secondary path in 
   sending the HEARTBEAT_ACK chunk to Server's primary?

Environment Setup:

    CLIENT                        SERVER     
 172.168.39.91                172.168.40.93  
 +-----------+    +------+    +-----------+  
 |       eth0|----|  L2  |----|eth0       |  
 |           |    +------+    |           |  
 |           |       |        |           |  
 |           |  +----------+  |           |  
 |           |  |    L3    |  |           |  
 |           |  +----------+  |           |  
 |           |       |        |           |  
 |           |    +------+    |           |  
 |       eth1|----|  L2  |----|eth1       |  
 +-----------+    +------+    +-----------+  
 172.168.39.92                172.168.40.94  

Route Setup:

---------- CLIENT ----------
# ip rule show
0:	from all lookup local 
197:	from all to 172.168.39.91 lookup rt2 
198:	from 172.168.39.91 lookup rt2 
199:	from all to 172.168.39.92 lookup rt3 
200:	from 172.168.39.92 lookup rt3 
32766:	from all lookup main 
32767:	from all lookup default 

# ip route show table rt2
172.168.40.0/24 dev eth0  scope link  src 172.168.39.91 
172.168.39.0/24 dev eth0  scope link  src 172.168.39.91 

# ip route show table rt3
172.168.40.0/24 dev eth1  scope link  src 172.168.39.92 
172.168.39.0/24 dev eth1  scope link  src 172.168.39.92 

# ip route show table main
192.168.40.0/24 dev eth1  proto kernel  scope link  src 192.168.40.212 

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.40.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1

---------- SERVER ----------
# ip rule show
0:	from all lookup local 
197:	from all to 172.168.40.93 lookup rt2 
198:	from 172.168.40.93 lookup rt2 
199:	from all to 172.168.40.94 lookup rt3 
200:	from 172.168.40.94 lookup rt3 
32766:	from all lookup main 
32767:	from all lookup default 

# ip route show table rt2
172.168.40.0/24 dev eth0  scope link  src 172.168.40.93 
172.168.39.0/24 dev eth0  scope link  src 172.168.40.93 

# ip route show table rt3
172.168.40.0/24 dev eth1  scope link  src 172.168.40.94 
172.168.39.0/24 dev eth1  scope link  src 172.168.40.94 

# ip route show table main
192.168.40.0/24 dev eth1  proto kernel  scope link  src 192.168.40.127 

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.40.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1


We are hoping for your kind response and thank you in advance!

Wins


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-07-07 11:41 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-28 11:04 SCTP Multihoming Heartbeat ACK Behavior Winston V. Tizon
2014-06-30  8:24 ` Daniel Borkmann
2014-06-30  9:27 ` Daniel Borkmann
2014-06-30 12:30 ` Neil Horman
2014-07-01 11:20 ` Neil Horman
2014-07-01 11:38 ` Daniel Borkmann
2014-07-01 11:57 ` Michael Tuexen
2014-07-01 13:59 ` Jeff Carter
2014-07-06 20:19 ` Michael Tuexen
2014-07-07 11:41 ` Neil Horman

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.