tcp: improve stats
Change-Id: I9ab11ba9f958c679112eb22c8db39cb269a29dc7 Signed-off-by: Florin Coras <fcoras@cisco.com>
This commit is contained in:

committed by
Marco Varlese

parent
8e1039a823
commit
00cd22d627
@ -17,18 +17,17 @@ tcp_error (LENGTH, "inconsistent ip/tcp lengths")
|
||||
tcp_error (NO_LISTENER, "no listener for dst port")
|
||||
tcp_error (LOOKUP_DROPS, "lookup drops")
|
||||
tcp_error (DISPATCH, "Dispatch error")
|
||||
tcp_error (ENQUEUED, "Packets pushed into rx fifo")
|
||||
tcp_error (ENQUEUED, "Packets pushed into rx fifo")
|
||||
tcp_error (ENQUEUED_OOO, "OOO packets pushed into rx fifo")
|
||||
tcp_error (FIFO_FULL, "Packets dropped for lack of rx fifo space")
|
||||
tcp_error (PARTIALLY_ENQUEUED, "Packets partially pushed into rx fifo")
|
||||
tcp_error (PURE_ACK, "Pure acks")
|
||||
tcp_error (SEGMENT_OLD, "Old segment")
|
||||
tcp_error (SEGMENT_INVALID, "Invalid segments")
|
||||
tcp_error (SYNS_RCVD, "SYNs received")
|
||||
tcp_error (SYN_ACKS_RCVD, "SYN-ACKs received")
|
||||
tcp_error (NOT_READY, "Session not ready for packets")
|
||||
tcp_error (FIFO_FULL, "Packets dropped for lack of rx fifo space")
|
||||
tcp_error (EVENT_FIFO_FULL, "Events not sent for lack of event fifo space")
|
||||
tcp_error (API_QUEUE_FULL, "Sessions not created for lack of API queue space")
|
||||
tcp_error (CREATE_SESSION_FAIL, "Sessions couldn't be allocated")
|
||||
tcp_error (SEGMENT_INVALID, "Invalid segments")
|
||||
tcp_error (SEGMENT_OLD, "Old segment")
|
||||
tcp_error (ACK_OK, "Pure ACKs received")
|
||||
tcp_error (ACK_INVALID, "Invalid ACK")
|
||||
tcp_error (ACK_DUP, "Duplicate ACK")
|
||||
tcp_error (ACK_OLD, "Old ACK")
|
||||
@ -36,9 +35,13 @@ tcp_error (ACK_FUTURE, "Future ACK")
|
||||
tcp_error (PKTS_SENT, "Packets sent")
|
||||
tcp_error (FILTERED_DUPACKS, "Filtered duplicate ACKs")
|
||||
tcp_error (RST_SENT, "Resets sent")
|
||||
tcp_error (RST_RCVD, "Resets received")
|
||||
tcp_error (INVALID_CONNECTION, "Invalid connection")
|
||||
tcp_error (NO_WND, "No window")
|
||||
tcp_error (CONNECTION_CLOSED, "Connection closed")
|
||||
tcp_error (CREATE_EXISTS, "Connection already exists")
|
||||
tcp_error (PUNT, "Packets punted")
|
||||
tcp_error (FILTERED, "Packets filtered")
|
||||
tcp_error (FILTERED, "Packets filtered")
|
||||
tcp_error (OPTIONS, "Could not parse options")
|
||||
tcp_error (PAWS, "PAWS check failed")
|
||||
tcp_error (RCV_WND, "Segment not in receive window")
|
||||
tcp_error (FIN_RCVD, "FINs received")
|
File diff suppressed because it is too large
Load Diff
@ -1826,6 +1826,12 @@ tcp46_output_inline (vlib_main_t * vm,
|
||||
if (PREDICT_FALSE
|
||||
(vnet_buffer (b0)->tcp.flags & TCP_BUF_FLAG_DUPACK))
|
||||
{
|
||||
/* N.B. Should not filter burst of dupacks. Two issues:
|
||||
* 1) dupacks open cwnd on remote peer when congested
|
||||
* 2) acks leaving should have the latest rcv_wnd since the
|
||||
* burst may have eaten up all of it, so only the old ones
|
||||
* could be filtered.
|
||||
*/
|
||||
if (!tcp_session_has_ooo_data (tc0))
|
||||
{
|
||||
error0 = TCP_ERROR_FILTERED_DUPACKS;
|
||||
|
Reference in New Issue
Block a user