Просмотр исходного кода

add default gw changes to peer update

abhishek9686 1 год назад
Родитель
Сommit
792d55f4dd
2 измененных файлов с 9 добавлено и 0 удалено
  1. 7 0
      logic/peers.go
  2. 2 0
      models/mqtt.go

+ 7 - 0
logic/peers.go

@@ -122,7 +122,14 @@ func GetPeerUpdateForHost(network string, host *models.Host, allNodes []models.N
 			}
 			continue
 		}
+		if node.InternetGwID != "" {
+			inetNode, err := GetNodeByID(node.InternetGwID)
+			if err == nil {
+				hostPeerUpdate.ChangeDefaultGw = true
+				hostPeerUpdate.DefaultGwIp = inetNode.Address.IP
+			}
 
+		}
 		currentPeers := GetNetworkNodesMemory(allNodes, node.Network)
 		for _, peer := range currentPeers {
 			peer := peer

+ 2 - 0
models/mqtt.go

@@ -9,6 +9,8 @@ import (
 // HostPeerUpdate - struct for host peer updates
 type HostPeerUpdate struct {
 	Host            Host                 `json:"host" bson:"host" yaml:"host"`
+	ChangeDefaultGw bool                 `json:"change_default_gw"`
+	DefaultGwIp     net.IP               `json:"default_gw_ip"`
 	NodeAddrs       []net.IPNet          `json:"nodes_addrs" yaml:"nodes_addrs"`
 	Server          string               `json:"server" bson:"server" yaml:"server"`
 	ServerVersion   string               `json:"serverversion" bson:"serverversion" yaml:"serverversion"`