linux内核2.6.32中tcp_abc的实现如下:
323 /* RFC3465: ABC
324 * We MAY increase by 2 if discovered delayed ack
325 */
326 if (sysctl_tcp_abc > 1 && tp->bytes_acked >= 2*tp->mss_cache)
327 cnt <<= 1;
如果我理解正确,它可以处理延迟的ack,它最多只有两个mss聚合。但是当LRO / GRO将多个ack数据包聚合在一起时,这种实现效果很差。
所以我的问题是: