diff --git a/wicket/src/ui/panes/rack_setup.rs b/wicket/src/ui/panes/rack_setup.rs index dff677ad958..76a1b391441 100644 --- a/wicket/src/ui/panes/rack_setup.rs +++ b/wicket/src/ui/panes/rack_setup.rs @@ -1247,8 +1247,8 @@ fn rss_config_text<'a>( ); } - // Show BGP configuration. - for cfg in bgp { + // Show BGP configurations. + for (i, cfg) in bgp.iter().enumerate() { let BgpConfig { asn, originate, @@ -1258,19 +1258,29 @@ fn rss_config_text<'a>( max_paths, } = cfg; let mut items = vec![ - Span::styled(" • BGP config :", label_style), - Span::styled(" asn=", label_style), - Span::styled(asn.to_string(), ok_style), - Span::styled(" max_paths=", label_style), - Span::styled(max_paths.to_string(), ok_style), - Span::styled(" originate=", label_style), + vec![ + Span::styled(" • asn : ", label_style), + Span::styled(asn.to_string(), ok_style), + ], + vec![ + Span::styled(" • max_paths : ", label_style), + Span::styled(max_paths.to_string(), ok_style), + ], ]; + let mut originate_spans = + vec![Span::styled(" • originate : ", label_style)]; if originate.is_empty() { - items.push(Span::styled("None", warn_style)); + originate_spans.push(Span::styled("None", warn_style)); } else { - items.push(Span::styled(originate.iter().join(","), ok_style)); + originate_spans + .push(Span::styled(originate.iter().join(","), ok_style)); } - spans.push(Line::from(items)); + items.push(originate_spans); + append_list( + &mut spans, + Cow::from(format!("BGP config {}:", i + 1)), + items, + ); } } else { append_list(&mut spans, "Uplinks: ".into(), vec![]);