summaryrefslogtreecommitdiffstats
path: root/health/guides/net/10min_fifo_errors.md
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 11:19:16 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 12:07:37 +0000
commitb485aab7e71c1625cfc27e0f92c9509f42378458 (patch)
treeae9abe108601079d1679194de237c9a435ae5b55 /health/guides/net/10min_fifo_errors.md
parentAdding upstream version 1.44.3. (diff)
downloadnetdata-b485aab7e71c1625cfc27e0f92c9509f42378458.tar.xz
netdata-b485aab7e71c1625cfc27e0f92c9509f42378458.zip
Adding upstream version 1.45.3+dfsg.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'health/guides/net/10min_fifo_errors.md')
-rw-r--r--health/guides/net/10min_fifo_errors.md42
1 files changed, 0 insertions, 42 deletions
diff --git a/health/guides/net/10min_fifo_errors.md b/health/guides/net/10min_fifo_errors.md
deleted file mode 100644
index 845ae6aff..000000000
--- a/health/guides/net/10min_fifo_errors.md
+++ /dev/null
@@ -1,42 +0,0 @@
-### Understand the alert
-
-Between the IP stack and the Network Interface Controller (NIC) lies the driver queue. This queue is typically implemented as a FIFO ring buffer into the memory space allocated by the driver. The NIC receive frames and place them into memory as skb_buff data structures (SocKet Buffer). We can have queues (ingress queues) and transmitted (egress queues) but these queues do not contain any actual packet data. Each queue has a pointer to the devices associated with it, and to the skb_buff data structures that store the ingress/egress packets. The number of frames this queue can handle is limited. Queues fill up when an interface receives packets faster than kernel can process them.
-
-Netdata monitors the number of FIFO errors (number of times an overflow occurs in the ring buffer) for a specific network interface in the last 10 minutes. This alarm is triggered when the NIC is not able to handle the peak load of incoming/outgoing packets with the current ring buffer size.
-
-Not all NICs support FIFO queue operations.
-
-### More about SKB
-
-The SocKet Buffer (SKB), is the most fundamental data structure in the Linux networking code. Every packet sent or received is handled using this data structure. This is a large struct containing all the control information required for the packet (datagram, cell, etc).
-
-The struct sk_buff has the following fields to point to the specific network layer headers:
-
-- transport_header (previously called h) – This field points to layer 4, the transport layer (and can include tcp header or udp header or
- icmp header, and more)
-
-- network_header (previously called nh) – This field points to layer 3, the network layer (and can include ip header or ipv6 header or arp
- header).
-
-- mac_header (previously called mac) – This field points to layer 2, the link layer.
-
-- skb_network_header(skb), skb_transport_header(skb) and skb_mac_header(skb) - These return pointer to the header.
-
-### Troubleshoot the alert
-
-- Update the ring buffer size
-
-1. To view the maximum RX ring buffer size:
-
- ```
- ethtool -g enp1s0
- ```
-
-2. If the values in the Pre-set maximums section are higher than in the Current hardware settings section, increase RX (or TX) ring buffer:
-
- ```
- enp1s0 rx 4080
- ```
-
-3. Verify the change to make sure that you no longer receive the alarm when running the same workload. To make this permanently, you must consult your distribution guides.
-