1. 26 Jun, 2013 4 commits
    • Julian Anastasov's avatar
      ipvs: drop SCTP connections depending on state · acaac5d8
      Julian Anastasov authored
      Drop SCTP connections under load (dropentry context) depending
      on the protocol state, just like for TCP: INIT conns are
      dropped immediately, established are dropped randomly while
      connections in progress or shutdown are skipped.
      Signed-off-by: default avatarJulian Anastasov <ja@ssi.bg>
      Signed-off-by: default avatarSimon Horman <horms@verge.net.au>
      acaac5d8
    • Julian Anastasov's avatar
      ipvs: replace the SCTP state machine · 61e7c420
      Julian Anastasov authored
      Convert the SCTP state table, so that it is more readable.
      Change the states to be according to the diagram in RFC 2960
      and add more states suitable for middle box. Still, such
      change in states adds incompatibility if systems in sync
      setup include this change and others do not include it.
      
      With this change we also have proper transitions in INPUT-ONLY
      mode (DR/TUN) where we see packets only from client. Now
      we should not switch to 10-second CLOSED state at a time
      when we should stay in ESTABLISHED state.
      
      The short names for states are because we have 16-char space
      in ipvsadm and 11-char limit for the connection list format.
      It is a sequence of the TCP implementation where the longest
      state name is ESTABLISHED.
      Signed-off-by: default avatarJulian Anastasov <ja@ssi.bg>
      Signed-off-by: default avatarSimon Horman <horms@verge.net.au>
      61e7c420
    • Alexander Frolkin's avatar
      ipvs: sloppy TCP and SCTP · c6c96c18
      Alexander Frolkin authored
      This adds support for sloppy TCP and SCTP modes to IPVS.
      
      When enabled (sysctls net.ipv4.vs.sloppy_tcp and
      net.ipv4.vs.sloppy_sctp), allows IPVS to create connection state on any
      packet, not just a TCP SYN (or SCTP INIT).
      
      This allows connections to fail over from one IPVS director to another
      mid-flight.
      Signed-off-by: default avatarAlexander Frolkin <avf@eldamar.org.uk>
      Signed-off-by: default avatarJulian Anastasov <ja@ssi.bg>
      Signed-off-by: default avatarSimon Horman <horms@verge.net.au>
      c6c96c18
    • Julian Anastasov's avatar
      ipvs: provide iph to schedulers · bba54de5
      Julian Anastasov authored
      Before now the schedulers needed access only to IP
      addresses and it was easy to get them from skb by
      using ip_vs_fill_iph_addr_only.
      
      New changes for the SH scheduler will need the protocol
      and ports which is difficult to get from skb for the
      IPv6 case. As we have all the data in the iph structure,
      to avoid the same slow lookups provide the iph to schedulers.
      Signed-off-by: default avatarJulian Anastasov <ja@ssi.bg>
      Acked-by: default avatarHans Schillstrom <hans@schillstrom.com>
      Signed-off-by: default avatarSimon Horman <horms@verge.net.au>
      bba54de5
  2. 20 Jun, 2013 36 commits