|
|
|
Re: [PATCH 4/4] dccp: Enable the Ack Ratio Feature but keep CCID2 Ack Congestion Control disabled | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
> c int dccp_hdlr_ack_ratio(struct sock *sk, u64 ratio, bool rx)
> | {
> | -#ifndef __CCID2_COPES_GRACEFULLY_WITH_DYNAMIC_ACK_RATIO_UPDATES__
> | - /*
> | - * FIXME: This is required until several problems in the CCID-2 code are
> | - * resolved. The CCID-2 code currently does not cope well; using dynamic
> | - * Ack Ratios greater than 1 caused instabilities. These were manifest
> | - * in hangups and long RTO timeouts (1...3 seconds). Until this has been
> | - * stabilised, it is safer not to activate dynamic Ack Ratio changes.
> | - */
> | - dccp_pr_debug("Not changing %s Ack Ratio from 1 to %u\n",
> | - rx ? "RX" : "TX", (u16)ratio);
> | - ratio = 1;
> | -#endif
> | if (rx)
> | dccp_sk(sk)->dccps_r_ack_ratio = ratio;
> | else
> |
> This also affects the remote ack ratio in ccid2_hc_rx_packet_recv() -- did you observe any
> interactions with that?
Since this patch changes the remote ack ratio, that obviously causes
ccid2_hc_rx_packet_recv() to change how often it sends acks. (which is
the point)
Fortunately, ccid2_hc_rx_packet_recv() is very simple and does exactly
what it should if the ack ratio changes: it immediately switches to
using the new value.
This is exactly what we need if the congestion window is very small (say
1 packet). To wait for another cycle of the current ack ratio (i.e. to
switch right after sending an ack), would very likely cause timeouts.
Samuel Jero
Internetworking Research Group
Ohio University
Attachment:
signature.asc
Description: This is a digitally signed message part
![]() |