We have succesfully ported siemens SCTP to vxWorks, but we made a number ofMichael.Tuexen AT micmac.franken.de
changes and ran across a few issues.
A guy on our team who did most of the porting is coming up with a list of
changes we made, plus a few issues we came up with if anybody is interested
in them.
Here is one issue that has more to do with the compiler than with the OS.
We are running all this on a G4 processor (PowerPC 7410), so we use the GNU
C compiler for PowerPC.
Here is a snippet of code:
if ((ExitCode = DLL_GetCurrentRecord(rbuf->frag_list, &frag)) !=
DLL_NORMAL)
DLL_error_log(ERROR_MAJOR, ExitCode);
----> frag.stop_tsn = frag.stop_tsn++;
event_logiii(VVERBOSE,
"Updating last fragment frag.start==%u, frag.stop==%u,
tsn=%u",
frag.start_tsn, frag.stop_tsn, ch_tsn);
ExitCode = DLL_UpdateCurrentRecord(rbuf->frag_list, &frag);
rbuf->new_chunk_received = TRUE;
return FALSE;
The line I marked above (from recvctrl.c, line 415) does different things
under Solaris GNU C compiler than it does under PowerPC GNU C compiler.
Under Solaris, it increments frag.stop_tsn. Under PowerPC it DOESNT
increment frag.stop_tsn.
I think the line is a bug in either case, but it just so happens to work
under Solaris.
Derek Opitz
Motorola Cellular Infrastructure
phone: 817-245-6703
pager:
2456703 AT skytel.com
_______________________________________________
discussion mailing list
discussion AT sctp.de
http://www.sctp.de/mailman/listinfo/discussion
Archive powered by MHonArc 2.6.19+.