Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 07 Jan 2009 10:09:15 -0500
From:      Vlad Yasevich <vladislav.yasevich@hp.com>
To:        "<ajassal.ext@orange-ftgroup.com>" <ajassal.ext@orange-ftgroup.com>
Cc:        Michael Tuexen <Michael.Tuexen@lurchi.franken.de>, khadija.daoud@orange-ftgroup.com, Randall Stewart <rrs@lakerest.net>, freebsd-net <freebsd-net@freebsd.org>
Subject:   Re: SCTP : problems in sending ASCONF chunks
Message-ID:  <4964C59B.7050106@hp.com>
In-Reply-To: <C5E998DB-9F14-4A0C-B287-325A727F9D9C@lakerest.net>
References:  <3418F3471F1CA4409901547349FFAE2E0910679F@ftrdmel2> <2C67145C-C26B-4666-B7A5-6EC1C4ABA1E5@lurchi.franken.de> <3418F3471F1CA4409901547349FFAE2E091067B8@ftrdmel2> <2C477D99-DB2F-4EDB-950F-23856B58ACAB@lurchi.franken.de> <3418F3471F1CA4409901547349FFAE2E091067E9@ftrdmel2> <835C2156-9DE3-4C96-94F0-C7E3AF63A1BD@lurchi.franken.de> <3418F3471F1CA4409901547349FFAE2E09106883@ftrdmel2> <C5E998DB-9F14-4A0C-B287-325A727F9D9C@lakerest.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Randall Stewart wrote:
> Aman:
> 
> You may also want to contact Vlad  (copied above) who is responsible
> for the lk-sctp implementation.. he may be able to direct you to
> the one that will have all his latest fixes..
> 
> Regards

To turn on support of ASCONF, you need to turn on at least 2
sysctl variables:
	net.sctp.auth_enable
	net.sctp.addip_enable

If one of your systems does not support AUTH extension, then
you need to turn on:
	net.sctp.addip_noauth_enable

There were issues in older kernels.  I'd advise using at least
a 2.6.25 kernel from kernel.org.

-vlad

> 
> R
> On Dec 30, 2008, at 10:59 AM, <ajassal.ext@orange-ftgroup.com>
> <ajassal.ext@orange-ftgroup.com> wrote:
> 
>>
>> Hello M.Tüxen,
>>
>> Today I switched T (the machine I use for testing, and that sends data
>> to my PC) to FreeBSD 7.0. And I was very glad to see that my SCTP hard
>> handover tests went through successfully :-)
>>
>> I am very grateful to you, for pointing out that I should check the
>> INIT - INIT-ACK exchange, because so far I really didn't understand
>> why my tests failed all the time.
>>
>> About lksctp : up until now, my problems were due to the fact that the
>> CN was running under Linux, with the lksctp implementation, and that
>> it didn't indicate in the INIT-ACK that it supports ASCONF, ASCONF-ACK
>> and AUTH chunks at least, even if we have set the parameter
>> net.sctp.addip_enable to 1. These are required for Dynamic Address
>> Reconfiguration according to the RFC and very likely in FreeBSD
>> implementation for sending ASCONF.
>>
>> I will perform tests between my PC running under FreeBSD and T running
>> on Fedora Core 9 to see if I have better results than what I've had so
>> far (since I was using Fedora Core 7). I will keep you updated :-)
>>
>> Again, thanks a LOT for the help you provided, I'm truly thankful for
>> this.
>>
>>
>> Aman Jassal
>>
>>
>>
>> -----Message d'origine-----
>> De : Michael Tüxen [mailto:Michael.Tuexen@lurchi.franken.de]
>> Envoyé : lundi 29 décembre 2008 19:00
>> À : zze-Abac JASSAL A ext RD-RESA-ISS
>> Cc : freebsd-net@freebsd.org; DAOUD TRIKI Khadija RD-RESA-ISS
>> Objet : Re: SCTP : problems in sending ASCONF chunks
>>
>> Hi Aman,
>>
>> comments in-line.
>>
>> Best regards
>> Michael
>>
>> On Dec 29, 2008, at 6:12 PM, <ajassal.ext@orange-ftgroup.com>
>> <ajassal.ext@orange-ftgroup.com  > wrote:
>>
>>>
>>> Hello M.Tüxen,
>>>
>>> I performed a quick test and at the INIT/INIT-ACK exchange, I noticed
>>> the following :
>>>
>>> - In the INIT chunk, the Supported Extensions Parameter field
>>> indicates that ASCONF, ASCONF-ACK, FORWARD-TSN, PKTDROP, STREAM_RESET
>>> and AUTH are supported
>> OK. That is the FreeBSD box.
>>>
>>> - In the INIT-ACK chunk, there is no field indicating that any of
>>> the chunks listed above are supported...
>> So it does not support ASCONF and AUTH.
>> At least on a Fedora 9 box you need to enable ADD-IP by setting the
>> sysctl variable
>> net.sctp.addip_enable
>> to 1.
>> To enable SCTP-AUTH you need to set the sysctl variable
>> net.sctp.auth_enable
>> to 1.
>> I'm not sure whether the Linux box support SCTP-AUTH or not... So the
>> second step might not work. If this is the case you can disable the
>> AUTH requirement for ASCONF chunks by setting on the FreeBSD box the
>> sysctl
>> variable
>> net.inet.sctp.asconf_auth_nochk
>> to 1
>>
>> Let me know if this works...
>>>
>>>
>>> I didn't think about looking in this before >_<
>>>
>>> Since there is no indication given to my PC, perhaps my PC assumes
>>> that T doesn't support ASCONF, ASCONF-ACK, FORWARD-TSN, PKTDROP,
>>> STREAM_RESET and AUTH.
>> Correct. At least some of the extension are not enabled.
>>>
>>>
>>> Could it be that, because it doesn't see any Supported Extensions
>>> Parameter field in the INIT-ACK, my PC doesn't try to send any
>>> ASCONF chunk ?? Do we absolutely need to have the ASCONF, ASCONF-ACK
>>> and AUTH parameters in the Supported Extensions Parameter, in both
>>> the INIT and the INIT-ACK chunks, to have the possibility of sending
>>> an ASCONF chunk ?
>> In principle, yes! You can work around the AUTH chunks as indicated
>> above, but this
>> violates the specification and is only supported to interwork with
>> legacy implementations.
>>>
>>>
>>>
>>> Kind regards
>>>
>>>
>>> Aman Jassal
>>>
>>>
>>> -----Message d'origine-----
>>> De : Michael Tüxen [mailto:Michael.Tuexen@lurchi.franken.de]
>>> Envoyé : lundi 29 décembre 2008 16:49
>>> À : zze-Abac JASSAL A ext RD-RESA-ISS
>>> Cc : freebsd-net@freebsd.org; DAOUD TRIKI Khadija RD-RESA-ISS
>>> Objet : Re: SCTP : problems in sending ASCONF chunks
>>>
>>> Hi Aman,
>>>
>>> I'm not that familiar with the Linux box configuration. If you look
>>> at the INIT/INIT-ACK exchange, does the Linux box support ASCONF and
>>> the SCTP-AUTH extension? Both are required...
>>>
>>> Best regards
>>> Michael
>>> On Dec 29, 2008, at 2:36 PM, <ajassal.ext@orange-ftgroup.com>
>>> <ajassal.ext@orange-ftgroup.com
>>>> wrote:
>>>
>>>>
>>>> Hello M.Tüxen,
>>>>
>>>> No, only the PC is running under FreeBSD 7.0. T is running under
>>>> Linux
>>>> (kernel version is 2.6.21 and the distribution used is Fedora Core
>>>> 7).
>>>> SCTP is running on T thanks to the lksctp implementation, we loaded
>>>> the sctp module on it and made the necessary configurations so that
>>>> it
>>>> is loaded at boot time.
>>>>
>>>> Also, I enable net.sctp.addip_enable=1 on T, just in case, I'm not
>>>> exactly sure if it has an effect on my tests.
>>>>
>>>> Kind regards
>>>>
>>>>
>>>> Aman Jassal
>>>>
>>>> -----Message d'origine-----
>>>> De : Michael Tüxen [mailto:Michael.Tuexen@lurchi.franken.de]
>>>> Envoyé : lundi 29 décembre 2008 14:09
>>>> À : zze-Abac JASSAL A ext RD-RESA-ISS
>>>> Cc : freebsd-net@freebsd.org; DAOUD TRIKI Khadija RD-RESA-ISS Objet :
>>>> Re: SCTP : problems in sending ASCONF chunks
>>>>
>>>> Hi,
>>>>
>>>> are both machines (T and you PC) running FreeBSD?
>>>>
>>>> Best regards
>>>> Michael
>>>>
>>>> On Dec 29, 2008, at 12:33 PM, <ajassal.ext@orange-ftgroup.com>
>>>> <ajassal.ext@orange-ftgroup.com
>>>>> wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> I have been working with SCTP and more specifically with the
>>>>> mobility
>>>>> features of SCTP at my work. Basically, I have been trying to use
>>>>> SCTP to perform handover tests between 2 separate Wifi networks. I
>>>>> use
>>>>> IPv6
>>>>> for all my tests.
>>>>>
>>>>> I have a local LAN (wired-network), on which I have 3 machines, one
>>>>> of them is the machine I use to communicate with for the tests (I'll
>>>>> call it T to make things simple), and the other two are used as Wifi
>>>>> Access Points (say Wifi1 and Wifi2 respectively). Since I work with
>>>>> IPv6, I set up both Access Points to send Router Advertisement
>>>>> messages periodically (minimum of 3 seconds, maximum of 4 seconds).
>>>>> That way I can have automatic address reconfiguration when I connect
>>>>> to either of the access points.
>>>>>
>>>>> The aim of my tests is to use a PC, connect to Wifi1 (for example),
>>>>> launch an SCTP association with T (T sends data to my PC), and then
>>>>> perform a handover on Wifi2. I do make address reconfiguration
>>>>> during
>>>>> the handover process. The important point is that I work with only
>>>>> ONE address on my network interface. Before I start my tests, I set
>>>>> the following sysctl parameters :
>>>>>
>>>>> # sysctl -w net.inet.sctp.mobility_base=1 # sysctl -w
>>>>> net.inet.sctp.mobility_fasthandoff=1
>>>>> # sysctl -w net.inet.sctp.debug=0x00f301f0        (that is to dump
>>>>> messages in /var/log/messages)
>>>>>
>>>>> net.inet.sctp.auto_asconf is set to 1 by default.
>>>>>
>>>>> I use FreeBSD 7.0 on my PC, I don't know if that is extremely useful
>>>>> but I'm trying to be thorough. This is the script I use to perform
>>>>> handover
>>>>> :
>>>>>
>>>>> ifconfig rum0 inet6 <my old address> delete ifconfig rum0 ssid <the
>>>>> target access point> route del -inet6 default <my old gateway> rtsol
>>>>> rum0
>>>>>
>>>>> If I'm not mistaken, the PC should have sent an ASCONF chunk to
>>>>> perform dynamic address reconfiguration. However what I observed is
>>>>> that nothing happens. No ASCONF chunks are sent, and therefore, T
>>>>> doesn't ever know that it should send data on the PC's newly
>>>>> acquired
>>>>> address.
>>>>>
>>>>> I tried to investigate the problem myself, by adding some debug logs
>>>>> in the sctp source code (to see which functions are called during
>>>>> the
>>>>> handover process), and it seems as if the kernel doesn't ever add an
>>>>> ASCONF chunk to send in its queue... But that's just my
>>>>> understanding
>>>>> of the problem...
>>>>>
>>>>> I looked up in the CVS repository for answers, and to see the
>>>>> various
>>>>> changes that were gradually brought on the code. There, I noticed
>>>>> that on the revision dating 24th July 2007, changes were made for
>>>>> dynamic address reconfiguration : "Change behaviour so that when the
>>>>> last address is deleted (auto-asconf on a boudall endpoint) no
>>>>> action
>>>>> is taken until an address is added ; at that time an ASCONF
>>>>> add+delete is sent (if the asoc is still up)"
>>>>>
>>>>> In my humble opinion, this is exactly the case that corresponds to
>>>>> my
>>>>> handover scenario. But I just haven't been able to successfully
>>>>> perform it because I don't seem to send any ASCONF chunk. I'm
>>>>> struggling to understand why I do not see any ASCONF chunk sent.
>>>>>
>>>>> If it can help, I'm also attaching links to the kind of debug logs I
>>>>> got when performing a handover test. This is the kind of debug logs
>>>>> that I got :
>>>>>
>>>>> http://www.divshare.com/download/6200509-560
>>>>>
>>>>> This is another debug logfile, but with my own debug logs added in
>>>>> the sctp source code :
>>>>>
>>>>> http://www.divshare.com/download/6200504-2e9
>>>>>
>>>>>
>>>>> Many thanks for your work, and I hope someone will be able to help
>>>>> and shed some light on this problem :-)
>>>>>
>>>>>
>>>>> Aman Jassal
>>>>>
>>>>> _______________________________________________
>>>>> freebsd-net@freebsd.org mailing list
>>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>>>>> To unsubscribe, send any mail to "freebsd-net-
>>>>> unsubscribe@freebsd.org"
>>>>>
>>>>
>>>>
>>>
>>>
>>
>> _______________________________________________
>> freebsd-net@freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
>>
> 
> ------------------------------
> Randall Stewart
> 803-317-4952 (cell)
> 803-345-0391(direct)
> 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4964C59B.7050106>