GithubHelp home page GithubHelp logo

sctp-idata's People

Contributors

stewrtrs avatar tuexen avatar weinrank avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sctp-idata's Issues

Interleaving at the sender side.

Clarify the interleaving at the sender side. Interleaving ordered and unordered messages on the sender side is not allowed unless a new interleaving level is defined at the receiver side.

TSN assignment

Make clear that the receiver MUST NOT make any assumptions about TSN assignments. It should also be noted that the sender MUST ensure that the receiver can make progress. One way of doing this is to assign later fragments higher TSNs and send TSNs out in sequence.

Dependency of SS selection on I-DATA support

Describe what happens when an application tries to select an stream scheduler requiring I-DATA support, but this isn't negotiated. EINVAL might the appropriate errno.
Describe what happens if the application selects a stream scheduler requiring I-DATA support before the association is established (on a listening socket, for example), and then the association is established without I-DATA support (since the peer doesn't support it).

This issue was brought up by Marcelo on the tsvwg mailing list.

Code cleanup

Remove some_taken from struct sctp_queued_to_read. Double check if some other conditions needs to be considered.

Clarify MID in the API

Section 2.1 contains:

However, the lower 16-bit of the MID can be used as the SSN if necessary.

This should be moved to the Socket API Considerations making clear that the data structures exposing the SSN are not changed.

The SSN is exposed in

Clearify the usage of I-FORWARD-TSN

Make clear that either I-FORWARD-TSN or FORWARD-TSN is used. I-FORWARD-TSN is only used in combination with I-DATA. Make also clear how support for I-FORWARD-TSN is negotiated.

Late TSN assignment clarification

Replace

Since most schedulers require late TSN assignment, it should be noted
 that the implementation of [RFC6525] needs to handle this.

by

Since most schedulers, especially all schedulers supporting user message
interleaving, require late TSN assignment, it should be noted that the
implementation of [RFC6525] needs to handle this.

Section 4.3.1

I don't fully understand the description of assoc_id in section 4.3.1.

This parameter is ignored for one-to-one style sockets.
For one-to-many style sockets, this parameter indicates upon which association
the user is performing an action.

So far so good.

The special sctp_assoc_t SCTP_FUTURE_ASSOC can also be used,
it is an error to use SCTP_{CURRENT|ALL}_ASSOC in assoc_id.

  1. Why also if SCTP_CURRENT_ASSOC and SCTP_ALL_ASSOC are invalid? What does also refer to?
  2. If everything but SCTP_FUTURE_ASSOC is invalid, why not just state exactly that?
  3. The sentence could probably be split up into two.

(Let me know if I should write this on the mailing list.)

Crash in sctpd module

In sctp_choose_boundspecific_stcb
for (laddr = stcb->asoc.last_used_address; laddr;
laddr = LIST_NEXT(laddr, sctp_nxt_addr)) {
if (laddr->ifa == NULL) {
/* address has been removed /
continue;
}
if (laddr->action == SCTP_DEL_IP_ADDRESS) {
/
address is being deleted /
continue;
}
sifa = sctp_is_ifa_addr_preferred(laddr->ifa, dest_is_loop, dest_is_priv, fam);
if (sifa == NULL)
continue;
if (((non_asoc_addr_ok == 0) &&
(sctp_is_addr_restricted2(stcb, sifa))) ||
(non_asoc_addr_ok &&
(sctp_is_addr_restricted2(stcb, sifa)) &&
(!sctp_is_addr_pending(stcb, sifa)))) {
/
on the no-no list */
continue;
}
stcb->asoc.last_used_address = laddr;
SCTP_TCB_UNLOCK(stcb);
atomic_add_int(&sifa->refcount, 1);
return (sifa);
}
if (start_at_beginning == 0) {
stcb->asoc.last_used_address = NULL;
goto sctp_from_the_top;
}
My application was crashing when in this part of code, when try to change some config related to sctp in my application and the reloading it. I some times see multiple threads are in this part of code, however they belong to different sctp connections.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.