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>