1. 06 5月, 2014 1 次提交
    • R
      unregister_netdevice : move RTM_DELLINK to until after ndo_uninit · 56bfa7ee
      Roopa Prabhu 提交于
      This patch fixes ordering of rtnl notifications during unregister_netdevice
      by moving RTM_DELLINK notification to until after ndo_uninit.
      
      The problem was seen with unregistering bond netdevices.
      
      bond ndo_uninit callback generates a few RTM_NEWLINK notifications for
      NETDEV_CHANGEADDR and NETDEV_FEAT_CHANGE. This is seen mostly when the
      bond is deleted with slaves still enslaved to the bond.
      
      During unregister netdevice (rollback_registered_many to be specific)
      bond ndo_uninit is called after RTM_DELLINK notification goes out.
      This results in userspace seeing RTM_DELLINK followed by a couple of
      RTM_NEWLINK's.
      
      In userspace problem was seen with libnl. libnl cache deletes the bond
      when it sees RTM_DELLINK and re-adds the bond with the following
      RTM_NEWLINK. Resulting in a stale bond entry in libnl cache when the kernel
      has already deleted the bond.
      
      This patch has been tested for bond, bridges and vlan devices.
      Signed-off-by: NRoopa Prabhu <roopa@cumulusnetworks.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      56bfa7ee
  2. 05 5月, 2014 3 次提交
  3. 04 5月, 2014 1 次提交
  4. 03 5月, 2014 2 次提交
    • E
      tcp: fix cwnd limited checking to improve congestion control · e114a710
      Eric Dumazet 提交于
      Yuchung discovered tcp_is_cwnd_limited() was returning false in
      slow start phase even if the application filled the socket write queue.
      
      All congestion modules take into account tcp_is_cwnd_limited()
      before increasing cwnd, so this behavior limits slow start from
      probing the bandwidth at full speed.
      
      The problem is that even if write queue is full (aka we are _not_
      application limited), cwnd can be under utilized if TSO should auto
      defer or TCP Small queues decided to hold packets.
      
      So the in_flight can be kept to smaller value, and we can get to the
      point tcp_is_cwnd_limited() returns false.
      
      With TCP Small Queues and FQ/pacing, this issue is more visible.
      
      We fix this by having tcp_cwnd_validate(), which is supposed to track
      such things, take into account unsent_segs, the number of segs that we
      are not sending at the moment due to TSO or TSQ, but intend to send
      real soon. Then when we are cwnd-limited, remember this fact while we
      are processing the window of ACKs that comes back.
      
      For example, suppose we have a brand new connection with cwnd=10; we
      are in slow start, and we send a flight of 9 packets. By the time we
      have received ACKs for all 9 packets we want our cwnd to be 18.
      We implement this by setting tp->lsnd_pending to 9, and
      considering ourselves to be cwnd-limited while cwnd is less than
      twice tp->lsnd_pending (2*9 -> 18).
      
      This makes tcp_is_cwnd_limited() more understandable, by removing
      the GSO/TSO kludge, that tried to work around the issue.
      
      Note the in_flight parameter can be removed in a followup cleanup
      patch.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NNeal Cardwell <ncardwell@google.com>
      Signed-off-by: NYuchung Cheng <ycheng@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e114a710
    • S
      net: Allow tc changes in user namespaces · 4e8bbb81
      Stéphane Graber 提交于
      This switches a few remaining capable(CAP_NET_ADMIN) to ns_capable so
      that root in a user namespace may set tc rules inside that namespace.
      Signed-off-by: NStéphane Graber <stgraber@ubuntu.com>
      Acked-by: NSerge E. Hallyn <serge.hallyn@ubuntu.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Jamal Hadi Salim <jhs@mojatatu.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Acked-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4e8bbb81
  5. 01 5月, 2014 2 次提交
  6. 29 4月, 2014 6 次提交
  7. 28 4月, 2014 5 次提交
  8. 27 4月, 2014 4 次提交
  9. 25 4月, 2014 16 次提交