in Kubernetes/wincni/cni/cni.go [209:242]
func (config *NetworkConfig) GetEndpointInfo(
networkinfo *network.NetworkInfo,
containerID string, netNs string, podK8sNamespace string) *network.EndpointInfo {
containerIDToUse := containerID
if netNs != "" {
splits := strings.Split(netNs, ":")
if len(splits) == 2 {
containerIDToUse = splits[1]
}
}
epInfo := &network.EndpointInfo{
Name: containerIDToUse + "_" + networkinfo.ID,
NetworkID: networkinfo.ID,
ContainerID: containerID,
}
epInfo.DNS = network.DNSInfo{
Servers: networkinfo.DNS.Servers,
Suffix: podK8sNamespace + "." + networkinfo.DNS.Suffix,
}
epInfo.Subnet = networkinfo.Subnets[0].AddressPrefix
epInfo.Gateway = networkinfo.Subnets[0].GatewayAddress
runtimeConf := config.RuntimeConfig
logrus.Debugf("Parsing port mappings from %+v", runtimeConf.PortMappings)
for _, mapping := range runtimeConf.PortMappings {
natPolicy := network.GetHNSNatPolicy(mapping.HostPort, mapping.ContainerPort, mapping.Protocol)
logrus.Debugf("Created raw policy from mapping: %+v --- %+v", mapping, natPolicy)
epInfo.Policies = append(epInfo.Policies, natPolicy)
}
return epInfo
}