From 36b61f5f38bd2aae78353fa112c0787f0a89a31f Mon Sep 17 00:00:00 2001 From: sotech117 Date: Sun, 22 Oct 2023 09:22:31 -0400 Subject: forwarding works as expected among multiple subnets, but checksum fails. will focus more on RIP timeouts next. --- cmd/vhost/main.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'cmd/vhost') diff --git a/cmd/vhost/main.go b/cmd/vhost/main.go index 4684c2f..f3bf6ab 100644 --- a/cmd/vhost/main.go +++ b/cmd/vhost/main.go @@ -60,7 +60,9 @@ func main() { hop, err := ipstack.LongestPrefix(netip.MustParseAddr(ipAddr)) myAddr := hop.Interface.IpPrefix.Addr() for _, neighbor := range ipstack.GetNeighbors()[hop.Interface.Name] { - if neighbor.VipAddr == netip.MustParseAddr(ipAddr) { + if neighbor.VipAddr == hop.VIP || + neighbor.VipAddr == netip.MustParseAddr(ipAddr) || + hop.Type == "S" { err = ipstack.SendIP(&myAddr, neighbor, ipstack.TEST_PROTOCOL, messageToSendBytes, ipAddr, nil) if err != nil { fmt.Println(err) -- cgit v1.2.3-70-g09d2