|
@@ -612,7 +612,15 @@ impl<'a> Socket<'a> {
|
|
|
};
|
|
|
|
|
|
let dst_addr = servers[pq.server_idx];
|
|
|
- let src_addr = cx.get_source_address(&dst_addr).unwrap(); // TODO remove unwrap
|
|
|
+ let src_addr = match cx.get_source_address(&dst_addr) {
|
|
|
+ Some(src_addr) => src_addr,
|
|
|
+ None => {
|
|
|
+ net_trace!("no source address for destination {}", dst_addr);
|
|
|
+ q.set_state(State::Failure);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
let ip_repr = IpRepr::new(
|
|
|
src_addr,
|
|
|
dst_addr,
|