components/openstack/neutron/files/agent/solaris/ipfilters_manager.py
changeset 2083 87196737f09f
parent 1944 56ac2df1785b
equal deleted inserted replaced
2082:45b7dae3df63 2083:87196737f09f
    42         if ip_cidrs:
    42         if ip_cidrs:
    43             ippool.remove_pool_nodes(ip_cidrs)
    43             ippool.remove_pool_nodes(ip_cidrs)
    44         else:
    44         else:
    45             ippool.remove_pool()
    45             ippool.remove_pool()
    46 
    46 
    47     def add_nat_rules(self, rules, version='4'):
    47     def add_nat_rules(self, rules):
    48         # Solaris doesn't support IPv6 NAT rules
       
    49         assert version == '4'
       
    50         ipnat = net_lib.IPnatCommand()
    48         ipnat = net_lib.IPnatCommand()
    51         ipnat.add_rules(rules)
    49         ipnat.add_rules(rules)
    52         # we successfully added the nat rules, update the local copy
    50         # we successfully added the nat rules, update the local copy
    53         for rule in rules:
    51         for rule in rules:
    54             self.ipv4['nat'].append(rule)
    52             self.ipv4['nat'].append(rule)
    55 
    53 
    56     def remove_nat_rules(self, rules, version='4'):
    54     def remove_nat_rules(self, rules):
    57         # Solaris doesn't support IPv6 NAT rules
       
    58         assert version == '4'
       
    59         ipnat = net_lib.IPnatCommand()
    55         ipnat = net_lib.IPnatCommand()
    60         ipnat.remove_rules(rules)
    56         ipnat.remove_rules(rules)
    61         # we successfully removed the nat rules, update the local copy
    57         # we successfully removed the nat rules, update the local copy
    62         for rule in rules:
    58         for rule in rules:
    63             self.ipv4['nat'].remove(rule)
    59             self.ipv4['nat'].remove(rule)
    64 
    60 
    65     def add_ipf_rules(self, rules, version='4'):
    61     def add_ipf_rules(self, rules, version=4):
    66         ipf = net_lib.IPfilterCommand()
    62         ipf = net_lib.IPfilterCommand()
    67         ipf.add_rules(rules, version)
    63         ipf.add_rules(rules, version)
    68         version_rules = (self.ipv4['filter'] if version == '4' else
    64         version_rules = (self.ipv4['filter'] if version == 4 else
    69                          self.ipv6['filter'])
    65                          self.ipv6['filter'])
    70         for rule in rules:
    66         for rule in rules:
    71             version_rules.append(rule)
    67             version_rules.append(rule)
    72 
    68 
    73     def remove_ipf_rules(self, rules, version='4'):
    69     def remove_ipf_rules(self, rules, version=4):
    74         ipf = net_lib.IPfilterCommand()
    70         ipf = net_lib.IPfilterCommand()
    75         ipf.remove_rules(rules, version)
    71         ipf.remove_rules(rules, version)
    76         version_rules = (self.ipv4['filter'] if version == '4' else
    72         version_rules = (self.ipv4['filter'] if version == 4 else
    77                          self.ipv6['filter'])
    73                          self.ipv6['filter'])
    78         for rule in rules:
    74         for rule in rules:
    79             version_rules.remove(rule)
    75             version_rules.remove(rule)