cvs commit: src/sys/kern uipc_syscalls.c src/sys/netinet sctp.h sctp_asconf.c sctp_asconf.h sctp_auth.c sctp_constants.h sctp_indata.c sctp_input.c sctp_output.c sctp_output.h sctp_pcb.c sctp_pcb.h sctp_peeloff.c sctp_structs.h sctp_sysctl.c ...

Randall Stewart rrs at FreeBSD.org
Sun Aug 26 22:19:49 PDT 2007


rrs         2007-08-27 05:19:48 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             uipc_syscalls.c 
    sys/netinet          sctp.h sctp_asconf.c sctp_asconf.h 
                         sctp_auth.c sctp_constants.h 
                         sctp_indata.c sctp_input.c sctp_output.c 
                         sctp_output.h sctp_pcb.c sctp_pcb.h 
                         sctp_peeloff.c sctp_structs.h 
                         sctp_sysctl.c sctp_sysctl.h sctp_uio.h 
                         sctp_usrreq.c sctp_var.h sctputil.c 
    sys/netinet6         sctp6_usrreq.c 
  Log:
  - During shutdown pending, when the last sack came in and
    the last message on the send stream was "null" but still
    there, a state we allow, we could get hung and not clean
    it up and wait for the shutdown guard timer to clear the
    association without a graceful close. Fix this so that
    that we properly clean up.
  - Added support for Multiple ASCONF per new RFC. We only
    (so far) accept input of these and cannot yet generate
    a multi-asconf.
  - Sysctl'd support for experimental Fast Handover feature. Always
    disabled unless sysctl or socket option changes to enable.
  - Error case in add-ip where the peer supports AUTH and ADD-IP
    but does NOT require AUTH of ASCONF/ASCONF-ACK. We need to
    ABORT in this case.
  - According to the Kyoto summit of socket api developers
    (Solaris, Linux, BSD). We need to have:
     o non-eeor mode messages be atomic - Fixed
     o Allow implicit setup of an assoc in 1-2-1 model if
       using the sctp_**() send calls - Fixed
     o Get rid of HAVE_XXX declarations - Done
     o add a sctp_pr_policy in hole in sndrcvinfo structure - Done
     o add a PR_SCTP_POLICY_VALID type flag - yet to-do in a future patch!
  - Optimize sctp6 calls to reuse code in sctp_usrreq. Also optimize
    when we close sending out the data and disabling Nagle.
  - Change key concatenation order to match the auth RFC
  - When sending OOTB shutdown_complete always do csum.
  - Don't send PKT-DROP to a PKT-DROP
  - For abort chunks just always checksums same for
    shutdown-complete.
  - inpcb_free front state had a bug where in queue
    data could wedge an assoc. We need to just abandon
    ones in front states (free_assoc).
  - If a peer sends us a 64k abort, we would try to
    assemble a response packet which may be larger than
    64k. This then would be dropped by IP. Instead make
    a "minimum" size for us 64k-2k (we want at least
    2k for our initack). If we receive such an init
    discard it early without all the processing.
  - When we peel off we must increment the tcb ref count
    to keep it from being freed from underneath us.
  - handling fwd-tsn had bugs that caused memory overwrites
    when given faulty data, fixed so can't happen and we
    also stop at the first bad stream no.
  - Fixed so comm-up generates the adaption indication.
  - peeloff did not get the hmac params copied.
  - fix it so we lock the addr list when doing src-addr selection
    (in future we need to use a multi-reader/one writer lock here)
  - During lowlevel output, we could end up with a _l_addr set
    to null if the iterator is calling the output routine. This
    means we would possibly crash when we gather the MTU info.
    Fix so we only do the gather where we have a src address
    cached.
  - we need to be sure to set abort flag on conn state when
    we receive an abort.
  - peeloff could leak a socket. Moved code so the close will
    find the socket if the peeloff fails (uipc_syscalls.c)
  
  Approved by:    re at freebsd.org(Ken Smith)
  
  Revision  Changes    Path
  1.259     +5 -8      src/sys/kern/uipc_syscalls.c
  1.19      +12 -13    src/sys/netinet/sctp.h
  1.26      +158 -13   src/sys/netinet/sctp_asconf.c
  1.8       +1 -1      src/sys/netinet/sctp_asconf.h
  1.17      +64 -2     src/sys/netinet/sctp_auth.c
  1.27      +23 -3     src/sys/netinet/sctp_constants.h
  1.41      +85 -83    src/sys/netinet/sctp_indata.c
  1.58      +81 -43    src/sys/netinet/sctp_input.c
  1.51      +207 -94   src/sys/netinet/sctp_output.c
  1.10      +5 -2      src/sys/netinet/sctp_output.h
  1.54      +60 -17    src/sys/netinet/sctp_pcb.c
  1.29      +2 -0      src/sys/netinet/sctp_pcb.h
  1.15      +13 -1     src/sys/netinet/sctp_peeloff.c
  1.24      +14 -2     src/sys/netinet/sctp_structs.h
  1.14      +12 -0     src/sys/netinet/sctp_sysctl.c
  1.10      +23 -3     src/sys/netinet/sctp_sysctl.h
  1.26      +4 -0      src/sys/netinet/sctp_uio.h
  1.44      +6 -2      src/sys/netinet/sctp_usrreq.c
  1.18      +26 -19    src/sys/netinet/sctp_var.h
  1.57      +5 -16     src/sys/netinet/sctputil.c
  1.38      +25 -196   src/sys/netinet6/sctp6_usrreq.c


More information about the cvs-all mailing list