aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'cmd')
-rw-r--r--cmd/vhost/main.go4
-rw-r--r--cmd/vrouter/main.go8
2 files changed, 10 insertions, 2 deletions
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)
diff --git a/cmd/vrouter/main.go b/cmd/vrouter/main.go
index ba7f285..59e2816 100644
--- a/cmd/vrouter/main.go
+++ b/cmd/vrouter/main.go
@@ -72,9 +72,15 @@ func main() {
messageToSendBytes := []byte(messageToSend)
hop, err := ipstack.LongestPrefix(netip.MustParseAddr(ipAddr))
+ if err != nil {
+ fmt.Println(err)
+ continue
+ }
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)