1. 12 7月, 2012 3 次提交
  2. 16 6月, 2012 1 次提交
    • D
      ipv6: Handle PMTU in ICMP error handlers. · 81aded24
      David S. Miller 提交于
      One tricky issue on the ipv6 side vs. ipv4 is that the ICMP callouts
      to handle the error pass the 32-bit info cookie in network byte order
      whereas ipv4 passes it around in host byte order.
      
      Like the ipv4 side, we have two helper functions.  One for when we
      have a socket context and one for when we do not.
      
      ip6ip6 tunnels are not handled here, because they handle PMTU events
      by essentially relaying another ICMP packet-too-big message back to
      the original sender.
      
      This patch allows us to get rid of rt6_do_pmtu_disc().  It handles all
      kinds of situations that simply cannot happen when we do the PMTU
      update directly using a fully resolved route.
      
      In fact, the "plen == 128" check in ip6_rt_update_pmtu() can very
      likely be removed or changed into a BUG_ON() check.  We should never
      have a prefixed ipv6 route when we get there.
      
      Another piece of strange history here is that TCP and DCCP, unlike in
      ipv4, never invoke the update_pmtu() method from their ICMP error
      handlers.  This is incredibly astonishing since this is the context
      where we have the most accurate context in which to make a PMTU
      update, namely we have a fully connected socket and associated cached
      socket route.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      81aded24
  3. 12 6月, 2012 1 次提交
  4. 11 6月, 2012 1 次提交
  5. 09 6月, 2012 1 次提交
  6. 19 5月, 2012 1 次提交
  7. 16 4月, 2012 1 次提交
  8. 07 12月, 2011 2 次提交
  9. 05 12月, 2011 1 次提交
  10. 25 4月, 2011 1 次提交
  11. 23 4月, 2011 1 次提交
  12. 16 4月, 2011 1 次提交
  13. 23 3月, 2011 1 次提交
  14. 13 3月, 2011 1 次提交
  15. 20 12月, 2010 1 次提交
  16. 03 12月, 2010 2 次提交
  17. 01 12月, 2010 1 次提交
  18. 13 4月, 2010 1 次提交
    • E
      net: sk_dst_cache RCUification · b6c6712a
      Eric Dumazet 提交于
      With latest CONFIG_PROVE_RCU stuff, I felt more comfortable to make this
      work.
      
      sk->sk_dst_cache is currently protected by a rwlock (sk_dst_lock)
      
      This rwlock is readlocked for a very small amount of time, and dst
      entries are already freed after RCU grace period. This calls for RCU
      again :)
      
      This patch converts sk_dst_lock to a spinlock, and use RCU for readers.
      
      __sk_dst_get() is supposed to be called with rcu_read_lock() or if
      socket locked by user, so use appropriate rcu_dereference_check()
      condition (rcu_read_lock_held() || sock_owned_by_user(sk))
      
      This patch avoids two atomic ops per tx packet on UDP connected sockets,
      for example, and permits sk_dst_lock to be much less dirtied.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b6c6712a
  19. 08 3月, 2010 1 次提交
  20. 04 11月, 2009 1 次提交
  21. 03 6月, 2009 1 次提交
  22. 15 8月, 2008 1 次提交
  23. 13 8月, 2008 2 次提交
  24. 23 7月, 2008 1 次提交
  25. 12 4月, 2008 1 次提交
    • Y
      [IPV6]: Make address arguments const. · 9acd9f3a
      YOSHIFUJI Hideaki 提交于
      - net/ipv6/addrconf.c:
      	ipv6_get_ifaddr(), ipv6_dev_get_saddr()
      - net/ipv6/mcast.c:
      	ipv6_sock_mc_join(), ipv6_sock_mc_drop(),
      	inet6_mc_check(),
      	ipv6_dev_mc_inc(), __ipv6_dev_mc_dec(), ipv6_dev_mc_dec(),
      	ipv6_chk_mcast_addr()
      - net/ipv6/route.c:
      	rt6_lookup(), icmp6_dst_alloc()
      - net/ipv6/ip6_output.c:
      	ip6_nd_hdr()
      - net/ipv6/ndisc.c:
      	ndisc_send_ns(), ndisc_send_rs(), ndisc_send_redirect(),
      	ndisc_get_neigh(), __ndisc_send()
      Signed-off-by: NYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
      9acd9f3a
  26. 10 4月, 2008 1 次提交
  27. 25 3月, 2008 2 次提交
  28. 06 3月, 2008 1 次提交
  29. 05 3月, 2008 4 次提交
  30. 04 3月, 2008 2 次提交