@(bgp_sessions: &BTreeMap<(Asn, IpAddr), Vec<(IngressId, IngressInfo)>>) @{ let mut last_asn = Asn::from_u32(0); } @for ((asn, addr), sessions) in bgp_sessions.iter() { @{ last_asn = *asn; } }
@if asn != &last_asn { @asn } @addr @{ let mut iter = sessions.iter().peekable(); } @while iter.peek().is_some() { @{let (bgp_ingress_id, bgp_info) = iter.next().unwrap(); } @#(bgp_info.peer_rib_type.map(|e| format!("{e}") ) .unwrap_or("no-rib-type (unexpected, bug?)".into()) ) @if iter.peek().is_some() { (vs) } }