mirror of
https://github.com/asterinas/asterinas.git
synced 2025-06-20 13:06:33 +00:00
Implement netlink uevent socket
This commit is contained in:
@ -5,7 +5,9 @@ use crate::{
|
||||
fs::{file_handle::FileLike, file_table::FdFlags},
|
||||
net::socket::{
|
||||
ip::{datagram::DatagramSocket, stream::StreamSocket},
|
||||
netlink::{is_valid_protocol, NetlinkRouteSocket, StandardNetlinkProtocol},
|
||||
netlink::{
|
||||
is_valid_protocol, NetlinkRouteSocket, NetlinkUeventSocket, StandardNetlinkProtocol,
|
||||
},
|
||||
unix::UnixStreamSocket,
|
||||
vsock::VsockStreamSocket,
|
||||
},
|
||||
@ -52,7 +54,10 @@ pub fn sys_socket(domain: i32, type_: i32, protocol: i32, ctx: &Context) -> Resu
|
||||
debug!("netlink family = {:?}", netlink_family);
|
||||
match netlink_family {
|
||||
Ok(StandardNetlinkProtocol::ROUTE) => {
|
||||
Arc::new(NetlinkRouteSocket::new(is_nonblocking))
|
||||
NetlinkRouteSocket::new(is_nonblocking) as Arc<dyn FileLike>
|
||||
}
|
||||
Ok(StandardNetlinkProtocol::KOBJECT_UEVENT) => {
|
||||
NetlinkUeventSocket::new(is_nonblocking) as Arc<dyn FileLike>
|
||||
}
|
||||
Ok(_) => {
|
||||
return_errno_with_message!(
|
||||
|
Reference in New Issue
Block a user