use crate::printer::{Printer, Stat};
use crate::timeout_stream::TimeoutStream;
-const PATH_SUFFIX_LEN: usize = 2;
+const PATH_SUFFIX_LEN: usize = 3;
#[derive(Clone)]
struct Route { // 32 bytes with a path id u32
path_suffix: [u32; PATH_SUFFIX_LEN],
med: u32,
}
#[allow(dead_code)]
-const ROUTE_LEN: usize = 32 - std::mem::size_of::<(u32, Route)>();
+const ROUTE_LEN: usize = 36 - std::mem::size_of::<(u32, Route)>();
// To keep memory tight (and since we dont' need such close alignment), newtype the v4/v6 routing
// table entries to make sure they are aligned to single bytes.
NLRIEncoding::IP_MPLS_WITH_PATH_ID(_) => (),
NLRIEncoding::IP_VPN_MPLS(_) => (),
NLRIEncoding::L2VPN(_) => (),
- NLRIEncoding::FLOWSPEC(_) => (),
};
}
NLRIEncoding::IP_MPLS_WITH_PATH_ID(_) => (),
NLRIEncoding::IP_VPN_MPLS(_) => (),
NLRIEncoding::L2VPN(_) => (),
- NLRIEncoding::FLOWSPEC(_) => (),
};
}
}
match reader.read() {
Ok((_header, msg)) => {
decoder.buf.advance(decoder.pos);
+ if let Message::Open(ref o) = &msg {
+ self.0 = Some(Capabilities::from_parameters(o.parameters.clone()));
+ }
Ok(Some(msg))
},
Err(e) => match e.kind() {