[TCP]: SNMPv2 tcpOutSegs counter error
Do not count retransmitted segments. Signed-off-by: Wei Yongjun <yjwei@nanjing-fnst.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
69d8c28c95
commit
bd37a08859
|
@ -466,7 +466,8 @@ static int tcp_transmit_skb(struct sock *sk, struct sk_buff *skb, int clone_it,
|
||||||
if (skb->len != tcp_header_size)
|
if (skb->len != tcp_header_size)
|
||||||
tcp_event_data_sent(tp, skb, sk);
|
tcp_event_data_sent(tp, skb, sk);
|
||||||
|
|
||||||
TCP_INC_STATS(TCP_MIB_OUTSEGS);
|
if (after(tcb->end_seq, tp->snd_nxt) || tcb->seq == tcb->end_seq)
|
||||||
|
TCP_INC_STATS(TCP_MIB_OUTSEGS);
|
||||||
|
|
||||||
err = icsk->icsk_af_ops->queue_xmit(skb, 0);
|
err = icsk->icsk_af_ops->queue_xmit(skb, 0);
|
||||||
if (likely(err <= 0))
|
if (likely(err <= 0))
|
||||||
|
@ -2157,10 +2158,9 @@ int tcp_connect(struct sock *sk)
|
||||||
skb_shinfo(buff)->gso_size = 0;
|
skb_shinfo(buff)->gso_size = 0;
|
||||||
skb_shinfo(buff)->gso_type = 0;
|
skb_shinfo(buff)->gso_type = 0;
|
||||||
buff->csum = 0;
|
buff->csum = 0;
|
||||||
|
tp->snd_nxt = tp->write_seq;
|
||||||
TCP_SKB_CB(buff)->seq = tp->write_seq++;
|
TCP_SKB_CB(buff)->seq = tp->write_seq++;
|
||||||
TCP_SKB_CB(buff)->end_seq = tp->write_seq;
|
TCP_SKB_CB(buff)->end_seq = tp->write_seq;
|
||||||
tp->snd_nxt = tp->write_seq;
|
|
||||||
tp->pushed_seq = tp->write_seq;
|
|
||||||
|
|
||||||
/* Send it off. */
|
/* Send it off. */
|
||||||
TCP_SKB_CB(buff)->when = tcp_time_stamp;
|
TCP_SKB_CB(buff)->when = tcp_time_stamp;
|
||||||
|
@ -2170,6 +2170,12 @@ int tcp_connect(struct sock *sk)
|
||||||
sk_charge_skb(sk, buff);
|
sk_charge_skb(sk, buff);
|
||||||
tp->packets_out += tcp_skb_pcount(buff);
|
tp->packets_out += tcp_skb_pcount(buff);
|
||||||
tcp_transmit_skb(sk, buff, 1, GFP_KERNEL);
|
tcp_transmit_skb(sk, buff, 1, GFP_KERNEL);
|
||||||
|
|
||||||
|
/* We change tp->snd_nxt after the tcp_transmit_skb() call
|
||||||
|
* in order to make this packet get counted in tcpOutSegs.
|
||||||
|
*/
|
||||||
|
tp->snd_nxt = tp->write_seq;
|
||||||
|
tp->pushed_seq = tp->write_seq;
|
||||||
TCP_INC_STATS(TCP_MIB_ACTIVEOPENS);
|
TCP_INC_STATS(TCP_MIB_ACTIVEOPENS);
|
||||||
|
|
||||||
/* Timer for repeating the SYN until an answer. */
|
/* Timer for repeating the SYN until an answer. */
|
||||||
|
|
Loading…
Reference in New Issue