type WebResponseData = ();
+#[throws(PacketError)]
+pub fn route_packet(packet: Box<[u8]>, daddr: IpAddr) {
+ trace!("xxx discarding packet daddr={:?} len={}", daddr, packet.len());
+}
+
async fn handle(
all_clients: Arc<AllClients>,
req: hyper::Request<hyper::Body>
if comp.name != PartName::d {
warnings.add(&format_args!("unexpected part {:?}", comp.name))?;
}
- dbg!(comp.name, DumpHex(comp.payload));
+ checkn(Mime2Slip, mtu, comp.payload, |header| {
+ let saddr = ip_packet_addr::<false>(header)?;
+ if saddr != ic.link.client.0 { throw!(PE::Src(saddr)) }
+ let daddr = ip_packet_addr::<true>(header)?;
+ Ok(daddr)
+ }, |(daddr,packet)| route_packet(daddr,packet),
+ |e| { let _xxx = warnings.add(&e); }
+ )?;
}
let oi = OutstandingInner {