rebrand to krata

This commit is contained in:
Alex Zenla
2024-02-21 20:57:46 +00:00
parent af50f1d996
commit c582f15c54
35 changed files with 139 additions and 136 deletions

View File

@ -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]]

View File

@ -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 {}

View File

@ -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()?;

View File

@ -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<()> {

View File

@ -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

View File

@ -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
);
}

View File

@ -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;

View File

@ -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);

View File

@ -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,

View File

@ -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 {

View File

@ -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>,

View File

@ -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 {

View File

@ -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)]