Skip site navigation (1)Skip section navigation (2)
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>