27 lines
1.1 KiB
C
27 lines
1.1 KiB
C
--- src/mlvpn.c.orig 2026-05-23 10:58:16 UTC
|
|
+++ src/mlvpn.c
|
|
@@ -847,13 +847,17 @@ mlvpn_rtun_start(mlvpn_tunnel_t *t)
|
|
t->name);
|
|
} else {
|
|
/* Setting fib/routing-table is supported on FreeBSD and OpenBSD only */
|
|
-#if defined(HAVE_FREEBSD)
|
|
- if (fib > 0 && setsockopt(fd, SOL_SOCKET, SO_SETFIB, &fib, sizeof(fib)) < 0)
|
|
-#elif defined(HAVE_OPENBSD)
|
|
- if (fib > 0 && setsockopt(fd, SOL_SOCKET, SO_RTABLE, &fib, sizeof(fib)) < 0)
|
|
+#if defined(HAVE_FREEBSD) || defined(HAVE_OPENBSD)
|
|
+ if (fib > 0)
|
|
{
|
|
- log_warn(NULL, "Cannot set FIB %d for kernel socket", fib);
|
|
- goto error;
|
|
+#if defined(HAVE_FREEBSD)
|
|
+ if (setsockopt(fd, SOL_SOCKET, SO_SETFIB, &fib, sizeof(fib)) < 0) {
|
|
+#else
|
|
+ if (setsockopt(fd, SOL_SOCKET, SO_RTABLE, &fib, sizeof(fib)) < 0) {
|
|
+#endif
|
|
+ log_warn(NULL, "Cannot set FIB %d for kernel socket", fib);
|
|
+ goto error;
|
|
+ }
|
|
}
|
|
#endif
|
|
t->fd = fd;
|