Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP7:Update
wicked.34470
0002-increase-arp-retry-attempts-on-sending-bsc...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0002-increase-arp-retry-attempts-on-sending-bsc1218668.patch of Package wicked.34470
From be8f79764694d54230d28fd483eb9a129830629f Mon Sep 17 00:00:00 2001 From: Clemens Famulla-Conrad <cfamullaconrad@suse.de> Date: Wed, 5 Jun 2024 10:55:37 +0200 Subject: [PATCH 1/4] appconfig: increase arp (verify|notify) retry value (bsc#1218668) Upstream: yes References: bsc#1218668,gh#openSUSE/wicked#1022 When the kernel report ENOBUFS while sending the arp package, we do not want to treat this as a fatal error. But we also don't want to accept ENOBUFS forever. The previous retry value of 3 wasn't sufficient and was triggered on bond interfaces with 802.3ad mode to often. With a default of 10 we give the driver a minimum amount of 6s to accept packages. --- src/appconfig.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/appconfig.c b/src/appconfig.c index 82afb403..b67ccc76 100644 --- a/src/appconfig.c +++ b/src/appconfig.c @@ -67,11 +67,11 @@ static unsigned int ni_config_addrconf_update_auto6(void); static void ni_config_addrconf_arp_default(ni_config_arp_t *); #define NI_ADDRCONF_ARP_VERIFY_COUNT 3 /* PROBE_NUM */ -#define NI_ADDRCONF_ARP_VERIFY_RETRIES 3 +#define NI_ADDRCONF_ARP_VERIFY_RETRIES 10 #define NI_ADDRCONF_ARP_VERIFY_MIN (2000 / NI_ADDRCONF_ARP_VERIFY_COUNT) /* PROBE_MIN */ #define NI_ADDRCONF_ARP_VERIFY_MAX (3000 / NI_ADDRCONF_ARP_VERIFY_COUNT) /* PROBE_MAX */ #define NI_ADDRCONF_ARP_NOTIFY_COUNT 1 /* ANNOUNCE_NUM */ -#define NI_ADDRCONF_ARP_NOTIFY_RETRIES 0 +#define NI_ADDRCONF_ARP_NOTIFY_RETRIES 10 #define NI_ADDRCONF_ARP_NOTIFY_INTERVAL 300 /* ANNOUNCE_INTERVAL */ #define NI_ADDRCONF_ARP_INTERVAL_MIN 100 #define NI_ADDRCONF_ARP_MAX_DURATION 15000 -- 2.35.3 From c6a4dca68b581295b29e9610cb76ca089a7e4ba7 Mon Sep 17 00:00:00 2001 From: Clemens Famulla-Conrad <cfamullaconrad@suse.de> Date: Wed, 5 Jun 2024 11:05:03 +0200 Subject: [PATCH 2/4] arputil: increase the retry attempts on sending On bond with mode 802.3ad, we realized ENOBUFS occur and a retry value of 3 is to small (see bsc#1218668). --- client/arputil.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/arputil.c b/client/arputil.c index ab35782c..12833a89 100644 --- a/client/arputil.c +++ b/client/arputil.c @@ -46,7 +46,7 @@ struct arp_ops; -#define NI_ARPUTIL_MAX_SEND_ERR 3 +#define NI_ARPUTIL_MAX_SEND_ERR 10 #define ARP_VERIFY_COUNT 3 #define ARP_VERIFY_INTERVAL_MIN 1000 -- 2.35.3 From 87d8f8d24135a04bf9fc80bb4e2260a09a7dec72 Mon Sep 17 00:00:00 2001 From: Clemens Famulla-Conrad <cfamullaconrad@suse.de> Date: Tue, 18 Jun 2024 14:35:43 +0200 Subject: [PATCH 3/4] arp: increase retries to 16 for >10s grace time Tests with 10 retries shown, that we where just one attempt before an error. Thus we give more extra time. --- client/arputil.c | 2 +- src/appconfig.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/client/arputil.c b/client/arputil.c index 12833a89..c6e23f74 100644 --- a/client/arputil.c +++ b/client/arputil.c @@ -46,7 +46,7 @@ struct arp_ops; -#define NI_ARPUTIL_MAX_SEND_ERR 10 +#define NI_ARPUTIL_MAX_SEND_ERR 16 #define ARP_VERIFY_COUNT 3 #define ARP_VERIFY_INTERVAL_MIN 1000 diff --git a/src/appconfig.c b/src/appconfig.c index b67ccc76..cc4b08f5 100644 --- a/src/appconfig.c +++ b/src/appconfig.c @@ -67,11 +67,11 @@ static unsigned int ni_config_addrconf_update_auto6(void); static void ni_config_addrconf_arp_default(ni_config_arp_t *); #define NI_ADDRCONF_ARP_VERIFY_COUNT 3 /* PROBE_NUM */ -#define NI_ADDRCONF_ARP_VERIFY_RETRIES 10 +#define NI_ADDRCONF_ARP_VERIFY_RETRIES 16 #define NI_ADDRCONF_ARP_VERIFY_MIN (2000 / NI_ADDRCONF_ARP_VERIFY_COUNT) /* PROBE_MIN */ #define NI_ADDRCONF_ARP_VERIFY_MAX (3000 / NI_ADDRCONF_ARP_VERIFY_COUNT) /* PROBE_MAX */ #define NI_ADDRCONF_ARP_NOTIFY_COUNT 1 /* ANNOUNCE_NUM */ -#define NI_ADDRCONF_ARP_NOTIFY_RETRIES 10 +#define NI_ADDRCONF_ARP_NOTIFY_RETRIES 16 #define NI_ADDRCONF_ARP_NOTIFY_INTERVAL 300 /* ANNOUNCE_INTERVAL */ #define NI_ADDRCONF_ARP_INTERVAL_MIN 100 #define NI_ADDRCONF_ARP_MAX_DURATION 15000 -- 2.35.3 From e7b0ff10cdc782b7688d42d087983e8e4ef7440e Mon Sep 17 00:00:00 2001 From: Clemens Famulla-Conrad <cfamullaconrad@suse.de> Date: Tue, 18 Jun 2024 14:37:21 +0200 Subject: [PATCH 4/4] capture: log individual send errors from kernel as debug The caller may or may not report them or the result as error later. --- src/capture.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/capture.c b/src/capture.c index 0b7f6d71..b18c140c 100644 --- a/src/capture.c +++ b/src/capture.c @@ -818,7 +818,7 @@ ni_capture_send_buf(const ni_capture_t *capture, const ni_buffer_t *buf) rv = sendto(capture->sock->__fd, ni_buffer_head(buf), ni_buffer_count(buf), 0, &capture->addr.sa, sizeof(capture->addr)); if (rv < 0) - ni_error("%s: unable to send %s%spacket: %m", capture->ifname, + ni_debug_socket("%s: unable to send %s%spacket: %m", capture->ifname, capture->desc ?: "", capture->desc ? " " : ""); return rv; @@ -828,8 +828,10 @@ ssize_t ni_capture_send(ni_capture_t *capture, const ni_buffer_t *buf, const ni_timeout_param_t *tmo) { ssize_t rv; + int err; rv = ni_capture_send_buf(capture, buf); + err = errno; if (tmo) { capture->retrans.buffer = buf; capture->retrans.timeout = *tmo; @@ -837,6 +839,7 @@ ni_capture_send(ni_capture_t *capture, const ni_buffer_t *buf, const ni_timeout_ } else { ni_capture_disarm_retransmit(capture); } + errno = err; return rv; } -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor