Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Jan 2016 17:46:57 +0100
From:      Marko Zec <zec@fer.hr>
To:        "Andrey V. Elsukov" <bu7cher@yandex.ru>
Cc:        Ben Woods <woodsb02@gmail.com>, <freebsd-net@freebsd.org>
Subject:   Re: Multicast routing on FreeBSD 11 current
Message-ID:  <20160124174657.3d49b7c3@x23>
In-Reply-To: <56A4A4C9.6000807@yandex.ru>
References:  <CAOc73CDHBx5YzSs9xjOqQDDFAq3ccM-kCiQ=0_4qr-U1am4Sbw@mail.gmail.com> <56A4A4C9.6000807@yandex.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 24 Jan 2016 13:17:45 +0300
"Andrey V. Elsukov" <bu7cher@yandex.ru> wrote:

> On 24.01.16 01:14, Ben Woods wrote:
> > % sudo kldload -v ip_mroute
> > kldload: an error occurred while loading the module. Please check
> > dmesg(8) for more details.
> > % dmesg
> > linker_load_file: Unsupported file type
> > 
> > Any ideas what could be causing this error?  
> 
> Usually this means that your running kernel is out of sync with
> modules. You are running r294463, but __FreeBSD_version was bumped
> recently in r294505. You need rebuild and reinstall your kernel and
> all modules.

In this particular case the problem is that ip_mroute demands more
space for "virtualized global" variables than what kernel linker has
put aside for each vnet.

Bumping VNET_MODMIN to 24 should circumvent the issue that Ben is
observing.  A more vnet-friendly fix would require refactoring
ip_mroute's arrays so that they get malloc()ed / free()d from SYSINIT
handlers instead of being declared "virtualized global".

Marko

===================================================================
--- vnet.c      (revision 294659)
+++ vnet.c      (working copy)
@@ -170,7 +170,7 @@
  * we want the virtualized global variable space to be page-sized, we
may
  * have more space than that in practice.
  */
-#define        VNET_MODMIN     8192
+#define        VNET_MODMIN     3 * 8192
 #define        VNET_SIZE       roundup2(VNET_BYTES, PAGE_SIZE)
 #define        VNET_MODSIZE    (VNET_SIZE - (VNET_BYTES - VNET_MODMIN))
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160124174657.3d49b7c3>