1. 31 Jul, 2013 2 commits
  2. 25 Jul, 2013 12 commits
  3. 24 Jul, 2013 15 commits
  4. 23 Jul, 2013 11 commits
    • David S. Miller's avatar
      Merge branch 'team' ("add support for peer notifications and igmp rejoins for team") · 45c91490
      David S. Miller authored
      Jiri Pirko says:
      
      ====================
      The middle patch adjusts core infrastructure so the bonding code can be
      generalized and reused by team.
      
      v1->v2: using msecs_to_jiffies() as suggested by Eric
      
      Jiri Pirko (3):
        team: add peer notification
        net: convert resend IGMP to notifier event
        team: add support for sending multicast rejoins
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      45c91490
    • Jiri Pirko's avatar
      team: add support for sending multicast rejoins · 492b200e
      Jiri Pirko authored
      Similar to what is implemented in bonding. User is able to ask team
      driver to send IGMP rejoins in case port is enabled or disabled. Using
      previously introduced netdev notifier.
      Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      492b200e
    • Jiri Pirko's avatar
      net: convert resend IGMP to notifier event · 4aa5dee4
      Jiri Pirko authored
      Until now, bond_resend_igmp_join_requests() looks for vlans attached to
      bonding device, bridge where bonding act as port manually. It does not
      care of other scenarios, like stacked bonds or team device above. Make
      this more generic and use netdev notifier to propagate the event to
      upper devices and to actually call ip_mc_rejoin_groups().
      Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
      Acked-by: default avatarVeaceslav Falico <vfalico@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4aa5dee4
    • Jiri Pirko's avatar
      team: add peer notification · fc423ff0
      Jiri Pirko authored
      When port is enabled or disabled, allow to notify peers by unsolicitated
      NAs or gratuitous ARPs. Disabled by default.
      Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fc423ff0
    • Thomas Richter's avatar
      macvlan fdb replace support · ab2cfbb2
      Thomas Richter authored
      Add support for iproute2 command 'bridge fdb replace ...'.
      The rtnletlink call back function ndo_fdb_add will be called
      with the NLM_F_REPLACE flag set.
      Simply return -EOPNOTSUP.
      
      Resubmitted because net-next was closed last week.
      Signed-off-by: default avatarThomas Richter <tmricht@linux.vnet.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ab2cfbb2
    • Thomas Richter's avatar
      vxlan fdb replace an existing entry · 906dc186
      Thomas Richter authored
      Add support to replace an existing entry found in the
      vxlan fdb database. The entry in question is identified
      by its unicast mac address and the destination information
      is changed. If the entry is not found, it is added in the
      forwarding database. This is similar to changing an entry
      in the neighbour table.
      
      Multicast mac addresses can not be changed with the replace
      option.
      
      This is useful for virtual machine migration when the
      destination of a target virtual machine changes. The replace
      feature can be used instead of delete followed by add.
      
      Resubmitted because net-next was closed last week.
      Signed-off-by: default avatarThomas Richter <tmricht@linux.vnet.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      906dc186
    • David S. Miller's avatar
      Merge branch 'tcp' · 20ff44aa
      David S. Miller authored
      Yuchung Cheng says:
      
      ====================
      This patch series improve RTT sampling in three ways:
      1. Sample RTT during fast recovery and reordering events.
      2. Favor ack-based RTT to timestamps because of broken TS ECR fields
      3. Consolidate the RTT measurement logic.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      20ff44aa
    • Yuchung Cheng's avatar
      tcp: use RTT from SACK for RTO · ed08495c
      Yuchung Cheng authored
      If RTT is not available because Karn's check has failed or no
      new packet is acked, use the RTT measured from SACK to estimate
      the RTO. The sender can continue to estimate the RTO during loss
      recovery or reordering event upon receiving non-partial ACKs.
      
      This also changes when the RTO is re-armed. Previously it is
      only re-armed when some data is cummulatively acknowledged (i.e.,
      SND.UNA advances), but now it is re-armed whenever RTT estimator
      is updated. This feature is particularly useful to reduce spurious
      timeout for buffer bloat including cellular carriers [1], and
      RTT estimation on reordering events.
      
      [1] "An In-depth Study of LTE: Effect of Network Protocol and
       Application Behavior on Performance", In Proc. of SIGCOMM 2013
      Signed-off-by: default avatarYuchung Cheng <ycheng@google.com>
      Acked-by: default avatarNeal Cardwell <ncardwell@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ed08495c
    • Yuchung Cheng's avatar
      tcp: measure RTT from new SACK · 59c9af42
      Yuchung Cheng authored
      Take RTT sample if an ACK selectively acks some sequences that
      have never been retransmitted. The Karn's algorithm does not apply
      even if that ACK (s)acks other retransmitted sequences, because it
      must been generated by an original but perhaps out-of-order packet.
      There is no ambiguity. In case when multiple blocks are newly
      sacked because of ACK losses the earliest block is used to
      measure RTT, similar to cummulative ACKs.
      
      Such RTT samples allow the sender to estimate the RTO during loss
      recovery and packet reordering events. It is still useful even with
      TCP timestamps. That's because during these events the SND.UNA may
      not advance preventing RTT samples from TS ECR (thus the FLAG_ACKED
      check before calling tcp_ack_update_rtt()).  Therefore this new
      RTT source is complementary to existing ACK and TS RTT mechanisms.
      
      This patch does not update the RTO. It is done in the next patch.
      Signed-off-by: default avatarYuchung Cheng <ycheng@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      59c9af42
    • Yuchung Cheng's avatar
      tcp: prefer packet timing to TS-ECR for RTT · 5b08e47c
      Yuchung Cheng authored
      Prefer packet timings to TS-ecr for RTT measurements when both
      sources are available. That's because broken middle-boxes and remote
      peer can return packets with corrupted TS ECR fields. Similarly most
      congestion controls that require RTT signals favor timing-based
      sources as well. Also check for bad TS ECR values to avoid RTT
      blow-ups. It has happened on production Web servers.
      Signed-off-by: default avatarYuchung Cheng <ycheng@google.com>
      Acked-by: default avatarNeal Cardwell <ncardwell@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5b08e47c
    • Yuchung Cheng's avatar
      tcp: consolidate SYNACK RTT sampling · 375fe02c
      Yuchung Cheng authored
      The first patch consolidates SYNACK and other RTT measurement to use a
      central function tcp_ack_update_rtt(). A (small) bonus is now SYNACK
      RTT measurement happens after PAWS check, potentially reducing the
      impact of RTO seeding on bad TCP timestamps values.
      Signed-off-by: default avatarYuchung Cheng <ycheng@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      375fe02c