linux/net
Gerrit Renker c38c92a84a dccp ccid-2: Simplify dec_pipe and rearming of RTO timer
This removes the dec_pipe function and improves the way the RTO timer is rearmed
when a new acknowledgment comes in.

Details and justification for removal:
--------------------------------------
 1) The BUG_ON in dec_pipe is never triggered: pipe is only decremented for TX
    history entries between tail and head, for which it had previously been
    incremented in tx_packet_sent; and it is not decremented twice for the same
    entry, since it is
    - either decremented when a corresponding Ack Vector cell in state 0 or 1
      was received (and then ccid2s_acked==1),
    - or it is decremented when ccid2s_acked==0, as part of the loss detection
      in tx_packet_recv (and hence it can not have been decremented earlier).

 2) Restarting the RTO timer happens for every single entry in each Ack Vector
    parsed by tx_packet_recv (according to RFC 4340, 11.4 this can happen up to
    16192 times per Ack Vector).

 3) The RTO timer should not be restarted when all outstanding data has been
    acknowledged. This is currently done similar to (2), in dec_pipe, when
    pipe has reached 0.

The patch onsolidates the code which rearms the RTO timer, combining the
segments from new_ack and dec_pipe. As a result, the code becomes clearer
(compare with tcp_rearm_rto()).

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-08-23 20:13:31 -07:00
..
9p
802
8021q net: 802.1q: make vlan_hwaccel_do_receive() return void 2010-08-22 21:03:33 -07:00
appletalk
atm atm: remove a net_device_stats clear 2010-08-19 00:14:36 -07:00
ax25 net/ax25: Use available error codes 2010-08-18 14:26:31 -07:00
bluetooth Bluetooth: Fix incorrect setting of remote_tx_win for L2CAP ERTM 2010-08-10 07:59:11 -04:00
bridge bridge: is PACKET_LOOPBACK unlikely()? 2010-08-22 21:09:04 -07:00
caif caif: Bugfix - Increase default headroom size for control channel. 2010-08-10 16:39:27 -07:00
can net: simplify flags for tx timestamping 2010-08-19 00:08:30 -07:00
core net: Rename skb_has_frags to skb_has_frag_list 2010-08-23 00:13:46 -07:00
dcb
dccp dccp ccid-2: Simplify dec_pipe and rearming of RTO timer 2010-08-23 20:13:31 -07:00
decnet net/decnet: Adjust confusing if indentation 2010-08-16 21:06:30 -07:00
dns_resolver DNS: If the DNS server returns an error, allow that to be cached [ver #2] 2010-08-11 17:11:28 +00:00
dsa phylib: available for any speed ethernet 2010-08-11 23:03:50 -07:00
econet
ethernet
ieee802154
ipv4 net: Rename skb_has_frags to skb_has_frag_list 2010-08-23 00:13:46 -07:00
ipv6 net: Rename skb_has_frags to skb_has_frag_list 2010-08-23 00:13:46 -07:00
ipx
irda irda: use net_device_stats from struct net_device 2010-08-21 23:32:31 -07:00
iucv
key
l2tp
lapb
llc
mac80211 param: simple locking for sysfs-writable charp parameters 2010-08-11 23:04:31 +09:30
netfilter netfilter: xt_hashlimit: use proto_ports_offset() to support AH message 2010-08-19 17:16:25 -07:00
netlabel
netlink netlink: fix compat recvmsg 2010-08-18 23:35:58 -07:00
netrom
packet net: simplify flags for tx timestamping 2010-08-19 00:08:30 -07:00
phonet
rds rds: fix a leak of kernel memory 2010-08-18 23:40:03 -07:00
rfkill
rose
rxrpc Add a dummy printk function for the maintenance of unused printks 2010-08-12 09:51:35 -07:00
sched net/sched: need to include net/ip6_checksum.h 2010-08-22 20:31:14 -07:00
sctp
sunrpc nfs: update for module_param_named API change 2010-08-11 23:04:15 +09:30
tipc tipc: Prevent missing name table entries when link flip-flops rapidly 2010-08-17 17:32:00 -07:00
unix
wanrouter
wimax
wireless
x25
xfrm xfrm: Use GFP_ATOMIC in xfrm_compile_policy 2010-08-14 22:38:09 -07:00
compat.c
Kconfig
Makefile
nonet.c
socket.c net: simplify flags for tx timestamping 2010-08-19 00:08:30 -07:00
sysctl_net.c
TUNABLE