HomeClusterLabs Projects

[sctp] port sctp to the new API and fix many issues

Description

[sctp] port sctp to the new API and fix many issues

  • use the new transport API
  • fix locking context around to avoid race conditions and deadlocking
  • fix shutdown code (segfaults and core dumps)
  • properly differentiate between connecting sockets and accepted sockets and better use of fd_tracker
  • abstract as much as possible socket management code from threads
  • add lots of comments and debugging messages around
  • simplify socket error management reported from RX thread
  • rework loop timers for connect_thread to avoid thread overload
  • reduce usage of _transport_addrtostr to one call and reuse link information around
  • improve error handling across the board
  • stop using data structs inside epolls and switch back to using fds this was necessary to avoid processing stale data from epolls and look up data from fd_tracket instead
  • add listener stop function
  • make functions safer to be called multiple times
  • probably more.. but can't remember
NOTE: this is not the most elegant code, but it seems to be doing its job fine.

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>

Details

Provenance
fabbioneAuthored on Jan 16 2017, 1:44 AM
Parents
rKd45f53389663: [heartbeat] reset PMTUd on link down to trigger a new PMTUd when link come back…
Branches
Unknown
Tags
Unknown

Event Timeline