diff options
-rw-r--r-- | cmd/vhost/main.go | 6 | ||||
-rw-r--r-- | cmd/vrouter/main.go | 5 | ||||
-rwxr-xr-x | vhost | bin | 3100381 -> 3100397 bytes | |||
-rwxr-xr-x | vrouter | bin | 3100445 -> 3100405 bytes |
4 files changed, 5 insertions, 6 deletions
diff --git a/cmd/vhost/main.go b/cmd/vhost/main.go index f3bf6ab..549b1de 100644 --- a/cmd/vhost/main.go +++ b/cmd/vhost/main.go @@ -60,9 +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 == hop.VIP || - neighbor.VipAddr == netip.MustParseAddr(ipAddr) || - hop.Type == "S" { + // TODO: fix multiple send bug here on static route + if neighbor.VipAddr == netip.MustParseAddr(ipAddr) || + neighbor.VipAddr == hop.VIP && hop.Type == "S" { err = ipstack.SendIP(&myAddr, neighbor, ipstack.TEST_PROTOCOL, messageToSendBytes, ipAddr, nil) if err != nil { fmt.Println(err) diff --git a/cmd/vrouter/main.go b/cmd/vrouter/main.go index 59e2816..ec9a891 100644 --- a/cmd/vrouter/main.go +++ b/cmd/vrouter/main.go @@ -78,9 +78,8 @@ func main() { } myAddr := hop.Interface.IpPrefix.Addr() for _, neighbor := range ipstack.GetNeighbors()[hop.Interface.Name] { - if neighbor.VipAddr == hop.VIP || - neighbor.VipAddr == netip.MustParseAddr(ipAddr) || - hop.Type == "S" { + if neighbor.VipAddr == netip.MustParseAddr(ipAddr) || + neighbor.VipAddr == hop.VIP && hop.Type == "S" { err = ipstack.SendIP(&myAddr, neighbor, ipstack.TEST_PROTOCOL, messageToSendBytes, ipAddr, nil) if err != nil { fmt.Println(err) Binary files differBinary files differ |