}
pub use may_route::MayRoute;
-#[throws(PacketError)]
pub async fn route_packet(global: &Global,
- conn: &str, source: Option<&ClientName>,
+ transport_conn: &str, source: Option<&ClientName>,
packet: RoutedPacketData, daddr: IpAddr,
_may_route: MayRoute)
{
let c = &global.config;
let len = packet.len();
let trace = |how: &str, why: &str| {
- trace!("{} {} {} {} {:?} len={}",
- conn,
+ trace!("{} to={:?} came=={} user={} len={} {}",
+ how, daddr, transport_conn,
match source {
Some(s) => (s as &dyn Display),
None => &"local",
},
- how, why, daddr, len);
+ len, why);
};
let (dest, why) =
if daddr == c.vaddr || ! c.vnetwork.iter().any(|n| n.contains(&daddr)) {
- (None, "ipif-inbound-xxx")
+ (Some(&global.local_rx), "via=local")
} else if daddr == c.vrelay {
- (None, "vrelay")
+ (None, " vrelay")
} else if let Some(client) = global.all_clients.get(&ClientName(daddr)) {
- (Some(&client.route), "client")
+ (Some(&client.route), "via=client")
} else {
(None, "no-client")
};
let dest = if let Some(d) = dest { d } else {
- trace("discard", why); return;
+ trace("discard ", why); return;
};
let packet = RoutedPacket {