This happened to me after an upgrade of the ISP's PPPoE servers, before I had 0% connection failures.
Probably the new ISP servers are faster.
The patch is for CentOS 7.9 (NetworkManager-1.18.8.tar.xz).
Code: Select all
--- src/ppp/nm-pppd-plugin.c 2020-05-29 14:45:39.000000000 +0300
+++ src/ppp/nm-pppd-plugin.c 2021-11-25 23:47:34.646270979 +0200
@@ -30,6 +30,7 @@
#include <net/if.h>
#include <arpa/inet.h>
#include <dlfcn.h>
+#include <sys/select.h>
#define INET6
#include <pppd/eui64.h>
@@ -56,6 +57,11 @@
char *ppp_phase;
int index;
+ struct timeval wait_interval;
+ wait_interval.tv_sec = 0;
+ wait_interval.tv_usec = 200*1000;
+ fprintf(stderr, "wait=%d\n", select(0, NULL, NULL, NULL, &wait_interval));
+
g_return_if_fail (G_IS_DBUS_PROXY (proxy));
switch (arg) {
@@ -169,6 +175,11 @@
GVariantBuilder builder;
guint32 pppd_made_up_address = htonl (0x0a404040 + ifunit);
+ struct timeval wait_interval;
+ wait_interval.tv_sec = 0;
+ wait_interval.tv_usec = 200*1000;
+ fprintf(stderr, "wait=%d\n", select(0, NULL, NULL, NULL, &wait_interval));
+
g_return_if_fail (G_IS_DBUS_PROXY (proxy));
g_message ("nm-ppp-plugin: (%s): ip-up event", __func__);