smoltcp/wire/
icmp.rs

1#[cfg(feature = "proto-ipv4")]
2use crate::wire::icmpv4;
3#[cfg(feature = "proto-ipv6")]
4use crate::wire::icmpv6;
5
6#[derive(Clone, PartialEq, Eq, Debug)]
7#[cfg_attr(feature = "defmt", derive(defmt::Format))]
8pub enum Repr<'a> {
9    #[cfg(feature = "proto-ipv4")]
10    Ipv4(icmpv4::Repr<'a>),
11    #[cfg(feature = "proto-ipv6")]
12    Ipv6(icmpv6::Repr<'a>),
13}
14#[cfg(feature = "proto-ipv4")]
15impl<'a> From<icmpv4::Repr<'a>> for Repr<'a> {
16    fn from(s: icmpv4::Repr<'a>) -> Self {
17        Repr::Ipv4(s)
18    }
19}
20#[cfg(feature = "proto-ipv6")]
21impl<'a> From<icmpv6::Repr<'a>> for Repr<'a> {
22    fn from(s: icmpv6::Repr<'a>) -> Self {
23        Repr::Ipv6(s)
24    }
25}