Hallo,
ich versuche den Kernel mit einer Veränderung zu kompilieren. Der Compiler gibt folgende Fehlermeldungen aus:
undefined reference to 'netpoll_print_options', undefined reference to 'netpoll_setup' and undefined reference to 'netpoll_send_udp'.
In "shamu_defconfig" habe CONFIG_NETPOLL schon aktiviert. Kann mir jemand weiterhelfen??
Der Code(entnommen von: http://stackoverflow.com/quest…ng-netpoll-on-kernel-3-10
C
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/netpoll.h>
static struct netpoll *np = NULL;
static struct netpoll np_t;
// see http://stackoverflow.com/questions/10499865/sending-udp-packets-from-the-linux-kernel
void init_netpoll(void)
{
np_t.name = "LRNG";
strlcpy(np_t.dev_name, "eth0", IFNAMSIZ);
np_t.local_ip.ip = htonl((unsigned long int)0xc0a83802); //192.168.56.2
np_t.local_ip.in.s_addr = htonl((unsigned long int)0xc0a83802); //192.168.56.2
np_t.remote_ip.ip = htonl((unsigned long int)0xc0a83801); //192.168.56.1
np_t.remote_ip.in.s_addr = htonl((unsigned long int)0xc0a83801); //192.168.56.1
np_t.ipv6 = 0;//no IPv6
np_t.local_port = 6666;
np_t.remote_port = 514;
memset(np_t.remote_mac, 0xff, ETH_ALEN);
netpoll_print_options(&np_t);
netpoll_setup(&np_t);
np = &np_t;
}
void clean_netpoll(void)
{
// nothing
}
void sendUdp(const char* buf)
{
int len = strlen(buf);
netpoll_send_udp(np,buf,len);
}
static int __init initmod(void)
{
printk(KERN_INFO "Hello world :)\n");
init_netpoll();
sendUdp("[55] testestestestestestestestest");
sendUdp("<55>Mar 17 21:57:57 frodo sshd[701]: blub");
//0 = module loaded
return 0;
}
static void __exit cleanmod(void)
{
printk(KERN_INFO "Goodbye world :(\n");
}
// Makros
module_init(initmod);
module_exit(cleanmod);
Alles anzeigen