Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Aug 2011 14:21:37 +0100 (BST)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Monthadar Al Jaberi <monthadar@gmail.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Dynamic kernel module linking problem
Message-ID:  <alpine.BSF.2.00.1108261419390.36226@fledge.watson.org>
In-Reply-To: <CA%2BsBSoK5EyjfC7R-ud__ZQDOOs-erzcbt=dKOOsksMdaUjtvag@mail.gmail.com>
References:  <CA%2BsBSoK5EyjfC7R-ud__ZQDOOs-erzcbt=dKOOsksMdaUjtvag@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Fri, 26 Aug 2011, Monthadar Al Jaberi wrote:

> I have written a dynamic loadable module using DECLARE_MODULE in 
> FreeBSD-Current.
>
> And I want to iterate through the ifnet list using following code snippet:

If this is on a recent version of FreeBSD (8.x and later), then you probably 
mean to be using V_ifnet, and you should include if_var.h rather than using an 
extern in order to ensure virtualisation is handled properly.

Robert

>
> extern struct ifnethead ifnet;
> ...
> struct ifnet *ifp, *ifp_temp;
> TAILQ_FOREACH_SAFE(ifp, &ifnet, if_link, ifp_temp) {
> 		printf("%s\n", ifp->if_dname);
> }
>
> Compilation is fine, but when I load the module I get the following error:
>
> ...
> /sbin/kldload -v module.ko
> link_elf: symbol ifnet undefined
> ...
>
> What am I doing wrong? Shouldn't kernel be able to link it on its own?
>
> Grateful for any advice.
> -- 
> //Monthadar Al Jaberi
> _______________________________________________
> freebsd-hackers@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
>



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