def _check_for_multiprefix_csnat_port_and_update(
        self, context, router, network_id, subnet_id):
        if router.gw_port:
            # If router has a gateway port, check if it has IPV6 subnet
            cs_port = (
                self._find_router_port_by_network_and_device_owner(
                    router, network_id, const.DEVICE_OWNER_ROUTER_SNAT))
            if cs_port:
                fixed_ips = (
                    [fixedip for fixedip in
                        cs_port['port']['fixed_ips']
                        if fixedip['subnet_id'] != subnet_id])
                if fixed_ips:
                    # multiple prefix port - delete prefix from port
                    self._core_plugin.update_port(
                        context.elevated(),
                        cs_port['port_id'], {'port': {'fixed_ips': fixed_ips}})
                    return True
        return False
Checks if the csnat port contains multiple ipv6 prefixes.
dataset/ETHPy150Open openstack/neutron/neutron/db/l3_dvr_db.py/L3_NAT_with_dvr_db_mixin._check_for_multiprefix_csnat_port_and_update