@@ -115,7 +115,7 @@ type NetworkManager interface {
115115 DetachEndpoint (networkID string , endpointID string ) error
116116 UpdateEndpoint (networkID string , existingEpInfo * EndpointInfo , targetEpInfo * EndpointInfo ) error
117117 GetNumberOfEndpoints (ifName string , networkID string ) int
118- GetEndpointID (containerID , ifName string ) string
118+ GetEndpointID (containerID , ifName string , nicType cns. NICType ) string
119119 IsStatelessCNIMode () bool
120120 SaveState (eps []* endpoint ) error
121121 DeleteState (epInfos []* EndpointInfo ) error
@@ -514,7 +514,7 @@ func (nm *networkManager) DeleteEndpointState(networkID string, epInfo *Endpoint
514514 nw := & network {
515515 Id : networkID , // currently unused in stateless cni
516516 HnsId : epInfo .HNSNetworkID ,
517- Mode : opModeTransparentVlan ,
517+ Mode : opModeTransparent ,
518518 SnatBridgeIP : "" ,
519519 NetNs : dummyGUID , // to trigger hns v2, windows
520520 extIf : & externalInterface {
@@ -529,6 +529,7 @@ func (nm *networkManager) DeleteEndpointState(networkID string, epInfo *Endpoint
529529 HNSNetworkID : epInfo .HNSNetworkID , // unused (we use nw.HnsId for deleting the network)
530530 HostIfName : epInfo .HostIfName ,
531531 LocalIP : "" ,
532+ IPAddresses : epInfo .IPAddresses ,
532533 VlanID : 0 ,
533534 AllowInboundFromHostToNC : false , // stateless currently does not support apipa
534535 AllowInboundFromNCToHost : false ,
@@ -537,11 +538,12 @@ func (nm *networkManager) DeleteEndpointState(networkID string, epInfo *Endpoint
537538 NetworkContainerID : epInfo .NetworkContainerID , // we don't use this as long as AllowInboundFromHostToNC and AllowInboundFromNCToHost are false
538539 NetNs : dummyGUID , // to trigger hnsv2, windows
539540 NICType : epInfo .NICType ,
541+ NetworkNameSpace : epInfo .NetNsPath ,
540542 IfName : epInfo .IfName , // TODO: For stateless cni linux populate IfName here to use in deletion in secondary endpoint client
541543 }
542544 logger .Info ("Deleting endpoint with" , zap .String ("Endpoint Info: " , epInfo .PrettyString ()), zap .String ("HNISID : " , ep .HnsId ))
543545
544- err := nw .deleteEndpointImpl (netlink . NewNetlink (), platform . NewExecClient ( logger ) , nil , nil , nil , nil , nil , ep )
546+ err := nw .deleteEndpointImpl (nm . netlink , nm . plClient , nil , nm . netio , nm . nsClient , nm . iptablesClient , nm . dhcpClient , ep )
545547 if err != nil {
546548 return err
547549 }
@@ -732,8 +734,11 @@ func (nm *networkManager) GetNumberOfEndpoints(ifName string, networkId string)
732734}
733735
734736// GetEndpointID returns a unique endpoint ID based on the CNI mode.
735- func (nm * networkManager ) GetEndpointID (containerID , ifName string ) string {
737+ func (nm * networkManager ) GetEndpointID (containerID , ifName string , nicType cns. NICType ) string {
736738 if nm .IsStatelessCNIMode () {
739+ if nicType == cns .DelegatedVMNIC {
740+ return containerID + "-" + ifName
741+ }
737742 return containerID
738743 }
739744 if len (containerID ) > ContainerIDLength {
@@ -809,6 +814,7 @@ func cnsEndpointInfotoCNIEpInfos(endpointInfo restserver.EndpointInfo, endpointI
809814 epInfo .NICType = ipInfo .NICType
810815 epInfo .HNSNetworkID = ipInfo .HnsNetworkID
811816 epInfo .MacAddress = net .HardwareAddr (ipInfo .MacAddress )
817+ epInfo .NetNsPath = ipInfo .NetworkNameSpace
812818 ret = append (ret , epInfo )
813819 }
814820 return ret
@@ -837,11 +843,12 @@ func generateCNSIPInfoMap(eps []*endpoint) map[string]*restserver.IPInfo {
837843
838844 for _ , ep := range eps {
839845 ifNametoIPInfoMap [ep .IfName ] = & restserver.IPInfo { // in windows, the nicname is args ifname, in linux, it's ethX
840- NICType : ep .NICType ,
841- HnsEndpointID : ep .HnsId ,
842- HnsNetworkID : ep .HNSNetworkID ,
843- HostVethName : ep .HostIfName ,
844- MacAddress : ep .MacAddress .String (),
846+ NICType : ep .NICType ,
847+ HnsEndpointID : ep .HnsId ,
848+ HnsNetworkID : ep .HNSNetworkID ,
849+ HostVethName : ep .HostIfName ,
850+ MacAddress : ep .MacAddress .String (),
851+ NetworkNameSpace : ep .NetworkNameSpace ,
845852 }
846853 }
847854
0 commit comments