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}