mirror of
https://github.com/edera-dev/krata.git
synced 2025-08-03 21:21:32 +00:00
rebrand to krata
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
[package]
|
||||
name = "hyphanet"
|
||||
name = "kratanet"
|
||||
version.workspace = true
|
||||
edition = "2021"
|
||||
resolver = "2"
|
||||
@ -31,7 +31,7 @@ path = "../libs/xen/xenstore"
|
||||
path = "src/lib.rs"
|
||||
|
||||
[[bin]]
|
||||
name = "hyphanet"
|
||||
name = "kratanet"
|
||||
path = "bin/network.rs"
|
||||
|
||||
[[example]]
|
||||
|
@ -1,7 +1,7 @@
|
||||
use anyhow::Result;
|
||||
use clap::Parser;
|
||||
use env_logger::Env;
|
||||
use hyphanet::NetworkService;
|
||||
use kratanet::NetworkService;
|
||||
|
||||
#[derive(Parser, Debug)]
|
||||
struct NetworkArgs {}
|
||||
|
@ -1,7 +1,7 @@
|
||||
use std::{thread::sleep, time::Duration};
|
||||
|
||||
use anyhow::Result;
|
||||
use hyphanet::autonet::AutoNetworkCollector;
|
||||
use kratanet::autonet::AutoNetworkCollector;
|
||||
|
||||
fn main() -> Result<()> {
|
||||
let mut collector = AutoNetworkCollector::new()?;
|
||||
|
@ -1,7 +1,7 @@
|
||||
use std::{net::Ipv6Addr, str::FromStr, time::Duration};
|
||||
|
||||
use anyhow::Result;
|
||||
use hyphanet::icmp::{IcmpClient, IcmpProtocol};
|
||||
use kratanet::icmp::{IcmpClient, IcmpProtocol};
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> Result<()> {
|
||||
|
@ -53,7 +53,7 @@ impl AutoNetworkCollector {
|
||||
};
|
||||
|
||||
let dom_path = format!("/local/domain/{}", domid_string);
|
||||
let Some(uuid_string) = tx.read_string_optional(&format!("{}/hypha/uuid", dom_path))?
|
||||
let Some(uuid_string) = tx.read_string_optional(&format!("{}/krata/uuid", dom_path))?
|
||||
else {
|
||||
continue;
|
||||
};
|
||||
@ -91,10 +91,10 @@ impl AutoNetworkCollector {
|
||||
dom_path: &str,
|
||||
side: &str,
|
||||
) -> Result<NetworkSide> {
|
||||
let side_path = format!("{}/hypha/network/{}", dom_path, side);
|
||||
let side_path = format!("{}/krata/network/{}", dom_path, side);
|
||||
let Some(ipv4) = tx.read_string_optional(&format!("{}/ipv4", side_path))? else {
|
||||
return Err(anyhow!(
|
||||
"hypha domain {} is missing {} ipv4 network entry",
|
||||
"krata domain {} is missing {} ipv4 network entry",
|
||||
uuid,
|
||||
side
|
||||
));
|
||||
@ -102,7 +102,7 @@ impl AutoNetworkCollector {
|
||||
|
||||
let Some(ipv6) = tx.read_string_optional(&format!("{}/ipv6", side_path))? else {
|
||||
return Err(anyhow!(
|
||||
"hypha domain {} is missing {} ipv6 network entry",
|
||||
"krata domain {} is missing {} ipv6 network entry",
|
||||
uuid,
|
||||
side
|
||||
));
|
||||
@ -110,7 +110,7 @@ impl AutoNetworkCollector {
|
||||
|
||||
let Some(mac) = tx.read_string_optional(&format!("{}/mac", side_path))? else {
|
||||
return Err(anyhow!(
|
||||
"hypha domain {} is missing {} mac address entry",
|
||||
"krata domain {} is missing {} mac address entry",
|
||||
uuid,
|
||||
side
|
||||
));
|
||||
@ -118,7 +118,7 @@ impl AutoNetworkCollector {
|
||||
|
||||
let Ok(ipv4) = Ipv4Cidr::from_str(&ipv4) else {
|
||||
return Err(anyhow!(
|
||||
"hypha domain {} has invalid {} ipv4 network cidr entry: {}",
|
||||
"krata domain {} has invalid {} ipv4 network cidr entry: {}",
|
||||
uuid,
|
||||
side,
|
||||
ipv4
|
||||
@ -127,7 +127,7 @@ impl AutoNetworkCollector {
|
||||
|
||||
let Ok(ipv6) = Ipv6Cidr::from_str(&ipv6) else {
|
||||
return Err(anyhow!(
|
||||
"hypha domain {} has invalid {} ipv6 network cidr entry: {}",
|
||||
"krata domain {} has invalid {} ipv6 network cidr entry: {}",
|
||||
uuid,
|
||||
side,
|
||||
ipv6
|
||||
@ -136,7 +136,7 @@ impl AutoNetworkCollector {
|
||||
|
||||
let Ok(mac) = EthernetAddress::from_str(&mac) else {
|
||||
return Err(anyhow!(
|
||||
"hypha domain {} has invalid {} mac address entry: {}",
|
||||
"krata domain {} has invalid {} mac address entry: {}",
|
||||
uuid,
|
||||
side,
|
||||
mac
|
||||
|
@ -16,7 +16,7 @@ use tokio::select;
|
||||
use tokio::sync::mpsc::{channel, Receiver};
|
||||
use tokio::task::JoinHandle;
|
||||
|
||||
const TX_CHANNEL_BUFFER_LEN: usize = 300;
|
||||
const TX_CHANNEL_BUFFER_LEN: usize = 1000;
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct NetworkBackend {
|
||||
@ -151,12 +151,12 @@ impl NetworkBackend {
|
||||
pub async fn launch(self) -> Result<JoinHandle<()>> {
|
||||
Ok(tokio::task::spawn(async move {
|
||||
info!(
|
||||
"lauched network backend for hypha guest {}",
|
||||
"lauched network backend for krata guest {}",
|
||||
self.metadata.uuid
|
||||
);
|
||||
if let Err(error) = self.run().await {
|
||||
warn!(
|
||||
"network backend for hypha guest {} failed: {}",
|
||||
"network backend for krata guest {} failed: {}",
|
||||
self.metadata.uuid, error
|
||||
);
|
||||
}
|
||||
@ -167,7 +167,7 @@ impl NetworkBackend {
|
||||
impl Drop for NetworkBackend {
|
||||
fn drop(&mut self) {
|
||||
info!(
|
||||
"destroyed network backend for hypha guest {}",
|
||||
"destroyed network backend for krata guest {}",
|
||||
self.metadata.uuid
|
||||
);
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
use bytes::BytesMut;
|
||||
// Referenced https://github.com/vi/wgslirpy/blob/master/crates/libwgslirpy/src/channelized_smoltcp_device.rs
|
||||
use bytes::BytesMut;
|
||||
use log::{debug, warn};
|
||||
use smoltcp::phy::{Checksum, Device, Medium};
|
||||
use tokio::sync::mpsc::Sender;
|
||||
|
@ -1,4 +1,4 @@
|
||||
use std::{collections::HashMap, time::Duration};
|
||||
use std::{collections::HashMap, thread, time::Duration};
|
||||
|
||||
use anyhow::Result;
|
||||
use autonet::{AutoNetworkChangeset, AutoNetworkCollector, NetworkMetadata};
|
||||
@ -64,6 +64,7 @@ impl NetworkService {
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
thread::sleep(Duration::from_secs(1));
|
||||
let (launched, failed) = futures::executor::block_on(async move {
|
||||
let mut failed: Vec<Uuid> = Vec::new();
|
||||
let mut launched: Vec<(Uuid, JoinHandle<()>)> = Vec::new();
|
||||
@ -76,7 +77,7 @@ impl NetworkService {
|
||||
|
||||
Err((metadata, error)) => {
|
||||
warn!(
|
||||
"failed to launch network backend for hypha guest {}: {}",
|
||||
"failed to launch network backend for krata guest {}: {}",
|
||||
metadata.uuid, error
|
||||
);
|
||||
failed.push(metadata.uuid);
|
||||
|
@ -34,7 +34,7 @@ use super::key::NatKeyProtocol;
|
||||
use super::table::NatTable;
|
||||
|
||||
const RECLAIM_CHANNEL_QUEUE_LEN: usize = 10;
|
||||
const RECEIVE_CHANNEL_QUEUE_LEN: usize = 30;
|
||||
const RECEIVE_CHANNEL_QUEUE_LEN: usize = 1000;
|
||||
|
||||
pub struct NatProcessor {
|
||||
mtu: usize,
|
||||
|
@ -17,7 +17,7 @@ mod icmp;
|
||||
mod tcp;
|
||||
mod udp;
|
||||
|
||||
const RX_CHANNEL_BOUND: usize = 300;
|
||||
const RX_CHANNEL_QUEUE_LEN: usize = 1000;
|
||||
|
||||
pub struct ProxyNatHandlerFactory {}
|
||||
|
||||
@ -38,7 +38,7 @@ impl NatHandlerFactory for ProxyNatHandlerFactory {
|
||||
async fn nat(&self, context: NatHandlerContext) -> Option<Box<dyn NatHandler>> {
|
||||
match context.key.protocol {
|
||||
NatKeyProtocol::Udp => {
|
||||
let (rx_sender, rx_receiver) = channel::<BytesMut>(RX_CHANNEL_BOUND);
|
||||
let (rx_sender, rx_receiver) = channel::<BytesMut>(RX_CHANNEL_QUEUE_LEN);
|
||||
let mut handler = ProxyUdpHandler::new(rx_sender);
|
||||
|
||||
if let Err(error) = handler.spawn(context, rx_receiver).await {
|
||||
@ -50,7 +50,7 @@ impl NatHandlerFactory for ProxyNatHandlerFactory {
|
||||
}
|
||||
|
||||
NatKeyProtocol::Icmp => {
|
||||
let (rx_sender, rx_receiver) = channel::<BytesMut>(RX_CHANNEL_BOUND);
|
||||
let (rx_sender, rx_receiver) = channel::<BytesMut>(RX_CHANNEL_QUEUE_LEN);
|
||||
let mut handler = ProxyIcmpHandler::new(rx_sender);
|
||||
|
||||
if let Err(error) = handler.spawn(context, rx_receiver).await {
|
||||
@ -62,7 +62,7 @@ impl NatHandlerFactory for ProxyNatHandlerFactory {
|
||||
}
|
||||
|
||||
NatKeyProtocol::Tcp => {
|
||||
let (rx_sender, rx_receiver) = channel::<BytesMut>(RX_CHANNEL_BOUND);
|
||||
let (rx_sender, rx_receiver) = channel::<BytesMut>(RX_CHANNEL_QUEUE_LEN);
|
||||
let mut handler = ProxyTcpHandler::new(rx_sender);
|
||||
|
||||
if let Err(error) = handler.spawn(context, rx_receiver).await {
|
||||
|
@ -32,7 +32,7 @@ const TCP_BUFFER_SIZE: usize = 65535;
|
||||
const TCP_ACCEPT_TIMEOUT_SECS: u64 = 120;
|
||||
const TCP_DANGLE_TIMEOUT_SECS: u64 = 10;
|
||||
|
||||
const TCP_IP_BUFFER_LEN: usize = 300;
|
||||
const TCP_IP_BUFFER_LEN: usize = 1000;
|
||||
|
||||
pub struct ProxyTcpHandler {
|
||||
rx_sender: Sender<BytesMut>,
|
||||
|
@ -11,8 +11,8 @@ use tokio::select;
|
||||
use tokio::sync::mpsc::{channel, Receiver, Sender};
|
||||
use tokio::task::JoinHandle;
|
||||
|
||||
const RAW_SOCKET_TRANSMIT_QUEUE_LEN: usize = 500;
|
||||
const RAW_SOCKET_RECEIVE_QUEUE_LEN: usize = 500;
|
||||
const RAW_SOCKET_TRANSMIT_QUEUE_LEN: usize = 1000;
|
||||
const RAW_SOCKET_RECEIVE_QUEUE_LEN: usize = 1000;
|
||||
|
||||
#[derive(Debug)]
|
||||
pub enum RawSocketProtocol {
|
||||
|
@ -19,9 +19,9 @@ use tokio::{
|
||||
task::JoinHandle,
|
||||
};
|
||||
|
||||
const TO_BRIDGE_QUEUE_LEN: usize = 50;
|
||||
const FROM_BRIDGE_QUEUE_LEN: usize = 50;
|
||||
const BROADCAST_QUEUE_LEN: usize = 50;
|
||||
const TO_BRIDGE_QUEUE_LEN: usize = 1000;
|
||||
const FROM_BRIDGE_QUEUE_LEN: usize = 1000;
|
||||
const BROADCAST_QUEUE_LEN: usize = 1000;
|
||||
const MEMBER_LEAVE_QUEUE_LEN: usize = 10;
|
||||
|
||||
#[derive(Debug)]
|
||||
|
Reference in New Issue
Block a user