You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
datapath: Increase the devices controller's netlink receive buffer
The devices controller subscribes to address, route, link and neighbor
updates on netlink sockets with the kernel default receive buffer. Under
high churn that buffer overflows with ENOBUFS, and any one socket erroring
restarts all four subscriptions.
Size all four explicitly: 4MiB by default, configurable with the new
--netlink-buffer-size flag.
Signed-off-by: Jared Ledvina <jared.ledvina@datadoghq.com>
flags.StringSlice(option.Devices, []string{}, "List of devices facing cluster/external network (used for BPF NodePort, BPF masquerading and host firewall); supports '+' as wildcard in device name, e.g. 'eth+'; support '!' to exclude devices, e.g. '!eth+' excludes any device with prefix 'eth'. Note '!' says nothing about which ones to include. A device must match other criteria to be selected; The filters are matched in order and whatever matched first wins.")
67
67
68
68
flags.Bool(option.ForceDeviceDetection, false, "Forces the auto-detection of devices, even if specific devices are explicitly listed")
69
+
70
+
flags.Int(option.NetlinkBufferSize, defaults.NetlinkBufferSize, "Size in bytes of the devices controller's netlink receive buffers, capped by net.core.rmem_max")
69
71
}
70
72
71
73
var (
@@ -93,6 +95,9 @@ type DevicesConfig struct {
93
95
// ForceDeviceDetection forces the auto-detection of devices,
94
96
// even if user-specific devices are explicitly listed.
95
97
ForceDeviceDetectionbool
98
+
// NetlinkBufferSize is the receive buffer size in bytes requested for
99
+
// the controller's netlink subscription sockets.
100
+
NetlinkBufferSizeint
96
101
}
97
102
98
103
typedevicesControllerParamsstruct {
@@ -141,7 +146,7 @@ func newDevicesController(lc cell.Lifecycle, p devicesControllerParams) (*device
0 commit comments