* feat: add cni conflist generator for v4 overlay scenario
* feat: use atomic fs operations
* fix: use same directory as temp dir since /tmp is a tmpfs
* initial implemenation with timeout
* initial implemenation with timeout hns
* modify test
* modify code slightly
* updating to read in timeout flag and settings
* updating to read in timeout settings
* remove extra space
* correct a typo
* timeout value greater than zero for detection
* add couple ut's and remove needless code
* including timeout in hnsv1
* wip
* address comments
* address comments
* supress linter errors and update conflist
* fix linter and ensure we don't regress our tests
* updating with p.r feedback
* addressing comments
* updating linter warning
* update to address TM's comments
* fix lint error
* correct a linter spacing complaint
* remove fmt.sprintf
* added dsr changes for windows
* fixed lint and added unit test
removed unused error
* skip adding dsr policy for hnsv1
* addressed comments
lint fix
* fixed windows uts
* Modify CNI for windows baremetal scenario in Azure
* Fix the CNI result for baremetal case
* Addressed PR comments from Tamilmani and Ramiro
* Remove azure-telemetry.exe from cni-baremetal package
* Fix formatting in logging
* Addressed Ramiro's PR review comments
* Formatting fix in printf
Co-authored-by: VK <abc@gmail.com>
* Added EB rule for ip addresses in conflist for linux
* Made methods more generic and removed line from endpoint struct
* Adding log statement
* Fixed syntax error
* Made review2 changes
* Made review3 changes
* Made method lowercase
* added config option for disabling iptable lock
* added log for iptable and ebtable version
* moved logging dependency package details to platform specific file
* Add dns capabilities to allow for custom dns in Windows
Co-authored-by: James Sturtevant <jstur@microsoft.com>
* Move customDNS logic for Windows into network_windows.go and update link for RuntimeDNSConfig
Co-authored-by: James Sturtevant <jstur@microsoft.com>
* Concatenate the elements of DNS.Searches
This PR adds the following capabilities
1. Support to create and connect containers to different Azure Vnets. Every VlanId corresponds to a different Azure Vnet.
2. SNAT support for containers to reach Internet using the container's host IP as the SNAT address.
Both the above options are controlled by the config parameters in Azure CNI.
* configure dnssuffix & dnsServerList
* add dns info to conflist
* change case for dns info
* remove hardcoding
* remove hardcoding
* parse k8s pod info
* add AdditionalArgs and Dns info to conflist
* serialize policies
* program route info
* start addressign ipam ip leak
* fix 1) ip inconsistency in k8s & pod. 2) IP leak in IPAM.
* remove comments
* separate windows & linux
* remove dnsServers
* remove comments
* address comments
* add dns verification
* abstract linux policy struct
* remove setPolicies