1. 09 Jun, 2012 3 commits
    • David S. Miller's avatar
      [PATCH] tcp: Cache inetpeer in timewait socket, and only when necessary. · 2397849b
      David S. Miller authored
      Since it's guarenteed that we will access the inetpeer if we're trying
      to do timewait recycling and TCP options were enabled on the
      connection, just cache the peer in the timewait socket.
      
      In the future, inetpeer lookups will be context dependent (per routing
      realm), and this helps facilitate that as well.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2397849b
    • David S. Miller's avatar
      tcp: Get rid of inetpeer special cases. · 4670fd81
      David S. Miller authored
      The get_peer method TCP uses is full of special cases that make no
      sense accommodating, and it also gets in the way of doing more
      reasonable things here.
      
      First of all, if the socket doesn't have a usable cached route, there
      is no sense in trying to optimize timewait recycling.
      
      Likewise for the case where we have IP options, such as SRR enabled,
      that make the IP header destination address (and thus the destination
      address of the route key) differ from that of the connection's
      destination address.
      
      Just return a NULL peer in these cases, and thus we're also able to
      get rid of the clumsy inetpeer release logic.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4670fd81
    • David S. Miller's avatar
      inet: Create and use rt{,6}_get_peer_create(). · fbfe95a4
      David S. Miller authored
      There's a lot of places that open-code rt{,6}_get_peer() only because
      they want to set 'create' to one.  So add an rt{,6}_get_peer_create()
      for their sake.
      
      There were also a few spots open-coding plain rt{,6}_get_peer() and
      those are transformed here as well.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fbfe95a4
  2. 08 Jun, 2012 3 commits
  3. 07 Jun, 2012 12 commits
  4. 06 Jun, 2012 22 commits