From owner-freebsd-net@FreeBSD.ORG Mon Dec 29 17:59:49 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B918A106566C for ; Mon, 29 Dec 2008 17:59:49 +0000 (UTC) (envelope-from Michael.Tuexen@lurchi.franken.de) Received: from mail-n.franken.de (drew.ipv6.franken.de [IPv6:2001:638:a02:a001:20e:cff:fe4a:feaa]) by mx1.freebsd.org (Postfix) with ESMTP id D1BC58FC1C for ; Mon, 29 Dec 2008 17:59:48 +0000 (UTC) (envelope-from Michael.Tuexen@lurchi.franken.de) Received: from [IPv6:2002:508f:e9a7::21e:c2ff:fe00:76c8] (unknown [IPv6:2002:508f:e9a7:0:21e:c2ff:fe00:76c8]) by mail-n.franken.de (Postfix) with ESMTP id 75D341C0B460C; Mon, 29 Dec 2008 18:59:45 +0100 (CET) Message-Id: <835C2156-9DE3-4C96-94F0-C7E3AF63A1BD@lurchi.franken.de> From: =?ISO-8859-1?Q?Michael_T=FCxen?= To: In-Reply-To: <3418F3471F1CA4409901547349FFAE2E091067E9@ftrdmel2> Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Apple Message framework v930.3) Date: Mon, 29 Dec 2008 18:59:43 +0100 References: <3418F3471F1CA4409901547349FFAE2E0910679F@ftrdmel2> <2C67145C-C26B-4666-B7A5-6EC1C4ABA1E5@lurchi.franken.de> <3418F3471F1CA4409901547349FFAE2E091067B8@ftrdmel2> <2C477D99-DB2F-4EDB-950F-23856B58ACAB@lurchi.franken.de> <3418F3471F1CA4409901547349FFAE2E091067E9@ftrdmel2> X-Mailer: Apple Mail (2.930.3) Cc: freebsd-net@freebsd.org, khadija.daoud@orange-ftgroup.com Subject: Re: SCTP : problems in sending ASCONF chunks X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Dec 2008 17:59:49 -0000 Hi Aman, comments in-line. Best regards Michael On Dec 29, 2008, at 6:12 PM, = wrote: > > Hello M.T=FCxen, > > I performed a quick test and at the INIT/INIT-ACK exchange, I =20 > noticed the following : > > - In the INIT chunk, the Supported Extensions Parameter field =20 > indicates that ASCONF, ASCONF-ACK, FORWARD-TSN, PKTDROP, =20 > 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 =20 > 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 =20 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 =20 > that T doesn't support ASCONF, ASCONF-ACK, FORWARD-TSN, PKTDROP, =20 > 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 =20 > Parameter field in the INIT-ACK, my PC doesn't try to send any =20 > ASCONF chunk ?? Do we absolutely need to have the ASCONF, ASCONF-ACK =20= > and AUTH parameters in the Supported Extensions Parameter, in both =20 > the INIT and the INIT-ACK chunks, to have the possibility of sending =20= > an ASCONF chunk ? In principle, yes! You can work around the AUTH chunks as indicated =20 above, but this violates the specification and is only supported to interwork with =20 legacy implementations. > > > > Kind regards > > > Aman Jassal > > > -----Message d'origine----- > De : Michael T=FCxen [mailto:Michael.Tuexen@lurchi.franken.de] > Envoy=E9 : lundi 29 d=E9cembre 2008 16:49 > =C0 : 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 =20= > at the INIT/INIT-ACK exchange, does the Linux box support ASCONF and =20= > the SCTP-AUTH extension? Both are required... > > Best regards > Michael > On Dec 29, 2008, at 2:36 PM, = > wrote: > >> >> Hello M.T=FCxen, >> >> No, only the PC is running under FreeBSD 7.0. T is running under =20 >> Linux >> (kernel version is 2.6.21 and the distribution used is Fedora Core =20= >> 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 =20= >> it >> is loaded at boot time. >> >> Also, I enable net.sctp.addip_enable=3D1 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=FCxen [mailto:Michael.Tuexen@lurchi.franken.de] >> Envoy=E9 : lundi 29 d=E9cembre 2008 14:09 >> =C0 : 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, = >> wrote: >> >>> Hi all, >>> >>> I have been working with SCTP and more specifically with the =20 >>> 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 =20 >>> 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=3D1 # sysctl -w >>> net.inet.sctp.mobility_fasthandoff=3D1 >>> # sysctl -w net.inet.sctp.debug=3D0x00f301f0 (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 delete ifconfig rum0 ssid >> target access point> route del -inet6 default 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 =20 >>> 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 =20= >>> 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 =20 >>> understanding >>> of the problem... >>> >>> I looked up in the CVS repository for answers, and to see the =20 >>> 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 =20 >>> 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 =20= >>> 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" >>> >> >> > >