mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-06 01:07:41 +08:00
egress model update,remove interface check
This commit is contained in:
@@ -711,7 +711,9 @@ func createEgressGateway(w http.ResponseWriter, r *http.Request) {
|
|||||||
logger.Log(1, r.Header.Get("user"), "created egress gateway on node", gateway.NodeID, "on network", gateway.NetID)
|
logger.Log(1, r.Header.Get("user"), "created egress gateway on node", gateway.NodeID, "on network", gateway.NetID)
|
||||||
w.WriteHeader(http.StatusOK)
|
w.WriteHeader(http.StatusOK)
|
||||||
json.NewEncoder(w).Encode(apiNode)
|
json.NewEncoder(w).Encode(apiNode)
|
||||||
|
go func() {
|
||||||
|
mq.PublishPeerUpdate()
|
||||||
|
}()
|
||||||
runUpdates(&node, true)
|
runUpdates(&node, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -745,7 +747,9 @@ func deleteEgressGateway(w http.ResponseWriter, r *http.Request) {
|
|||||||
logger.Log(1, r.Header.Get("user"), "deleted egress gateway on node", nodeid, "on network", netid)
|
logger.Log(1, r.Header.Get("user"), "deleted egress gateway on node", nodeid, "on network", netid)
|
||||||
w.WriteHeader(http.StatusOK)
|
w.WriteHeader(http.StatusOK)
|
||||||
json.NewEncoder(w).Encode(apiNode)
|
json.NewEncoder(w).Encode(apiNode)
|
||||||
|
go func() {
|
||||||
|
mq.PublishPeerUpdate()
|
||||||
|
}()
|
||||||
runUpdates(&node, true)
|
runUpdates(&node, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -123,10 +123,6 @@ func ValidateEgressGateway(gateway models.EgressGatewayRequest) error {
|
|||||||
if empty {
|
if empty {
|
||||||
err = errors.New("IP Ranges Cannot Be Empty")
|
err = errors.New("IP Ranges Cannot Be Empty")
|
||||||
}
|
}
|
||||||
empty = gateway.Interface == ""
|
|
||||||
if empty {
|
|
||||||
err = errors.New("interface cannot be empty")
|
|
||||||
}
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -478,6 +478,7 @@ func GetPeerUpdateForHost(host *models.Host) (models.HostPeerUpdate, error) {
|
|||||||
}
|
}
|
||||||
hostPeerUpdate.EgressInfo[node.ID.String()] = models.EgressInfo{
|
hostPeerUpdate.EgressInfo[node.ID.String()] = models.EgressInfo{
|
||||||
EgressID: node.ID.String(),
|
EgressID: node.ID.String(),
|
||||||
|
Network: node.Network,
|
||||||
EgressGwAddr: net.IPNet{
|
EgressGwAddr: net.IPNet{
|
||||||
IP: net.ParseIP(node.PrimaryAddress()),
|
IP: net.ParseIP(node.PrimaryAddress()),
|
||||||
Mask: getCIDRMaskFromAddr(node.PrimaryAddress()),
|
Mask: getCIDRMaskFromAddr(node.PrimaryAddress()),
|
||||||
|
@@ -38,6 +38,7 @@ type IngressInfo struct {
|
|||||||
|
|
||||||
type EgressInfo struct {
|
type EgressInfo struct {
|
||||||
EgressID string `json:"egress_id" yaml:"egress_id"`
|
EgressID string `json:"egress_id" yaml:"egress_id"`
|
||||||
|
Network string `json:"network" yaml:"network"`
|
||||||
EgressGwAddr net.IPNet `json:"egress_gw_addr" yaml:"egress_gw_addr"`
|
EgressGwAddr net.IPNet `json:"egress_gw_addr" yaml:"egress_gw_addr"`
|
||||||
GwPeers map[string]PeerRouteInfo `json:"gateway_peers" yaml:"gateway_peers"`
|
GwPeers map[string]PeerRouteInfo `json:"gateway_peers" yaml:"gateway_peers"`
|
||||||
EgressGWCfg EgressGatewayRequest `json:"egress_gateway_cfg" yaml:"egress_gateway_cfg"`
|
EgressGWCfg EgressGatewayRequest `json:"egress_gateway_cfg" yaml:"egress_gateway_cfg"`
|
||||||
|
Reference in New Issue
Block a user