diff --git a/main.go b/main.go
index 4643ba2..787e8bd 100644
--- a/main.go
+++ b/main.go
@@ -18,6 +18,7 @@ package main
import (
"bufio"
+ "cmp"
"context"
"errors"
"flag"
@@ -31,6 +32,7 @@ import (
"os/signal"
"regexp"
"runtime/debug"
+ "slices"
"strings"
"sync"
"time"
@@ -52,6 +54,7 @@ const routingTableTemplate = `
Extended? |
Distance |
Last seen |
+ | Port |
{{range $route := . }}
@@ -60,6 +63,7 @@ const routingTableTemplate = `
{{if $route.Extended}}✅{{else}}❌{{end}} |
{{$route.Distance}} |
{{$route.LastSeenAgo}} |
+ {{if $route.Peer}}{{$route.Peer.RemoteAddr}}{{else}}-{{end}} |
{{end}}
@@ -165,7 +169,11 @@ func main() {
// -------------------------------- Tables --------------------------------
routes := router.NewRoutingTable()
_, done := status.AddItem(ctx, "Routing table", routingTableTemplate, func(context.Context) (any, error) {
- return routes.Dump(), nil
+ rs := routes.Dump()
+ slices.SortFunc(rs, func(ra, rb router.Route) int {
+ return cmp.Compare(ra.NetStart, rb.NetStart)
+ })
+ return rs, nil
})
defer done()
diff --git a/router/peer.go b/router/peer.go
index cc7a1c7..0016ade 100644
--- a/router/peer.go
+++ b/router/peer.go
@@ -387,7 +387,7 @@ func (p *Peer) Handle(ctx context.Context) error {
ddp.Network(nt.RangeStart),
ddp.Network(nt.RangeEnd),
p,
- nt.Distance,
+ nt.Distance+1,
)
}
diff --git a/router/rtmp.go b/router/rtmp.go
index 18891bf..15fb52c 100644
--- a/router/rtmp.go
+++ b/router/rtmp.go
@@ -226,7 +226,7 @@ func (m *RTMPMachine) dataPackets(myAddr ddp.Addr) []*rtmp.DataPacket {
Extended: rt.Extended,
RangeStart: rt.NetStart,
RangeEnd: rt.NetEnd,
- Distance: rt.Distance + 1,
+ Distance: rt.Distance,
})
}
// "The first tuple in RTMP Data packets sent on extended