linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / net / ipv4 / tcp_bic.c
index b0134ab..035f209 100644 (file)
@@ -12,6 +12,7 @@
  * this behaves the same as the original Reno.
  */
 
+#include <linux/config.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <net/tcp.h>
@@ -197,6 +198,12 @@ static u32 bictcp_undo_cwnd(struct sock *sk)
        return max(tp->snd_cwnd, ca->last_max_cwnd);
 }
 
+static u32 bictcp_min_cwnd(struct sock *sk)
+{
+       const struct tcp_sock *tp = tcp_sk(sk);
+       return tp->snd_ssthresh;
+}
+
 static void bictcp_state(struct sock *sk, u8 new_state)
 {
        if (new_state == TCP_CA_Loss)
@@ -224,6 +231,7 @@ static struct tcp_congestion_ops bictcp = {
        .cong_avoid     = bictcp_cong_avoid,
        .set_state      = bictcp_state,
        .undo_cwnd      = bictcp_undo_cwnd,
+       .min_cwnd       = bictcp_min_cwnd,
        .pkts_acked     = bictcp_acked,
        .owner          = THIS_MODULE,
        .name           = "bic",