Browse Source

Fix 14185a16.

whitequark 7 years ago
parent
commit
3f917c1adc
1 changed files with 8 additions and 9 deletions
  1. 8 9
      src/iface/ethernet.rs

+ 8 - 9
src/iface/ethernet.rs

@@ -70,15 +70,14 @@ enum Packet<'a> {
 impl<'a> Packet<'a> {
     fn neighbor_addr(&self) -> Option<IpAddress> {
         match self {
-            &Packet::None |
-            &Packet::Arp(_) =>
-                None,
-            &Packet::Icmpv4((ref ipv4_repr, _)) =>
-                Some(ipv4_repr.dst_addr.into()),
-            &Packet::Raw((ref ip_repr, _)) |
-            &Packet::Udp((ref ip_repr, _)) |
-            &Packet::Tcp((ref ip_repr, _)) =>
-                Some(ip_repr.dst_addr())
+            &Packet::None | &Packet::Arp(_) => None,
+            &Packet::Icmpv4((ref ipv4_repr, _)) => Some(ipv4_repr.dst_addr.into()),
+            #[cfg(feature = "socket-raw")]
+            &Packet::Raw((ref ip_repr, _)) => Some(ip_repr.dst_addr()),
+            #[cfg(feature = "socket-udp")]
+            &Packet::Udp((ref ip_repr, _)) => Some(ip_repr.dst_addr()),
+            #[cfg(feature = "socket-tcp")]
+            &Packet::Tcp((ref ip_repr, _)) => Some(ip_repr.dst_addr())
         }
     }
 }