egress model update,remove interface check

This commit is contained in:
Abhishek Kondur 2023-02-04 09:54:56 +04:00
parent cba2a69c36
commit 0505629fd1
4 changed files with 8 additions and 6 deletions

View file

@ -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)
w.WriteHeader(http.StatusOK)
json.NewEncoder(w).Encode(apiNode)
go func() {
mq.PublishPeerUpdate()
}()
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)
w.WriteHeader(http.StatusOK)
json.NewEncoder(w).Encode(apiNode)
go func() {
mq.PublishPeerUpdate()
}()
runUpdates(&node, true)
}

View file

@ -123,10 +123,6 @@ func ValidateEgressGateway(gateway models.EgressGatewayRequest) error {
if empty {
err = errors.New("IP Ranges Cannot Be Empty")
}
empty = gateway.Interface == ""
if empty {
err = errors.New("interface cannot be empty")
}
return err
}

View file

@ -478,6 +478,7 @@ func GetPeerUpdateForHost(host *models.Host) (models.HostPeerUpdate, error) {
}
hostPeerUpdate.EgressInfo[node.ID.String()] = models.EgressInfo{
EgressID: node.ID.String(),
Network: node.Network,
EgressGwAddr: net.IPNet{
IP: net.ParseIP(node.PrimaryAddress()),
Mask: getCIDRMaskFromAddr(node.PrimaryAddress()),

View file

@ -38,6 +38,7 @@ type IngressInfo struct {
type EgressInfo struct {
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"`
GwPeers map[string]PeerRouteInfo `json:"gateway_peers" yaml:"gateway_peers"`
EgressGWCfg EgressGatewayRequest `json:"egress_gateway_cfg" yaml:"egress_gateway_cfg"`