Skip to content

Commit d143cb7

Browse files
authored
feat: add support for printing bgp state of connected machines (#270)
* feat: add support for printing bgp state of connected machines * pin metal-go
1 parent b218311 commit d143cb7

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

cmd/tableprinters/switch.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,9 +210,19 @@ func (t *TablePrinter) SwitchWithConnectedMachinesTable(data *SwitchesWithMachin
210210
nic := pointer.SafeDeref(conn.Nic)
211211
nicname := pointer.SafeDeref(nic.Name)
212212
nicstate := pointer.SafeDeref(nic.Actual)
213+
bgpstate := pointer.SafeDeref(nic.BgpPortState)
213214
if nicstate != "UP" {
214215
nicname = fmt.Sprintf("%s (%s)", nicname, color.RedString(nicstate))
215216
}
217+
if bgpstate.BgpState != nil && wide {
218+
switch *bgpstate.BgpState {
219+
case "Established":
220+
uptime := time.Since(time.Unix(*bgpstate.BgpTimerUpEstablished, 0)).Round(time.Second)
221+
nicname = fmt.Sprintf("%s (BGP:%s(%s))", nicname, *bgpstate.BgpState, uptime)
222+
default:
223+
nicname = fmt.Sprintf("%s (BGP:%s)", nicname, *bgpstate.BgpState)
224+
}
225+
}
216226

217227
if wide {
218228
emojis, _ := t.getMachineStatusEmojis(m.Liveliness, m.Events, m.State, pointer.SafeDeref(m.Allocation).Vpn)

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ require (
1010
github.com/go-openapi/strfmt v0.23.0
1111
github.com/google/go-cmp v0.6.0
1212
github.com/google/uuid v1.6.0
13-
github.com/metal-stack/metal-go v0.39.2
13+
github.com/metal-stack/metal-go v0.39.5
1414
github.com/metal-stack/metal-lib v0.19.0
1515
github.com/metal-stack/updater v1.2.2
1616
github.com/metal-stack/v v1.0.3

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,8 +244,8 @@ github.com/mdlayher/sdnotify v1.0.0 h1:Ma9XeLVN/l0qpyx1tNeMSeTjCPH6NtuD6/N9XdTlQ
244244
github.com/mdlayher/sdnotify v1.0.0/go.mod h1:HQUmpM4XgYkhDLtd+Uad8ZFK1T9D5+pNxnXQjCeJlGE=
245245
github.com/mdlayher/socket v0.5.1 h1:VZaqt6RkGkt2OE9l3GcC6nZkqD3xKeQLyfleW/uBcos=
246246
github.com/mdlayher/socket v0.5.1/go.mod h1:TjPLHI1UgwEv5J1B5q0zTZq12A/6H7nKmtTanQE37IQ=
247-
github.com/metal-stack/metal-go v0.39.2 h1:E2iZ8f7Qo/z2ClbtICYu4iKn91zFv0RonFmuPlbC6tk=
248-
github.com/metal-stack/metal-go v0.39.2/go.mod h1:ltItf/Md/z588c7Dr3X6iemCeOFh3rJ8nDL5Dpb9zFQ=
247+
github.com/metal-stack/metal-go v0.39.5 h1:XLw6By7daBzzelyjBFkkFCcWlD+w/8h3PQtfa8QW56A=
248+
github.com/metal-stack/metal-go v0.39.5/go.mod h1:ltItf/Md/z588c7Dr3X6iemCeOFh3rJ8nDL5Dpb9zFQ=
249249
github.com/metal-stack/metal-lib v0.19.0 h1:4yBnp/jPGgX9KeCje3A4MFL2oDjgjOjgsIK391LltRI=
250250
github.com/metal-stack/metal-lib v0.19.0/go.mod h1:fCMaWwVGA/xAoGvBk72/nfzqBkHly0iOzrWpc55Fau4=
251251
github.com/metal-stack/security v0.9.0 h1:FYBXJfNJwUw2E0HBa+jay37XF7b6EikEuf4Mw8u04EY=

0 commit comments

Comments
 (0)