Browse Source

add proxy listen port to peer config

Abhishek Kondur 2 years ago
parent
commit
83dfa1f920
3 changed files with 13 additions and 16 deletions
  1. 1 1
      go.mod
  2. 2 0
      go.sum
  3. 10 15
      logic/peers.go

+ 1 - 1
go.mod

@@ -51,7 +51,7 @@ require (
 )
 
 require (
-	github.com/gravitl/netclient v0.0.0-20221212032929-15c2b84448e8
+	github.com/gravitl/netclient v0.0.0-20221212051457-45afab7712d2
 	github.com/matryer/is v1.4.0
 )
 

+ 2 - 0
go.sum

@@ -298,6 +298,8 @@ github.com/gravitl/netclient v0.0.0-20221212031253-ab5eb9a53372 h1:P6jwgZ+w4Y90T
 github.com/gravitl/netclient v0.0.0-20221212031253-ab5eb9a53372/go.mod h1:KQlziG6asAFnUqehMBh2K2Od6pAx/F7Rm33MowgTyiI=
 github.com/gravitl/netclient v0.0.0-20221212032929-15c2b84448e8 h1:5YMrQAqcGhOVuCL0HuB/2NUH0+5EI9ElTdM4mW6hP+I=
 github.com/gravitl/netclient v0.0.0-20221212032929-15c2b84448e8/go.mod h1:qcvfwzXyCRWD9YV6KA1oPiG+wlsOhef7eh7mQ05bgkQ=
+github.com/gravitl/netclient v0.0.0-20221212051457-45afab7712d2 h1:k6VSRlyUW0DXqZSH/YLXZQZmpQ64nPzvjnO1+UtzOT4=
+github.com/gravitl/netclient v0.0.0-20221212051457-45afab7712d2/go.mod h1:T/MD12+MgaeoyoecaiL4v6SPP7QFQVc+/TPMM8M6XkE=
 github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
 github.com/guumaster/hostctl v1.1.3 h1:b/yR3svkYsbr5VBdvfdyLXUl2xaKopSzgE/Xi7+1WRo=
 github.com/guumaster/hostctl v1.1.3/go.mod h1:h5rDx5Z8Hj2bYZfDt/eX4BNS2RSq7iRcGVQqfROJyH8=

+ 10 - 15
logic/peers.go

@@ -84,17 +84,10 @@ func GetPeersForProxy(node *models.Node, onlyPeers bool) (manager.ProxyManagerPa
 			logger.Log(1, "failed to parse node pub key: ", peer.ID)
 			continue
 		}
-		proxyStatus := peer.Proxy
-		var listenPort int32
-		if proxyStatus {
-			listenPort = peer.ProxyListenPort
-		} else {
-			listenPort = peer.LocalListenPort
-		}
+		listenPort := peer.LocalListenPort
 		if listenPort == 0 {
 			listenPort = peer.ListenPort
 		}
-
 		endpoint, err := net.ResolveUDPAddr("udp", fmt.Sprintf("%s:%d", peer.Endpoint, listenPort))
 		if err != nil {
 			logger.Log(1, "failed to resolve udp addr for node: ", peer.ID, peer.Endpoint, err.Error())
@@ -106,7 +99,7 @@ func GetPeersForProxy(node *models.Node, onlyPeers bool) (manager.ProxyManagerPa
 			// set_keepalive
 			keepalive, _ = time.ParseDuration(strconv.FormatInt(int64(node.PersistentKeepalive), 10) + "s")
 		}
-
+		proxyStatus := peer.Proxy
 		if peer.IsServer == "yes" {
 			proxyStatus = servercfg.IsProxyEnabled()
 		}
@@ -118,8 +111,9 @@ func GetPeersForProxy(node *models.Node, onlyPeers bool) (manager.ProxyManagerPa
 			ReplaceAllowedIPs:           true,
 		})
 		peerConfMap[peer.PublicKey] = proxy_models.PeerConf{
-			Address: net.ParseIP(peer.PrimaryAddress()),
-			Proxy:   proxyStatus,
+			Address:         net.ParseIP(peer.PrimaryAddress()),
+			Proxy:           proxyStatus,
+			ProxyListenPort: peer.ProxyListenPort,
 		}
 
 		if !onlyPeers && peer.IsRelayed == "yes" {
@@ -129,10 +123,11 @@ func GetPeersForProxy(node *models.Node, onlyPeers bool) (manager.ProxyManagerPa
 				if err == nil {
 					peerConfMap[peer.PublicKey] = proxy_models.PeerConf{
 
-						IsRelayed: true,
-						RelayedTo: relayTo,
-						Address:   net.ParseIP(peer.PrimaryAddress()),
-						Proxy:     proxyStatus,
+						IsRelayed:       true,
+						RelayedTo:       relayTo,
+						Address:         net.ParseIP(peer.PrimaryAddress()),
+						Proxy:           proxyStatus,
+						ProxyListenPort: peer.ProxyListenPort,
 					}
 				}