Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

networking: fix snmp_counter.rst Doc. Warnings

Fix documentation markup warnings in snmp_counter.rst:

Documentation/networking/snmp_counter.rst:416: WARNING: Title underline too short.
Documentation/networking/snmp_counter.rst:684: WARNING: Bullet list ends without a blank line; unexpected unindent.
Documentation/networking/snmp_counter.rst:693: WARNING: Title underline too short.
Documentation/networking/snmp_counter.rst:707: WARNING: Bullet list ends without a blank line; unexpected unindent.
Documentation/networking/snmp_counter.rst:712: WARNING: Bullet list ends without a blank line; unexpected unindent.
Documentation/networking/snmp_counter.rst:722: WARNING: Title underline too short.
Documentation/networking/snmp_counter.rst:733: WARNING: Bullet list ends without a blank line; unexpected unindent.
Documentation/networking/snmp_counter.rst:736: WARNING: Bullet list ends without a blank line; unexpected unindent.
Documentation/networking/snmp_counter.rst:739: WARNING: Bullet list ends without a blank line; unexpected unindent.

Fixes: 80cc49507ba48 ("net: Add part of TCP counts explanations in snmp_counters.rst")
Fixes: 8e2ea53a83dfb ("add snmp counters document")
Fixes: a6c7c7aac2de6 ("net: add document for several snmp counters")

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: yupeng <yupeng0921@gmail.com>

authored by

Randy Dunlap and committed by
David S. Miller
65e9a6d2 517ccc2a

+9 -3
+9 -3
Documentation/networking/snmp_counter.rst
··· 413 413 .. _F-RTO: https://tools.ietf.org/html/rfc5682 414 414 415 415 TCP Fast Path 416 - ============ 416 + ============= 417 417 When kernel receives a TCP packet, it has two paths to handler the 418 418 packet, one is fast path, another is slow path. The comment in kernel 419 419 code provides a good explanation of them, I pasted them below:: ··· 681 681 DSACK to the sender. 682 682 683 683 * TcpExtTCPDSACKRecv 684 + 684 685 The TCP stack receives a DSACK, which indicates an acknowledged 685 686 duplicate packet is received. 686 687 ··· 691 690 duplicate packet is received. 692 691 693 692 invalid SACK and DSACK 694 - ==================== 693 + ====================== 695 694 When a SACK (or DSACK) block is invalid, a corresponding counter would 696 695 be updated. The validation method is base on the start/end sequence 697 696 number of the SACK block. For more details, please refer the comment ··· 705 704 .. _Add counters for discarded SACK blocks: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=18f02545a9a16c9a89778b91a162ad16d510bb32 706 705 707 706 * TcpExtTCPSACKDiscard 707 + 708 708 This counter indicates how many SACK blocks are invalid. If the invalid 709 709 SACK block is caused by ACK recording, the TCP stack will only ignore 710 710 it and won't update this counter. 711 711 712 712 * TcpExtTCPDSACKIgnoredOld and TcpExtTCPDSACKIgnoredNoUndo 713 + 713 714 When a DSACK block is invalid, one of these two counters would be 714 715 updated. Which counter will be updated depends on the undo_marker flag 715 716 of the TCP socket. If the undo_marker is not set, the TCP stack isn't ··· 722 719 will be updated. As implied in its name, it might be an old packet. 723 720 724 721 SACK shift 725 - ========= 722 + ========== 726 723 The linux networking stack stores data in sk_buff struct (skb for 727 724 short). If a SACK block acrosses multiple skb, the TCP stack will try 728 725 to re-arrange data in these skb. E.g. if a SACK block acknowledges seq ··· 733 730 discard, this operation is 'merge'. 734 731 735 732 * TcpExtTCPSackShifted 733 + 736 734 A skb is shifted 737 735 738 736 * TcpExtTCPSackMerged 737 + 739 738 A skb is merged 740 739 741 740 * TcpExtTCPSackShiftFallback 741 + 742 742 A skb should be shifted or merged, but the TCP stack doesn't do it for 743 743 some reasons. 744 744