packets = check
::<_,_,true>(ic.mtu, &data, |header| {
let addr = ip_packet_addr::<false>(header)?;
- if addr != ic.link.client.0 { throw!(PE::UnexpectedSrc(addr)) }
+ if addr != ic.link.client.0 { throw!(PE::Src(addr)) }
Ok(())
}, |e| match e {
- e => error!("PACKET ERROR {}", e), // xxx
+ PE::Empty => { },
+ e@ PE::Src(_) => debug!("{}: tx: discarding: {}", &ic, e),
+ e => error!("{}: tx: discarding: {}", &ic, e),
}).into();
},
#[error("empty packet")] Empty,
#[error("MTU exceeded ({len} > {mtu})")] MTU { len: usize, mtu: u32 },
#[error("Invalid SLIP escape sequence")] SLIP,
- #[error("unexpected src addr {0:?}")] UnexpectedSrc(IpAddr),
- #[error("unexpected dst addr {0:?}")] UnexpectedDst(IpAddr),
+ #[error("unexpected src addr {0:?}")] Src(IpAddr),
+ #[error("unexpected dst addr {0:?}")] Dst(IpAddr),
#[error("bad, IPv{vsn}, len={len}")] Bad { len: usize, vsn: u8 },
}