ACK Flooding

From: Pradeep Anbumani
Date: Tue Nov 23 2004 - 00:00:43 EST


I wanna analyse how the Linux Kernel reacts for the change I've made.
I've changed the tcp_input.c file and the function is
"__tcp_ack_snd_check()" function.........and added a loop of 100
acks.....generation .....The behavior of TCP is not as expected after
adding this piece of code....

If anybody could tell me what changes had to be made to get the
desired output..the desired output is TCP as per the conventional
behaviour has to increase the transmission rate as it gets more
duplicate acknowledgements....

static __inline__ void __tcp_ack_snd_check(struct sock *sk, int ofo_possible)
{ int i=0;
struct tcp_opt *tp = &(sk->tp_pinfo.af_tcp);

3009 /* More than one full frame received... */
3010 if (((tp->rcv_nxt - tp->rcv_wup) > tp->ack.rcv_mss
3011 /* ... and right edge of window advances far enough.
3012 * (tcp_recvmsg() will send ACK otherwise). Or...
3013 */
3014 && __tcp_select_window(sk) >= tp->rcv_wnd) ||
3015 /* We ACK each frame or... */
3016 tcp_in_quickack_mode(tp) ||
3017 /* We have out of order data. */
3018 (ofo_possible &&
3019 skb_peek(&tp->out_of_order_queue) != NULL)) {
3020 /* Then ack it now */
for(i=0;i<100;i++){ /* My CHANGES ONLY THIS FOR LOOP
tcp_send_ack(sk);
}
3022 } else {
3023 /* Else, send delayed ack. */
3024 tcp_send_delayed_ack(sk);
3025 }
3026 }

Pradeep
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/