istio.io/istio@v0.0.0-20240520182934-d79c90f27776/pilot/pkg/serviceregistry/serviceentry/workloadentry.go (about) 1 // Copyright Istio Authors 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 package serviceentry 16 17 import ( 18 networking "istio.io/api/networking/v1alpha3" 19 "istio.io/istio/pkg/network" 20 ) 21 22 // return the mesh network for the workload entry. Empty string if not found. 23 func (s *Controller) workloadEntryNetwork(wle *networking.WorkloadEntry) network.ID { 24 if s == nil { 25 return "" 26 } 27 // 1. first check the wle.Network 28 if wle.Network != "" { 29 return network.ID(wle.Network) 30 } 31 32 // 2. fall back to the passed in getNetworkCb func. 33 if s.networkIDCallback != nil { 34 return s.networkIDCallback(wle.Address, wle.Labels) 35 } 36 return "" 37 }