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
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
69
68
70
flags.Bool(option.ForceDeviceDetection, false, "Forces the auto-detection of devices, even if specific devices are explicitly listed")
71
+
72
+
flags.Int(option.NeighborNetlinkBufferSize, defaults.NeighborNetlinkBufferSize, "Size (in bytes) of the netlink socket receive buffer used to subscribe to neighbor updates; a larger buffer reduces the chance of ENOBUFS errors and subscription restarts under high neighbor churn")
69
73
}
70
74
71
75
var (
@@ -92,7 +96,8 @@ type DevicesConfig struct {
92
96
Devices []string
93
97
// ForceDeviceDetection forces the auto-detection of devices,
94
98
// even if user-specific devices are explicitly listed.
95
-
ForceDeviceDetectionbool
99
+
ForceDeviceDetectionbool
100
+
NeighborNetlinkBufferSizeint
96
101
}
97
102
98
103
typedevicesControllerParamsstruct {
@@ -141,7 +146,7 @@ func newDevicesController(lc cell.Lifecycle, p devicesControllerParams) (*device
log.Warn("Failed to subscribe to neighbor updates with a forced netlink receive buffer (the agent likely lacks CAP_NET_ADMIN, which SO_RCVBUFFORCE requires); retrying without forcing it. Neighbor updates may be dropped more often under high neighbor churn.",
0 commit comments