-----Original Message-----
From: Andreas Jungmaier(ajung AT exp-math.uni-essen.de) [mailto:ajung AT exp-math.uni-essen.de]
Sent: Fri 6/13/2003 6:58 PM
To: Vinod C Joseph
Cc:
Subject: Re: [SCTP-Discussion] Best SCTP implementation for Embedded Linux-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1Hello Vinod (Joe ?),
you need to decide first, if you want a userland or kernel-implementation.
Naturally, kernel implementations are harder to debug, have some
potential for instabilities that may take your system down, and are generally
still considered to be for "developers".
Of these, you can choose mainly between linux (google for LKSCTP)
and BSD (see www.sctp.org or KAME). There may be more, but these are the
only free ones I know.On the other hand, you can use a userland implementation, and I know of
two mainly:
- - sctplib implementation. You can find the latest snapshots listed and
linked at
http://tdrwww.exp-math.uni-essen.de/inhalt/forschung/sctp_fb/sctp_links.html
SCTPLIB is maintained by me (mostly), and problems can be discussed on this
mailing list. With sctplib, you can use the fancy socketapi library, that
allows for having applications have a socket-like API, as described in
http://www.ietf.org/internet-drafts/draft-ietf-tsvwg-sctpsocket-06.txt
SCTPLIB has certain limitations, but is still quite actively maintained
(see my last postings).
- - There was a "reference" implementation written by Randy Stewart, (co-)author
of the RFC 2960 (==SCTP), which is a userland implementation.
You may be able to get it from his book (it's on a CD there) but I think
Randy is now working mainly (or only ?) on the FreeBSD kernel implementation.
This version ran on BSD, Linux, VxWorks and maybe other'sAnyway, you may be pleased to know that I had my userland library (SCTPLIB)
running on a Sharp Zaurus, and it compiled out of the box, after I had
set up a cross-compiler correctly. Have a look at the attached picture,
which shows the output from a connection between my laptop and the
Zaurus.As to the interface, you should use the socket api. That way, applications
should work unmodified (or slightly modified) on any SCTP implementation that
will support this API. We try to develop applications on the SCTPLIB/SOCKET-API
combination of libraries in userland, and later port these to native OSs (e.g.
FreeBSD, Linux with LKSCTP).As to pros and cons:
- - bugs in kernel implementations may take your system down, so you have to
reboot it. It may require frequent kernel updates to stay up-to-date.
- - bugs in userland-implementations require only update of the application.
However, it may not be possible to have more than one SCTP application in
userland on one machine, because of the (admittedly limited) way SCTPLIB
currently works: it opens a raw socket for getting all SCTP packets. If there
is more than one process (unaware of other processes on the same host), each one
of these will always think that a received packet is targeted for itself.
If it is targeted for the other process, the first one will do Out-of-the-Blue handling,
and may, e.g., send an ABORT, and thus terminate the other connection.
For opening raw sockets, you need to have proper privileges (i.e. be root)
If I were to implement this again, I would choose a global (i.e. unique on a host)
privileged process that would do:
- the dispatching (i.e. receiving, sending) of SCTP packets
- port (and maybe tag) management
- Out-of-the-blue-handling
- checksum insertion
and a separate, non-privileged protocol library that would need to reliably communicate via
unix domain sockets (or other reliable IPC) with the global process, and register/unregister
with this process.As to real-time performance, what do you have in mind ? The question is far
too general to reply to...Best regards,
AndreasOn Monday 09 June 2003 06:09, Vinod C Joseph wrote:
> Hi All
>
> I am a newbie to SCTP.
>
> Which according to your humble opinion is the best SCTP implementation for
> embedded linux ?
>
> Also, what are the pros and cons of each implementation ?
>
> I am very confused on the best means to develop the interface between the
> SCTP user application and the SCTP Layer for Embedded Linux. What factors
> should i consider for Real-Time Performance ?
>
> Thanks a lot for your response in advance.
>
> Vinod ( Joe )- --
Dipl.-Ing. Andreas Jungmaier
Computer Networking Technology Group
University of Duisburg-Essen
http://www.exp-math.uni-essen.de/~ajung
My PGP Key-ID: D3824AC0My PGP Key-Fingerprint: 228C 7C2C 3381 2DD4 9998 2812 5C0B 0B04 D382 4AC0
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)iD8DBQE+6aBIXAsLBNOCSsARAjuZAJ9/3ppiCf49hTKSmhElgZ+gn7sfTQCg7rKK
N+oUllZYVTF3tZVbaC5qwQg=
=w1wq
-----END PGP SIGNATURE-----
Archive powered by MHonArc 2.6.19+.