Example #1
0
 def delete(self):
     '''
     Destructor:
     '''
     if not self.valid:
         return
     self.valid = False
     #Remove from GlobalCollection
     DPSClientHost.Host_Delete_All(self.domain, self.location.ip_value)
     #Remove self from VNID_Broadcast_Updates_To
     for key in DpsCollection.VNID_Broadcast_Updates_To.keys():
         try:
             tuple_value = DpsCollection.VNID_Broadcast_Updates_To[key]
             dps_client = tuple_value[1]
             if dps_client == self:
                 del DpsCollection.VNID_Broadcast_Updates_To[key]
         except Exception:
             pass
     #Remove self from DPS Client Updates
     for key in DpsCollection.Policy_Updates_To.keys():
         try:
             tuple_value = DpsCollection.Policy_Updates_To[key]
             dps_client = tuple_value[1]
             if dps_client == self:
                 del DpsCollection.Policy_Updates_To[key]
         except Exception:
             pass
     #Remove from Gateway_Updates_To
     for key in DpsCollection.Gateway_Updates_To.keys():
         try:
             tuple_value = DpsCollection.Gateway_Updates_To[key]
             dps_client = tuple_value[1]
             if dps_client == self:
                 del DpsCollection.Gateway_Updates_To[key]
         except Exception:
             pass
     #Remove from VNID_Multicast_Updates_To
     for key in DpsCollection.VNID_Multicast_Updates_To.keys():
         try:
             tuple_value = DpsCollection.VNID_Multicast_Updates_To[key]
             dps_client = tuple_value[1]
             if dps_client == self:
                 del DpsCollection.VNID_Multicast_Updates_To[key]
         except Exception:
             pass
     #Remove from Address_Resolution_Requests_To
     for key in DpsCollection.Address_Resolution_Requests_To.keys():
         try:
             tuple_value = DpsCollection.Address_Resolution_Requests_To[key]
             dps_client = tuple_value[1]
             if dps_client == self:
                 del DpsCollection.Address_Resolution_Requests_To[key]
         except Exception:
             continue
     for tunnel in self.Tunnel_Endpoints_Hash_IPv4.values():
         tunnel.delete()
     for tunnel in self.Tunnel_Endpoints_Hash_IPv6.values():
         tunnel.delete()
     Domain.dps_client_delete(self.domain, self)
 def delete(self):
     '''
     Destructor:
     '''
     if not self.valid:
         return
     self.valid = False
     #Remove from GlobalCollection
     DPSClientHost.Host_Delete_All(self.domain, self.location.ip_value)
     #Remove self from VNID_Broadcast_Updates_To
     for key in DpsCollection.VNID_Broadcast_Updates_To.keys():
         try:
             tuple_value = DpsCollection.VNID_Broadcast_Updates_To[key]
             dps_client = tuple_value[1]
             if dps_client == self:
                 del DpsCollection.VNID_Broadcast_Updates_To[key]
         except Exception:
             pass
     #Remove self from DPS Client Updates
     for key in DpsCollection.Policy_Updates_To.keys():
         try:
             tuple_value = DpsCollection.Policy_Updates_To[key]
             dps_client = tuple_value[1]
             if dps_client == self:
                 del DpsCollection.Policy_Updates_To[key]
         except Exception:
             pass
     #Remove from Gateway_Updates_To
     for key in DpsCollection.Gateway_Updates_To.keys():
         try:
             tuple_value = DpsCollection.Gateway_Updates_To[key]
             dps_client = tuple_value[1]
             if dps_client == self:
                 del DpsCollection.Gateway_Updates_To[key]
         except Exception:
             pass
     #Remove from VNID_Multicast_Updates_To
     for key in DpsCollection.VNID_Multicast_Updates_To.keys():
         try:
             tuple_value = DpsCollection.VNID_Multicast_Updates_To[key]
             dps_client = tuple_value[1]
             if dps_client == self:
                 del DpsCollection.VNID_Multicast_Updates_To[key]
         except Exception:
             pass
     #Remove from Address_Resolution_Requests_To
     for key in DpsCollection.Address_Resolution_Requests_To.keys():
         try:
             tuple_value = DpsCollection.Address_Resolution_Requests_To[key]
             dps_client = tuple_value[1]
             if dps_client == self:
                 del DpsCollection.Address_Resolution_Requests_To[key]
         except Exception:
             continue
     for tunnel in self.Tunnel_Endpoints_Hash_IPv4.values():
         tunnel.delete()
     for tunnel in self.Tunnel_Endpoints_Hash_IPv6.values():
         tunnel.delete()
     Domain.dps_client_delete(self.domain, self)
Example #3
0
 def tunnel_endpoint_delete(self, tunnel_endpoint):
     '''
     Removes a Tunnel Endpoint from the collection
     @param tunnel_endpoint: The Tunnel Endpoint
     @type tunnel_endpoint: TunnelEndpoint Object
     '''
     #log.info('DPSClient.tunnel_endpoint_delete %s', tunnel_endpoint.primary_ip().show())
     ip_list = tunnel_endpoint.ip_listv4.ip_list
     for ip_value in ip_list:
         try:
             del self.Tunnel_Endpoints_Hash_IPv4[ip_value]
         except Exception:
             pass
     ip_list = tunnel_endpoint.ip_listv6.ip_list
     for ip_value in ip_list:
         try:
             del self.Tunnel_Endpoints_Hash_IPv6[ip_value]
         except Exception:
             pass
     if ((len(self.Tunnel_Endpoints_Hash_IPv4) == 0) and 
         (len(self.Tunnel_Endpoints_Hash_IPv6) == 0)):
         #log.info('DPSClient.tunnel_endpoint_delete: No tunnel endpoints')
         #No other tunnels attached
         Domain.dps_client_delete(self.domain, self)
Example #4
0
 def tunnel_endpoint_delete_IP(self, inet_type, ip_value):
     '''
     Deletes a Tunnel Endpoint Physical IP Address to the Domain Collection
     @param tunnel_endpoint: The Tunnel Endpoint
     @type tunnel_endpoint: TunnelEndpoint Object
     @param inet_type: AF_INET or AF_INET6
     @type inet_type: Integer
     @param ip_value: The IP address value
     @type ip_value: Integer or String
     '''
     if inet_type == socket.AF_INET:
         ip_hash = self.Tunnel_Endpoints_Hash_IPv4
     else:
         ip_hash = self.Tunnel_Endpoints_Hash_IPv6
     try:
         del ip_hash[ip_value]
     except Exception:
         pass
     if ((len(self.Tunnel_Endpoints_Hash_IPv4) == 0) and 
         (len(self.Tunnel_Endpoints_Hash_IPv6) == 0)):
         #log.info('DPSClient.tunnel_endpoint_delete: No tunnel endpoints')
         #No other tunnels attached
         Domain.dps_client_delete(self.domain, self)
     return
 def tunnel_endpoint_delete(self, tunnel_endpoint):
     '''
     Removes a Tunnel Endpoint from the collection
     @param tunnel_endpoint: The Tunnel Endpoint
     @type tunnel_endpoint: TunnelEndpoint Object
     '''
     #log.info('DPSClient.tunnel_endpoint_delete %s', tunnel_endpoint.primary_ip().show())
     ip_list = tunnel_endpoint.ip_listv4.ip_list
     for ip_value in ip_list:
         try:
             del self.Tunnel_Endpoints_Hash_IPv4[ip_value]
         except Exception:
             pass
     ip_list = tunnel_endpoint.ip_listv6.ip_list
     for ip_value in ip_list:
         try:
             del self.Tunnel_Endpoints_Hash_IPv6[ip_value]
         except Exception:
             pass
     if ((len(self.Tunnel_Endpoints_Hash_IPv4) == 0)
             and (len(self.Tunnel_Endpoints_Hash_IPv6) == 0)):
         #log.info('DPSClient.tunnel_endpoint_delete: No tunnel endpoints')
         #No other tunnels attached
         Domain.dps_client_delete(self.domain, self)
 def tunnel_endpoint_delete_IP(self, inet_type, ip_value):
     '''
     Deletes a Tunnel Endpoint Physical IP Address to the Domain Collection
     @param tunnel_endpoint: The Tunnel Endpoint
     @type tunnel_endpoint: TunnelEndpoint Object
     @param inet_type: AF_INET or AF_INET6
     @type inet_type: Integer
     @param ip_value: The IP address value
     @type ip_value: Integer or String
     '''
     if inet_type == socket.AF_INET:
         ip_hash = self.Tunnel_Endpoints_Hash_IPv4
     else:
         ip_hash = self.Tunnel_Endpoints_Hash_IPv6
     try:
         del ip_hash[ip_value]
     except Exception:
         pass
     if ((len(self.Tunnel_Endpoints_Hash_IPv4) == 0)
             and (len(self.Tunnel_Endpoints_Hash_IPv6) == 0)):
         #log.info('DPSClient.tunnel_endpoint_delete: No tunnel endpoints')
         #No other tunnels attached
         Domain.dps_client_delete(self.domain, self)
     return