Date: Thu, 21 May 2015 11:05:59 -0700 From: "K. Macy" <kmacy@freebsd.org> To: Karlis Laivins <karlis.laivins@gmail.com> Cc: Adrian Chadd <adrian@freebsd.org>, freebsd-net@freebsd.org Subject: Re: New CC modules not loading after Kernel recompilation Message-ID: <CAHM0Q_PpK%2BCpMiFjpA4DoU8SXkHK07edV2WK37xy7HcXiTRhYg@mail.gmail.com> In-Reply-To: <CAF4H_7nNvKfkcd2NsojUNyCSQ-fU=ciMJVFyRUhU-DhGn6MVdw@mail.gmail.com> References: <CAF4H_7nyBMeSwUyMy803GB-tPSV9x7F0esS0wgbzXPe8d1Xdxg@mail.gmail.com> <CAJ-Vmonwdg77UcYMf6qMXn_yHAx5y3JD_n2K5VQosg0XSQ7iUw@mail.gmail.com> <CAF4H_7=XKprJMHdGZPQ5xso3nUEZ2tdeYMm-osh-B6MAOzMGkA@mail.gmail.com> <CAF4H_7krsU3vR_qOixAXi7qR2Lneu0U=9_SLBRyioA52dmjLqQ@mail.gmail.com> <CAHM0Q_Miz54oDe-VGy4BnHCjKg5HjypUKEOXzXPTa7S5eHn3Sw@mail.gmail.com> <CAF4H_7nNvKfkcd2NsojUNyCSQ-fU=ciMJVFyRUhU-DhGn6MVdw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On May 21, 2015 9:34 AM, "Karlis Laivins" <karlis.laivins@gmail.com> wrote: > > Hi, > > The source of the module has netinet/tcp_var.h included, in which the variable is defined. Why it still gives me the aforementioned error? And more importantly, why did it work without problems before I recompiled the Kernel? > Headers declare variables. The variable is defined in the actual source. I can't tell what's different with the kernel before and after without more context than I'm prepared to sift through. 'nm' on the unstripped kernel will list all the symbols. So you can grep for if it's a substring of something actually defined. > BR, > KL > > On Thu, May 21, 2015 at 6:45 PM, K. Macy <kmacy@freebsd.org> wrote: >> >> Your module references a variable that the kernel doesn't define. As soon as you either define it or figure out what you should really be referencing it as your module will load. >> >> On May 21, 2015 3:53 AM, "Karlis Laivins" <karlis.laivins@gmail.com> wrote: >>> >>> Hello again, >>> >>> A little update - the problem occurs only when trying to load a modified >>> NewReno algorithm module. When I create a dummy module from, for example, >>> Vegas implementation (with some trivial changes made besides the function >>> and module names), the module can be loaded successfully. >>> >>> Is there a way (if no other way can be found to fix this right away), to >>> trick the system into using my NewReno module instead of the one hard coded >>> in the system? (I know, sounds silly - change the hard coded settings, but, >>> maybe there is a way...) >>> >>> Thank you in advance! >>> >>> BR, >>> Karlis >>> >>> On Thu, May 21, 2015 at 10:54 AM, Karlis Laivins < karlis.laivins@gmail.com> >>> wrote: >>> >>> > Hello, >>> > >>> > Tried both, still the same issue... >>> > >>> > BR, >>> > KL >>> > >>> > On Thu, May 21, 2015 at 7:30 AM, Adrian Chadd <adrian@freebsd.org> wrote: >>> > >>> >> Hi, >>> >> >>> >> Try kldxref /boot/kernel >>> >> >>> >> If it doesn't help, try recompiling the module. >>> >> >>> >> >>> >> -a >>> >> >>> >> >>> >> On 20 May 2015 at 19:41, Karlis Laivins <karlis.laivins@gmail.com> wrote: >>> >> > Good Morning, >>> >> > >>> >> > I have a following issue, maybe someone has encountered this and can >>> >> > provide me with a quick solution to a following issue. >>> >> > >>> >> > I have compiled a module, which is a modified version of the NewReno >>> >> > congestion control algorithm. I tried to load it into Kernel >>> >> successfully >>> >> > before I recompiled Kernel with a following config file, so I can use >>> >> > Imunes and test the new module: >>> >> > >>> >> > include GENERIC >>> >> > nooptions FLOWTABLE >>> >> > options VIMAGE >>> >> > options VNET_DEBUG >>> >> > options MROUTING >>> >> > >>> >> > options IPSEC >>> >> > device crypto >>> >> > options IPSEC_DEBUG >>> >> > >>> >> > options DDB >>> >> > options KDB >>> >> > >>> >> > The problem is - after the Kernel has been reompiled, I can no longer >>> >> load >>> >> > the module with kldload. The error I get is: >>> >> > >>> >> > link_elf: symbol tcp_do_rfc3465 undefined >>> >> > kldload: can't load cc_changedreno.ko: No such file or directory >>> >> > >>> >> > And this is despite the fact the cc_changedreno.ko module is in >>> >> > /boot/kernel/. >>> >> > >>> >> > Thank you in advance! >>> >> > >>> >> > BR, >>> >> > Karlis >>> >> > _______________________________________________ >>> >> > freebsd-net@freebsd.org mailing list >>> >> > http://lists.freebsd.org/mailman/listinfo/freebsd-net >>> >> > To unsubscribe, send any mail to " freebsd-net-unsubscribe@freebsd.org" >>> >> >>> > >>> > >>> _______________________________________________ >>> freebsd-net@freebsd.org mailing list >>> http://lists.freebsd.org/mailman/listinfo/freebsd-net >>> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHM0Q_PpK%2BCpMiFjpA4DoU8SXkHK07edV2WK37xy7HcXiTRhYg>