mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-07 19:34:56 +00:00
pc_nic_drv: basic rtnetlink for lock/unlock and netdev_run_todo()
This commit is contained in:
parent
38d2b8d46a
commit
e691af4e97
@ -128,43 +128,6 @@ EXPORT_SYMBOL_GPL(bpf_master_redirect_enabled_key);
|
||||
DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_sibling_map);
|
||||
EXPORT_PER_CPU_SYMBOL(cpu_sibling_map);
|
||||
|
||||
#include <net/rtnetlink.h>
|
||||
|
||||
void rtnl_register(int protocol,int msgtype,rtnl_doit_func doit,rtnl_dumpit_func dumpit,unsigned int flags)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
}
|
||||
|
||||
#include <linux/rtnetlink.h>
|
||||
|
||||
int rtnl_lock_killable(void)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
#include <linux/rtnetlink.h>
|
||||
|
||||
int rtnl_is_locked(void)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
#include <linux/rtnetlink.h>
|
||||
|
||||
void rtnl_lock(void)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
}
|
||||
|
||||
#include <linux/rtnetlink.h>
|
||||
|
||||
void rtnl_unlock(void)
|
||||
{
|
||||
lx_emul_trace(__func__);
|
||||
}
|
||||
|
||||
#include <linux/netdevice.h>
|
||||
|
||||
int __init dev_proc_init(void)
|
||||
|
58
repos/pc/src/drivers/nic/pc/rtnetlink.c
Normal file
58
repos/pc/src/drivers/nic/pc/rtnetlink.c
Normal file
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* \brief Basic RTNETLINK implementation with lock/unlock and netdev_run_todo()
|
||||
* \author Christian Helmuth
|
||||
* \date 2024-03-26
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2024 Genode Labs GmbH
|
||||
*
|
||||
* This file is distributed under the terms of the GNU General Public License
|
||||
* version 2.
|
||||
*/
|
||||
|
||||
#include <lx_emul.h>
|
||||
|
||||
#include <net/rtnetlink.h>
|
||||
#include <linux/mutex.h>
|
||||
|
||||
#include <../net/core/dev.h>
|
||||
|
||||
|
||||
static DEFINE_MUTEX(rtnl_mutex);
|
||||
|
||||
void rtnl_register(int protocol,int msgtype,rtnl_doit_func doit,rtnl_dumpit_func dumpit,unsigned int flags)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
int rtnl_lock_killable(void)
|
||||
{
|
||||
return mutex_lock_killable(&rtnl_mutex);
|
||||
}
|
||||
|
||||
|
||||
int rtnl_is_locked(void)
|
||||
{
|
||||
return mutex_is_locked(&rtnl_mutex);
|
||||
}
|
||||
|
||||
|
||||
void rtnl_lock(void)
|
||||
{
|
||||
mutex_lock(&rtnl_mutex);
|
||||
}
|
||||
|
||||
|
||||
void __rtnl_unlock(void)
|
||||
{
|
||||
WARN_ON(!list_empty(&net_todo_list));
|
||||
|
||||
mutex_unlock(&rtnl_mutex);
|
||||
}
|
||||
|
||||
|
||||
void rtnl_unlock(void)
|
||||
{
|
||||
netdev_run_todo();
|
||||
}
|
@ -7,6 +7,7 @@ SRC_C += dummies.c
|
||||
SRC_C += lx_emul.c
|
||||
SRC_C += lx_emul/common_dummies.c
|
||||
SRC_C += lx_user.c
|
||||
SRC_C += rtnetlink.c
|
||||
|
||||
vpath %.c $(REP_DIR)/src/lib/pc
|
||||
vpath %.cc $(REP_DIR)/src/lib/pc
|
||||
|
Loading…
x
Reference in New Issue
Block a user