联想exiting pxe rom.save results to psa.txt on usb key first?

Setting Up Licenses for UNIX and Linux Installation
Setting Up Licenses for UNIX and Linux Installation
Use the following information to set up licenses for ADS on UNIX and Linux systems. After you install ADS using the steps described in , you will need to set up the FLEXnet license manager and your ADS license file (license.lic) before you can run ADS.
About FLEXnet
ADS uses Macrovision Corporation's Flexible License Manager (FLEXnet) software for all software security configurations. When you run the ADS Setup program, the FLEXnet software is installed at
&installation folder&/licenses/bin where &installation folder& is the destination folder you specified when you ran Setup.
For Linux systems, you can use one of the following methods to run the FLEXnet licensing system on your PC:
Install a USB FLEXid hardware key
Read your LAN card's ethernet ID
For information on installing a FLEXid hardware key, see .
For information about linking your LAN card's Ethernet ID to your ADS codewords, see .
For details on using FLEXnet, refer to the Macrovision website at:
Installing Licenses
You must request and install new license codewords for ADS 2008. To learn how to request codewords, see . To install and configure your new license file, complete the steps in the following sections.
Installing a Hardware Key on Linux
One way to run the FLEXnet licensing system on your PC is to install the FLEXid hardware key (also called a dongle) on your computer's USB port. In a node-locked environment, it is installed on the local machine. In a floating license environment, it is only required on the server machine.
To install the hardware key, see the
FLEXid_README.pdf
file located in the
UNIX/dongle_sup
directory on the ADS DVD. This directory also contains the files needed to install a USB hardware key. For the most up-to-date files, contact your hardware key vendor.
For information about linking your LAN card's Ethernet ID to your ADS codewords, see .
Save the License File
When you receive your codeword file from Agilent EEsof Business Support, it will be called license.lic. Save the license.lic file using the same file name. Most codewords are distributed by e-mail.
Edit the License File
Edit your license.lic file to correct the SERVER line and add information to the VENDOR line. Refer to
for details. You can use the Agilent License Information Tool to check your environment variable settings, display your license.lic file, and show your license and server status. For details, refer to .
Node-Locked File
The codeword file must follow the format shown in the following example. This example is from a node-locked file where the quantity, displayed on the first line after the date, is typically "1":
SERVER unknown 81AAAAAA
VENDOR agileesofd
INCREMENT ads_datadisplay agileesofd 2.7 08-nov-2007 1 \
VENDOR_STRING="81AAAAAA : DXNLFPQ WZBCLQ2 AUJXJ2E IEKCKLI \
WFYQNVM DNJU1YM LHYKAQC OM" HOSTID=81aaaaaa START=11-nov-2007 \
SIGN="B00 13 5FB6 F38F 941A 1D0F E300 \
CF7B 03B9 037F 9F0F 6BAE 32F6 321C"
INCREMENT ads_layout agileesofd 2.7 08-nov-2007 1 \
VENDOR_STRING="81AAAAAA : KSGSOTJ D1JYAXW BOCLRMW 2YNB2HN \
GFVU2LG FQ1AQPJ UGW" HOSTID=81aaaaaa START=11-nov-2007 \
SIGN="0115 CEDE 58A8 A734 FF5C 8AC8 A3AC DAE6 FD7E E9D2 C002 \
EB4B 0FF8 884C 61BE 84D7 AB0F A3E2 47EA EC43 A5E6"
INCREMENT ads_schematic agileesofd 2.7 08-nov-2007 1 \
VENDOR_STRING="81AAAAAA : NNWCSOI WSVFWVZ JOXDHFS NRMW2YN \
BHAHUW2 JMAJGIJ OEYHM1W ST" HOSTID=81aaaaaa START=11-nov-2007 \
SIGN="03E6 97 45E2 6EB6 DBAF B148 04BF DE83 C502 \
E872 86AA 522C B BE71 A3F5 4FDE 16E2 F13F"
INCREMENT mdl_multilayer agileesofd 2.7 08-nov-2007 1 \
VENDOR_STRING="81AAAAAA : TS1OKRT EIQGAUY DLYSXUY LUTGOHK \
ULCKL2R XYPNPHN EFKNVMD NGCWP" HOSTID=81aaaaaa \
START=11-nov-2007 SIGN="0333 DFD8 FD38 B049 9935 34CD A24B \
91DF 8BE5 3E17 3D03 3CAB 88C2 6B 45F1 E539 FA55 \
B415 52C9"
INCREMENT mdl_rfelements agileesofd 2.7 08-nov-2007 1 \
VENDOR_STRING="81AAAAAA : WGPLO1S OVRAEOK EYWZHVU DEAAKNJ \
F1GR2AB PXJEQW1 GJXMAJC OM" HOSTID=81aaaaaa START=11-nov-2007 \
SIGN="01DF C9 30C8 29C1 1C03
E3C8 B303 \
B6C 1D5D 08B3 7628 C27C FA84 BD76 64DB"
Floating-License File
The codeword file for a floating license is the same as the previous node-locked file example, with these exceptions:
There is no HOSTID identifier in a floating license.
The quantity can be any number, one or more, depending upon the number of licenses you own.
Below is a sample of a section of a floating-license file:
SERVER unknown
VENDOR agileesofd
INCREMENT ads_datadisplay agileesofd 2.7 08-nov-2007 1 \
VENDOR_STRING=" : DXNLFPQ WZBCLQ2 AUJXJ2E IEKCKLI
WFYQNVM DNJU1YM LHYKAQC OM" START=11-may-2007 SIGN="03CC 8B82 \
F 7A5D B54F 05C8 ED12 3789 AFD6 DB00 D838
DF09 F741 CD95
C012 822E"
INCREMENT ads_schematic agileesofd 2.7 08-nov-2007 1 \
VENDOR_STRING=" : KSGSOTJ D1JYAKF UZJFEJI U2CRZDW \
FYANHIW HKMNMAU FQ1AQPJ UGW" START=11-may-2007 SIGN="023A 5C67 \
FFF1 FB55 24B7 0298 23AD
2BCF 6A00 D20D FA99 C216 \
A 2CDA C208 EE6F C153 A672"
INCREMENT mdl_adv_comm agileesofd 2.7 08-nov-2007 1 \
VENDOR_STRING=" : LCSOIWS VFWVZJX WWCYUN1 AJUCJXZ \
DIUCJYZ DWSMCTE NHM1WST NW" START=11-may-2007 SIGN="023C B57A \
DF45 672E F F705 48AC A4C9 6D AC99 EDDA \
E523 160F 9BEB D788 95FA D551 30F3"
INCREMENT mdl_ant_array agileesofd 2.7 08-nov-2007 1 \
VENDOR_STRING=" : NGMUIWQ UFPCUTQ UALAXBK TGR2ABP \
XJ2QGPB OGUAMGF VRW1QGN P" START=11-may-2007 SIGN=" \
85CE 15F3 99EB 79F8 9CDA 3E1A CA1B 6DA5 6B00 DE35 B \
32FB E942 08 A52D B1FC"
INCREMENT mdl_ant_cdma agileesofd 2.7 08-nov-2007 1 \
VENDOR_STRING=" : EHABUQQ QVHABUC T2EDLTF SUKRXYA \
GIAJGJU 1YMLHYK AQCOMXN" START=11-may-2007 SIGN="01AD 66A1 \
3949 C2CC E75B E2F2 7C64 EE2 0F01 CDDE 20DB 672C \
8180 ADBE E62D 544B B6D2 E17E 30D2"
SERVER Line Format
The SERVER line, by default, has the following format:
hostname hostid [port]
is the network name of the machine whose hostid appears in field 3 of the SERVER line. Use one of the following commands to read the hostname for your system:
Operating System
Red Hat Linux
/bin/hostname
/bin/hostname
is the unique machine ID of the license server machine running Solaris. On Linux, it is either the unique machine ID of the license server machine or the LAN card's Ethernet ID. Use one of the following commands to read the hostid for your system:
Operating System
Red Hat Linux
/sbin/ifconfig
/bin/hostid
is an optional entry naming the TCP/IP port number that the license server will listen at for license requests. An example port number is 27000.
SERVER Line Guidelines
Your license file should contain an odd number of SERVER for example, 1 or 3. If you have 3 SERVER lines, the first SERVER is the primary license server and the other two are backup servers. All three SERVER lines must use the same
You may only change the
and the optional
number fields.
Adding or removing SERVER lines requires a new
license.lic
By default, Agilent EEsof sets
to unknown. The SERVER line does not contain a port address. FLEXnet software assigns a port address in the range of 27000 to 27009. The examples in this manual use a port address of 27000, but your license file may differ. If you do not want to use the port address assigned by FLEXnet, specify any other unused port number for your network.
is wrong, or changes for some reason, you will need to request a new
license.lic
file from Agilent EEsof.
Here are examples of properly configured SERVER lines:
SERVER joshua 2072EFE45
(default - FLEXnet assigns port address)
SERVER isaiah
(optional - port address is specified)
VENDOR Line Format
The VENDOR line, by default, has the following format:
daemon_name [daemon_path] [options_file_path] [port]
daemon_name
is the name of the vendor daemon.
daemon_path
is an optional entry specifying a path to the vendor daemon.
options_file_path
is an optional entry specifying a path to the FLEXnet options file.
is an optional entry naming the daemon TCP/IP port number to use. A port number
be used when connecting to the daemon through a firewall.
VENDOR Line Guidelines
During installation of ADS, the vendor daemon is installed in the
$HPEESOF_DIR/licenses/vendors and $HPEESOF_DIR/licenses/bin directories.
The daemon_name must be agileesofd.
The path to the options file is intentionally left blank. If you want to use FLEXnet options, you must add a full path to your option file. To learn about FLEXnet options, refer to the section
If the file does not exist and this option is not blank, a warning message will appear in the
Here is an example of a properly configured VENDOR line including the daemon path, options file path, and port number:
VENDOR agileesofd /my_install_dir/licenses/vendors/agileesofd \
/my_install_dir/licenses/agileesofd.opt 27000
For client systems connecting to a license server through an Internet firewall set up on Windows PC, the port number the vendor daemon uses must be specified. If the port is not specified, the default is chosen by the operating system at run time. If this port number is specified, there may be a delay restarting the vendor daemon until all clients have closed their connections to the vendor daemon.
INCREMENT Line Format
The INCREMENT lines must have the following format:
feature vendord ver exp num vendorstring hostid sign
is the name of the feature licensed by this line.
is the name of the vendor daemon that will manage this feature.
is the version of the feature licensed by this line.
is the expiration date of this license.
is the number of licenses this line enables.
vendorstring is the CPU ID of the primary license server.
hostid is an optional field. If this field exists, it is the hostid of the machine that this license is node-locked to. Only the machine whose hostid appears in this field may checkout this license.
is the encrypted codeword.
INCREMENT Line Guidelines
None of the fields on the INCREMENT lines are editable. Any change made to any of the fields on an INCREMENT line will make that feature invalid. The only valid edit of an INCREMENT line is to add a backslash ('\') to line wrap the line. Be careful not to add an extra space between fields when using a backslash to line wrap an INCREMENT line.
Here are two examples of valid INCREMENT lines.
Floating license example:
INCREMENT ads_schematic agileesofd 2.7 06-nov-2007 1 \
VENDOR_STRING=" : XMGBGCE PSUOKRT EIQGAUY DLBVVHE \
IWNYES2 EWFTFGP AU2BKGR" START=09-may-2007 SIGN="0091 AE42 \
01AF 69F0 7D18 E9D3 F651 4EF0 5EEA 6EB2 5D00 E0C2 F314 8CAE \
AB9C F3C 8178 EB11 F848"
Node-locked license example:
INCREMENT ads_schematic agileesofd 2.7 06-nov-2007 1 \
VENDOR_STRING=" : XMGBGCE PSUOKRT EIQGAUY DLBVVHE \
IWNYES2 EWFTFGP AU2BKGR" HOSTID=77a8f00d START=09-may-2007 \
SIGN="01EB BB84 E82 AFAA 3BDF 426A B6A9 3ACF 3A02 \
AE86 BD 9C1D C69D D3D7 9CD6 579D 68D9"
The backslash used to line wrap these two INCREMENT line examples is prefaced by a space and contains a carriage return immediately after it. The '\' character is the absolute last character of the line it is on.
Place License File
A copy of the license.lic file must be placed on all SERVER machine(s) listed in the license.lic file.
License Placement Guidelines
The recommended location for the
license.lic
$HPEESOF_DIR/licenses/license.lic
You might need root permission to copy the
license.lic
file into the ADS installation directory if ADS was installed by a user logged in as root.
You can choose to locate the
license.lic file someplace else on the SERVER machine(s). If you choose to do this, make sure that ADS users properly set AGILEESOFD_LICENSE_FILE.
Make sure that the
license.lic
file has at least read permission for all users:
cd $HPEESOF_DIR/licenses
chmod 555 license.lic
This command gives you read/executable permissions only.
Place a copy of the $HPEESOF_DIR/license directory on all SERVER machines or custom install the FLEXnet license server on each machine.
Start the License Server (lmgrd)
Use the following procedure and guidelines to start the license server,
lmgrd, on the SERVER machine.
Guidelines for Starting lmgrd
You only need to run
on the SERVER machine(s).
If the SERVER machine(s) has ADS installed on it, you will find the FLEXnet license manager daemon (lmgrd) in the
$HPEESOF_DIR/licenses/bin directory. If the SERVER machine does not have ADS installed, you can copy the
$HPEESOF_DIR/licenses
directory from the machine that has ADS installed.
ADS installs version 11.4.1 of FLEXnet. Make sure you use the version 11.4.1 lmgrd and agileesofd supplied or a newer version of lmgrd. You can determine the version of
and agileesofd
by typing the following commands:
cd $HPEESOF_DIR/licenses/bin
./lmgrd -v
cd $HPEESOF_DIR/licenses/vendors
./agileesofd -v
To start lmgrd:
Change the directory to where
lmgrd resides on the SERVER machine and execute lmgrd. For example:
cd $HPEESOF_DIR/licenses/bin
./lmgrd -c ../license.lic & ../flex.log
The login executing
lmgrd must have full permissions to the licenses/bin directory and at least write permissions to the directory specified for flex.log.
All error, warning and status messages will be redirected to the
flex.log file. After starting
lmgrd, wait approximately 30 seconds, then look at the contents of flex.log to see if there are any errors that need to be corrected.
To verify that the licenses are available:
Make sure that the
file does not contain any errors, then run lmstat as follows:
cd $HPEESOF_DIR/licenses/bin
-c ../license.lic
Or, you may launch the Agilent License Information Tool to do this. Refer to
for more information.
If the licenses are available, you should see a listing similar to the following:
lmutil - Copyright \(C\)
Macrovision Corporation. All rights reserved
Flexible License Manager status on Mon 9/22/
License server status: 27000@joshua
License files on joshua: ads2008/licenses/bin/../license.lic:
joshua: license server UP \(MASTER\) v10.1
Vendor daemon status \(on joshua\):
agileesofd: UP v10.1
Feature usage info:
Users of ads_schematic: \(Total of 3 licenses available\)
Users of ads_layout: \(Total of 3 licenses available\)
Users of trans_iges:
\(Total of 3 licenses available\)
Users of trans_dgsii:
\(Total of 3 licenses available\)
Users of trans_iff:
\(Total of 3 licenses available\)
Users of ads_lite:
\(Total of 3 licenses available\)
Users of ads_datadisplay:
\(Total of 3 licenses available\)
Users of sim_linear:
\(Total of 3 licenses available\)
Users of sim_harmonic:
\(Total of 3 licenses available\)
Provide Access to Licenses
Before attempting to start ADS, you must configure each user's login environment to allow access to the licenses on the SERVER machine(s). To do this you need to configure the environment variable named AGILEESOFD_LICENSE_FILE in the user's .profile or .cshrc.
For example:
setenv AGILEESOFD_LICENSE_FILE $HPEESOF_DIR/licenses/license.lic
Bourne/Korn Shell:
AGILEESOFD_LICENSE_FILE=$HPEESOF_DIR/licenses/license.lic
export AGILEESOFD_LICENSE_FILE
You can avoid the need to have a copy of the
license.lic file directly on the machine running ADS by setting AGILEESOFD_LICENSE_FILE as follows:
AGILEESOFD_LICENSE_FILE=&port&@&SERVER_hostname&
is the TCP port number from the SERVER line(s) of the
license.lic
SERVER_hostname
is the network name of a SERVER machine serving ADS licenses. This must be a name that the SERVER is known by on the network. You should be able to successfully ping this name from the machine that will run ADS.
Or, if your license server is set up to search for an available port, your AGILEESOFD_LICENSE_FILE should read:
AGILEESOFD_LICENSE_FILE=@&SERVER_hostname&
For example,
setenv AGILEESOFD_LICENSE_FILE 27000@joshua
setenv AGILEESOFD_LICENSE_FILE@joshua
Bourne/Korn Shell:
AGILEESOFD_LICENSE_FILE=27000@joshua
export AGILEESOFD_LICENSE_FILE
AGILEESOFD_LICENSE_FILE=@joshua
export AGILEESOFD_LICENSE_FILE
The syntax to access
license servers is as follows.
setenv AGILEESOFD_LICENSE_FILE 27000@server1:27000@server2:27000@server3
Bourne/Korn Shell:
export AGILEESOFD_LICENSE_FILE=27000@server1:27000@server2:27000@server3
However, in this case, "server" should be replaced by the actual license server name or IP address, and the "27000" may need to be changed to the actual port number on the license server. Note that the list of servers is separated by colons (:). For details on running FLEXnet-licensed products from multiple vendors refer to .
Using a UNIX/Linux-to-PC Floating License
A Windows PC system can access the UNIX or Linux license server's
license.lic
file in either of two ways:
By copying the
license.lic
file from the UNIX/Linux license server to the Windows PC's
$HPEESOF_DIR/licenses folder
By setting the AGILEESOFD_LICENSE_FILE variable on the Windows PC to point to the UNIX/Linux license server as follows:
set AGILEESOFD_LICENSE_FILE=&port&@&host&
For example:
set AGILEESOFD_LICENSE_FILE=27000@joshua
is the port number on the SERVER line in the
license.lic file on the UNIX/Linux license server
is the hostname of the UNIX/Linux license server
Conversely, the license server can be a Windows PC with a floating license locked to a LAN card or dongle hardware key and the UNIX/Linux computer can be set to point to it in the same way by using its host name or IP address.
Automating FLEXnet License Manager Startup
You can automate the FLEXnet startup so that
is started automatically each time the license server machine is rebooted by adding the following three lines for a startup routine to the appropriate
file for your operating system:
/ads/licenses/bin/lmgrd -c /ads/licenses/license.lic & /ads/licenses/flex.log &
echo "Starting Agilent EEsof FLEXnet license daemon......"
/usr/bin/sleep 5
Following are instructions for the supported operating systems:
Change to the appropriate directory:
/etc/rc.d/init.d (Linux)
/etc/rc3.d (Solaris)
Create a file in this directory named Sagileesofd.
Place the FLEXnet startup routine (shown above) into this file.
Set the permissions for this file as follows:
chmod 755 Sagileesofd
chown root Sagileesofd
chgrp sys Sagileesofd
For Linux license servers, create the following soft links:
ln -s /etc/rc.d/init.d/Sagileesofd rc3.d/S99Sagileesofd
ln -s /etc/rc.d/init.d/Sagileesofd rc4.d/S99Sagileesofd
ln -s /etc/rc.d/init.d/Sagileesofd rc5.d/S99Sagileesofd
Selecting a License Bundle
This step is necessary only if you are using license bundles.
If you have been using license packages in previous versions, you should be aware that packages were replaced by license bundles in ADS 2003A. Bundles are an improvement over packages by giving you more control over which license bundles are used during an ADS session.
select a bundle when starting ADS to ensure a license bundle is being used. The Agilent License Preference Tool is available to help you make a selection. To learn how to select bundles using the preference tool, see .
Special Licensing Needs
Use the following information to accommodate any special licensing needs you may have. For details on using FLEXnet, refer to the Macrovision website at:
Using FLEXnet Options
An options file enables the license administrator to control the security parameters of FLEXnet. Specifically the license administrator can:
Allow the use of features based on user, hostname or display name.
Deny the user of features based on user, hostname or display name.
Reserve licenses based on user, hostname or display name.
Control the amount of information logged about license usage.
Creating an Options File
Use the desired options listed below to create the options file using any text editor. Ideally, you should keep the options file in the same directory as your
license.lic
file. Also, add the pathname to the options file in the
license.lic
file as the fourth field on the VENDOR line for
agileesofd
as shown in the following example. (Remember to use the backslash ('\') character if the file contains wrapped lines.)
VENDOR agileesofd /ads2008/licenses/vendors/agileesofd \
/ads2008/licenses/agileesofd.opt
You can include comments in your options file by starting each comment with a pound sign "#". Everything in the options file is case-sensitive. Be sure that user names and feature names, for example, are entered correctly. The available options are:
Deny a user access to a feature.
EXCLUDEALL
Deny a user access to all feature served by this vendor daemon.
Define a group of users for use with any options.
Allow a user to use a feature.
INCLUDEALL
Allow a user to use all features served by this vendor daemon.
Turn off logging certain items.
Specify that a logfile be written suitable for use by the FLEXadmin End-User Administration Tool.
Reserve licenses for an individual user or groups of users.
Works only for
simulator and library licenses.
TIMEOUTALL
Works for all simulator and library licenses.
Use the following steps to create and use an options file. Details about each step located in :
Create an options file with your required options.
Modify your
license.lic
file so that the VENDOR or DAEMON line points to this option file as shown in this example:
VENDOR agileesofd /ads2008/licenses/vendors/agileesofd \
/ads2008/licenses/agileesofd.opt
Start up your license server (lmgrd) that is pointing to your license file. You must stop it first if it is running. It's important that a message is displayed or recorded in the FLEXnet log verifying the license manager is using the options file. The following example shows that the license manager is using the agileesofd.opt file containing the TIMEOUTALL option set to 900 seconds:
17:35:14 \(agileesofd\) Using options file: "/ads2008/licenses/agileesofd.opt"
17:35:15 \(agileesofd\) ALL FEATURES: INACTIVITY TIMEOUT set to 900 seconds
AGILEESOFD_LICENSE_FILE
to point to your license server.
Specifying the TIMEOUT Option
You can set a custom time-out period for simulator and library licenses using the TIMEOUT or TIMEOUTALL options. If you do not specify a time-out value in your options file or do not have an options file, a default two-hour limit is used. These time-out options apply to those application features that have explicitly implemented time-out via the heartbeat function. This includes licenses for the Analog/RF and Signal Processor simulators and for libraries, and
affect licenses for the design environment and data display. The time-out option sets the amount of time a feature may remain idle before its license is released and reclaimed by the vendor daemon. The TIMEOUT option enables you to identify specific licenses, and the TIMEOUTALL affects all licenses (simulators and libraries).
To use TIMEOUT, add an entry for each feature to the options file using the following format:
feature_name
feature_name
is name of the feature.
is the number of seconds before inactive license is reclaimed. The minimum value is 900 seconds (15 minutes). If you specify a time-out value smaller than the minimum, the minimum is used.
The option TIMEOUTALL works just like TIMEOUT, but applies to all features.
TIMEOUTALL
Here are example entries you can include in your options file:
To set a time-out for the harmonic balance simulator to one hour (3600 seconds):
TIMEOUT sim_harmonic 3600
To set time-outs for multiple simulators to different periods:
TIMEOUT sim_linear 900
TIMEOUT sim_harmonic 3600
TIMEOUT sim_convolution 3600
To set a time-out for all simulators and libraries to one hour (3600 seconds):
TIMEOUTALL 3600
Updating the License File
If you have been running FLEXnet and receive updated codewords from Agilent
EEsof, you can add the new licenses to the FLEXnet environment as follows:
Replace the existing
license.lic
files on the license servers and clients with the new
license.lic
On the primary server, run lmutil lmreread. This causes the
on the primary server to re-read the
license.lic
file and update all of the other
processes on the network.
After you have done this, you can run lmutil lmstat -a
to verify that the license servers have received the new license information.
If this does not work, you may need to stop all of the
processes on your network and then restart them as described in the section
Merging Multiple Vendor Licenses
When you are running FLEXnet-licensed products from multiple vendors, you have three ways to prevent licensing conflicts during installation:
each running one
and one license file
One license server node running one
and one license file
One license server node running multiple
and multiple license files
can only read a single license file. With the first option you will have more license servers to monitor. With the third option you have only one server but multiple
to administer.
Your product's license file(s) define the license server(s) by hostname and hostid in the SERVER line(s) in the license file.
If the license files for two or more products contain identical hostids on the SERVER line(s), then these files can be combined.
If the license files for two products contain different hostids on a SERVER line, then the license servers for those products will be running on different nodes and the license files cannot be combined.
If you have two or more products whose license servers run on the same node (as specified by the SERVER lines in the license files), you may be able to combine the license files into a single license file.
If the SERVER lines in those files have identical hostids, then you can combine the files into a single file.
If the SERVER lines have different hostids, then you must keep the license files separate.
More precisely, you can combine two license files under the following conditions:
The number of SERVER lines in each file is the same.
The hostid field of each SERVER line in one file exactly matches the hostid field of each SERVER line in the other file.
Some possible reasons license files may not be compatible are:
License files are set up to run on different server nodes, so hostids are different.
One file is set up for single server (has only one SERVER line), the other is set up for redundant servers (has multiple SERVER lines).
One vendor uses a custom hostid algorithm, so the hostids on the SERVER lines are different even though the files are for the same machine.
If your license files are compatible as described above, then you can combine license files and run a single lmgrd, as described in
If the license files are not compatible, then you must keep the license files separate and run separate copies of
for each license file, as described in the section,
Combining License Files from Multiple Vendors
If your license files are compatible, you can combine them using any text editor. To combine license files, merge all of the compatible license files into one file, then edit out the extra SERVER lines so that only one set of SERVER lines remains. Write out this data, and you have your combined license file.
If you combine license files from multiple vendors, it is a good idea to keep a copy of the combined license file in each vendor's default license file location. This way, your users can avoid having to set AGILEESOFD_LICENSE_FILE, because each package finds its license information in the default place. On UNIX and Linux, you can do this with a symbolic link from each default location to the location of the combined license file.
FLEXnet Version Component Compatibility
When you combine license files for two different FLEXnet-licensed products, the products may not use the same version of FLEXnet. FLEXnet is designed to handle this situation. There are two basic compatibility rules for FLEXnet:
lmgrd can be used with an older vendor daemon, but a newer vendor daemon might not work properly with an older lmgrd.
A newer vendor daemon (or
lmgrd ) can be used with an older client program, but a newer client program might not work properly with an older vendor daemon.
From these two compatibility rules come the simple rules for selecting which version of administration tools to use:
Always use the newest version of
and the newest version of each vendor daemon.
Use the newest FLEXnet utilities.
For specific application programs, you can use either the new or the old version (with the assumption that the vendor daemon for that application is at least as new as the application).
Using Separate License Files on the Same Server Node
You must run a separate copy of
for each license file. When you run multiple copies of
lmgrd, there are two details to remember:
The port number on the SERVER line of each license file must be unique. You can use a standard text editor to change the port number in each license file so that they are all different.
You must make sure that you are using a compatible version of
lmgrd when you start it up for a particular license file. This can be done by using an explicit path to lmgrd.
When running client programs (such as a licensed application), you can set the AGILEESOFD_LICENSE_FILE environment variable to point to multiple license files. For example, you may have a license file from vendor ABC and a license file from vendor XYZ with incompatible servers. You can place the license file from vendor ABC into:
/user/flexnet/abc.lic
and the license file from vendor XYZ into:
/user/flexnet/xyz.lic
then set the AGILEESOFD_LICENSE_FILE environment variable to point to both of them. The syntax is as follows:
AGILEESOFD_LICENSE_FILE=27000@server1;27000@server2;27000@server3
Note that each path is separated with a semi-colon.
AGILEESOFD_LICENSE_FILE can point to only one license file for FLEXlm v1.x applications.
Redundant License Servers
You can set up a redundant or backup license server(s), in case a primary server is unavailable. If your license.lic file has the maximum number of SERVER lines (three), you have a redundant license server configuration. The license setup is identical to a single SERVER configuration, with the exception that no licenses will be available until a majority of the license servers are running. That is, if you have three SERVER lines, at least two must be up and running before any licenses will be available for checkout. Be sure that the FLEXnet software is loaded and running on each server.
Controlling License Path Settings
The lmutil utility provides the
lmpath function which allows direct control over FLEXnet license path settings. You can use
lmpath to add to, override, or get the current license path set in the registry. This enables you to change or view path settings without locating individual settings in the Windows registry on the PC or in the FLEXnet registry (.flexlmrc) on UNIX and Linux.
The lmutil utility is located in $HPEESOF_DIR/licenses/bin. This location must be in your PATH, or use the following command before running the utility:
cd $HPEESOF_DIR/licenses/bin
The usage for this function is:
lmutil lmpath
{-status | -add | -override} {vendor_name | all}
license_path_list
-status displays the current license path settings.
license_path_list
to the front of the current license-path settings or creates the list of license-path settings, if it doesn't exist, initializing it to license_path_list. Duplicates are discarded.
overrides the existing list of license-path settings with the contents of
license_path_list. If
license_path_list
is the null string, "", the specified list is deleted. For example:
lmutil lmpath -override agileesofd ""
Deletes the value of AGILEESOFD_LICENSE_FILE from the registry.
lmutil lmpath -override vendor2 ""
Deletes the value of VENDOR2_LICENSE_FILE from the registry.
lmutil lmpath -override all ""
Deletes the value of LM_LICENSE_FILE from the registry.
is a string naming a particular vendor daemon name. Affects the value of
vendor _LICENSE_FILE. For example, use
agileesofd
to affect AGILEESOFD_LICENSE_FILE.
refers to all vendor daemons. Affects the value of only LM_LICENSE_FILE.
license_path_list
is the new path setting(s). On UNIX and Linux, this is a colon-separated list, and on Windows it is a semi-colon-separated list. If
license_path_list
is the null string, "", then the list is deleted for the specified
vendor. Though you can enter specific license file names, you gain flexibility by entering only a path without a file name. This will include all *.lic
files in the same location.
Checking the Status
Before you change license path settings, Agilent recommends that you display the current settings. To display the settings, enter the following commands:
lmutil lmpath -status
The following example status listing is from UNIX and is similar to Linux and Windows listings:
lmutil - Copyright \(C\)
by Macrovision Corporation. All rights reserved.
Known Vendors:
_____________
agileesofd: /ads2003a/licenses/license.lic:/ads2008/licenses/license.lic
_____________
Other Vendors:
______________
/usr/local/flexnet/licenses/license.lic
Changing License Path Settings
When adding or overriding path settings,
sets the FLEXnet entry in the Windows registry on the PC, or changes the file
$HOME/.flexlmrc
on UNIX and Linux. Here are examples of how license settings may appear in each registry:
UNIX and Linux
AGILEESOFD_LICENSE_FILE = /ads2003a/licenses:/ads2008/licenses
Registry location:
My Computer\HKEY_LOCAL_MACHINE\Software\Agilent\ADS2008
Registry license path setting:
AGILEESOFD_LICENSE_FILE
C:\ADS2008\licenses
To change license path settings, enter the appropriate command in a Command Prompt on Windows, or a terminal window on UNIX and Linux. You can adapt the following examples which change path settings for AGILEESOFD_LICENSE_FILE:
To add path settings on UNIX and Linux:
lmutil lmpath -add agileesofd: &new_lic_path1&:&new_lic_path2&
To add path settings on Windows:
lmutil lmpath -add agileesofd C:\&new_lic_path1&;C:\&new_lic_path2&
To replace the current path settings on UNIX and Linux:
lmutil lmpath -override agileesofd &new_lic_path&
To replace the current path settings on Windows:
lmutil lmpath -override agileesofd C:\&new_lic_path&
Manually Setting the License Bundle Preference
If you are using license bundles, you are aware that you must select a bundle prior to running ADS. Typically, bundles are selected by using the Agilent License Preference Tool. This tool is discussed in . However, system administrators and advanced users can manually configure environment variables when they need more bundle selection flexibility. Proper configuration using these environment variables control which licenses are used, and the systems using them.
The two environment variables that control bundle selection are:
AGILEESOFD_LICPREF&hostname& controls bundle selection specifically for the system identified by
&hostname&.
AGILEESOFD_LICPREF controls bundle selection for all systems on a network with access to the license server.
ADS looks for these variables in the following locations in the order given here:
Shell environment
&project_directory&/hpeesof.cfg
$HOME/hpeesof/config/hpeesof.cfg
$HPEESOF_DIR/custom/config/hpeesof.cfg
$HPEESOF_DIR/config/hpeesof.cfg
ADS first looks for
AGILEESOFD_LICPREF&hostname&
in each of these locations. If ADS cannot find a value for
AGILEESOFD_LICPREF&hostname&, then ADS looks for
AGILEESOFD_LICPREF. If
AGILEESOFD_LICPREF
is not found, no bundle is selected.
Joe Smith wants to use the
bundle when he runs ADS on the system with the hostname
alpha. To set this up, Joe should add
AGILEESOFD_LICPREF_ALPHA=pl_desenv
to the configuration file
$HOME/hpeesof/config/hpeesof.cfg
is Joe's home directory
A system administrator wants to configure a system to use the
bundle when anyone runs ADS on the system named
beta, and to use the
bundle when ADS is run on other systems. To set this up, the administrator should add
AGILEESOFD_LICPREF_BETA=pl_ui and
AGILEESOFD_LICPREF=ltp_mmic
to the configuration file
$HPEESOF_DIR/custom/config/hpeesof.cfg
Accessing Licenses through a Firewall
There may be situations where it is necessary to check out FLEXnet licenses through a firewall (or router). This may occur when a license server is behind a company firewall and other sites or companies need to check out licenses.
Assuming your license agreement allows you to serve licenses in this manner, you can enable license checkout through a firewall by configuring your firewall to allow TCP communication through the TCP ports used by the license manager daemon (lmgrd) and any vendor daemons you will run.
For example, assume you have a license server serving EEsof EDA licenses and your
license.lic
file contains the following lines:
SERVER myserver 0F8
VENDOR agileesofd /apps/flexnet/vendors/agileesofd
VENDOR agileesof /apps/flexnet/vendors/agileesof
DAEMON hpeesofd /apps/flexnet/vendors/hpeesofd
To set up your firewall to allow TCP access to the license server, you must specify a TCP port number for lmgrd on the SERVER line and for each vendor daemon on the VENDOR or DAEMON lines. For example:
SERVER myserver 0F8 27005
VENDOR agileesofd /apps/flexnet/vendors/agileesofd port=1705
VENDOR agileesof /apps/flexnet/vendors/agileesof port=1706
DAEMON hpeesofd /apps/flexnet/vendors/hpeesofd port=1707
Next, configure your firewall or router to allow TCP communication through the TCP ports you specified in your
license.lic
file. In the example above this would be ports 2, 1706, and 1707.
Finally, clients must set the AGILEESOFD_LICENSE_FILE environment variable to the port number assigned to the license server. Using the example above, the setting would be:
AGILEESOFD_LICENSE_FILE=27005@myserver
Once this has been done, clients outside of the firewall will be able to access licenses from your server.
Managing Multiple ADS Versions
This section discusses how to manage the licenses for multiple versions of ADS.
Backward Compatibility of Codewords
The following table lists ADS releases with details of their license management:
Release Name
License File Version
Daemon Name
FLEX Version
License Environment Variable
Default License File Location
LM_LICENSE_FILE
$HPEESOF_DIR/licenses/license.dat
HPEESOFD_LICENSE_FILE
AGILEESOF_LICENSE_FILE
$HPEESOF_DIR/licenses/
ADS 2003A/C
agileesofd
AGILEESOFD_LICENSE_FILE
ADS &2004A
FLEXlm 9.2a CRO
FLEXnet 10.1.3 CRO
FLEXnet 10.8 CRO
FLEXnet 11.4.1
The following table shows the codeword compatibility between various ADS releases. Note that codeword compatibility also depends on the whether the codeword was available in that release.
Codewords From This Release
Will Work With This Release
Combining ADS Codewords with Other Agilent EEsof EDA Codewords
For ADS 2008, the vendor daemon agileesofd
is used. This is the same vendor daemon that was used for ADS
2003A, 2003C, 2004A, 2005A, 2006A, 2006 Update, and 2008. If you want to serve ADS 2008 licenses and earlier from the same server, you need to have the latest version of lmgrd, v9.2a, and two or three DAEMON lines in your license file, depending on how many versions you want to support. The ADS daemon names available are:
agileesofd
- for ADS 2003A, 2003C, 2004A, 2005A, 2006A, 2006 Update, 2008
agileesof - for ADS 2002 and 2002C
- up to and including ADS 2001
For example, the license file would include:
SERVER hpnmems 77a588a7 1700
VENDOR agileesofd /ads2008/licenses/vendors/agileesofd
VENDOR agileesof /ads2002C/licenses/vendors/agileesof
DAEMON hpeesofd /ads2001/licenses/vendors/hpeesofd
You would then add the INCREMENT lines for the different products to the file.
The name and extension of the license file are arbitrary (i.e., license.dat, license.lic or adslicenses.txt). By default, all ADS versions up to and including ADS
2001 look for a file named license.dat and all ADS versions from ADS
2002 to ADS
200A look for a file named license.lic. You can use one of these names, or some other name you prefer. Whatever name you choose to use, make sure you set the environment variables to point to your license file.
The supported environment variables are:
AGILEESOFD_LICENSE_FILE for ADS 2003A through 2008
AGILEESOF_LICENSE_FILE for ADS
2002 and 2002C
HPEESOFD_LICENSE_FILE for ADS
LM_LICENSE_FILE for ADS 1.5 and earlier
For example, if the combined codeword file is named adslicenses.txt and you want to build a license file that contains ADS
2003C, ADS
2002C, ADS
2001, and IC-CAP 2001 codewords, then:
ADS 2003C and 2008 will use:
AGILEESOFD_LICENSE_FILE=/licenses/adslicenses.txt
ADS 2002 and 2002C will use:
AGILEESOF_LICENSE_FILE=/licenses/adslicenses.txt
ADS 2001 will use:
HPEESOFD_LICENSE_FILE=/licenses/adslicenses.txt
IC-CAP 2001 will use:
LM_LICENSE_FILE=/licenses/adslicenses.txt
Each version of ADS uses a certain search order to look for the environment variable:
ADS 2003C through 2008 will first look for the environment variable named AGILEESOFD_LICENSE_FILE. If AGILEESOFD_LICENSE_FILE and LM_LICENSE_FILE are both defined, ADS
2003C through 2008 will use AGILEESOFD_LICENSE_FILE and ignore LM_LICENSE_FILE. If AGILEESOFD_LICENSE_FILE is not defined, then ADS
2003C through 2008 will default to LM_LICENSE_FILE.
ADS 2002 and 2002C will first look for the environment variable named AGILEESOF_LICENSE_FILE. If AGILEESOF_LICENSE_FILE and LM_LICENSE_FILE are both defined, ADS
2002 and 2002C will use AGILEESOF_LICENSE_FILE and ignore LM_LICENSE_FILE. If AGILEESOF_LICENSE_FILE is not defined, then ADS
2002 and 2002C will default to LM_LICENSE_FILE.
ADS 2001 will first look for the environment variable named HPEESOFD_LICENSE_FILE. If HPEESOFD_LICENSE_FILE and LM_LICENSE_FILE are both defined, ADS
2001 will use HPEESOFD_LICENSE_FILE and ignore LM_LICENSE_FILE. If HPEESOFD_LICENSE_FILE is not defined, then ADS
2001 will default to LM_LICENSE_FILE.
All previous ADS versions, up to and including ADS
1.5 will use LM_LICENSE_FILE.
Even though all versions of ADS will default to LM_LICENSE_FILE if that is the only environment variable that exists, it is recommended that you use the supported environment variables listed above.
Example of a Merged License File
SERVER solarone 80FB214D 1700
DAEMON hpeesofd /hfs/d1/local/licenses/hpeesofd
VENDOR agileesof /hfs/d1/local/licenses/agileesof
VENDOR agileesofd /hfs/d1/local/licenses/agileesofd
# ADS 2001 codewords
INCREMENT Adapt_comp hpeesofd 1.5 03-nov-2002 5 EC7A98E3FB4AC8771142 \
VENDOR_STRING=s=80FB214D
INCREMENT Ad_da_appkit hpeesofd 1.5 03-nov-2002 5 \
1CCA8196C4 VENDOR_STRING=s=80FB214D
INCREMENT Ampsa_appkit hpeesofd 1.5 03-nov-2002 5 \
0CBAB813D VENDOR_STRING=s=80FB214D
# IC-CAP 2001 codewords
INCREMENT a_si_tft agileesof 6.0 29-oct-A \
VENDOR_STRING=s=80FB214D
INCREMENT ac_driver agileesof 6.0 29-oct-A9EE36873A0 \
VENDOR_STRING=s=80FB214D
INCREMENT analysis agileesof 6.0 29-oct-C2B939BD5 \
VENDOR_STRING=s=80FB214D
# ADS 2002C Codewords
INCREMENT ads_datadisplay agileesof 2.0 30-jun-2002 1 \
VENDOR_STRING=80FB214D HOSTID=80fb214d SIGN="008E 5A70 FECF \
8BEF 9B3A 8A67
B00 C335 666B 03E2 D8E7 \
EF7D E101"
INCREMENT ads_datadisplay agileesof 2.0 30-jun-2002 1 \
VENDOR_STRING=80FB214D SIGN="01CB A67 A4C8 CADB \
EC02 C3A9 FD8A BE47 C0C0 F027 F \
64CC 06BA 2201"
INCREMENT ads_drc agileesof 2.0 30-jun-2002 1 VENDOR_STRING=80FB214D \
HOSTID=80fb214d SIGN=" FFB A7E \
203F 4F0C C900 79FE F186 9B1E 2B10 3B3D D650 2204 18CF 00C9 \
#ADS2003C codewords
INCREMENT ads_datadisplay agileesofd 2.3 07-jul-2003 1 \
VENDOR_STRING=" : O2GAZUD WSGSONJ 2HNECZL 12WKCKE \
LRXYGSO MWYFKGP AKBPONX LOYSO" HOSTID= SIGN="0246 \
771A BBA2 A0D4 B29E
F3D9 161A 1204 EE00 2E92 8AC0 \
1AF7 FAF9 5B2C B017 23F7 91E8 BF97 B9AD"
INCREMENT ads_drc agileesofd 2.3 07-jul-2003 1 \
VENDOR_STRING=" : QEGHABO KEYWTHV 1HEIWND JFAVQ2A \
UJXJ2EW KYARWEQ GY" HOSTID= SIGN="02EC 9EA3 EE62 \
BDBC 51 FD3E 20DD D0C1 D301 DA95 9F79 16A8 5E11 \
1B81 E7CC 90F8 68A0 E116 8F0B"
INCREMENT ads_encoder agileesofd 2.3 07-jul-2003 1 \
VENDOR_STRING=" : GONJAZX FHGGNAP BWOGIAH PBKWEYK \
UCKGULO YSO2GAZ UDWSGS" HOSTID= SIGN="027B 178E \
A5C4 E CC2C F215 528B
9540 A54C \
B85A A68E 85 96D1 FD7F"
# ADS2008 codewords
INCREMENT ads_datadisplay agileesofd 2.7 08-nov-2007 1 \
VENDOR_STRING="81AAAAAA : DXNLFPQ WZBCLQ2 AUJXJ2E IEKCKLI \
WFYQNVM DNJU1YM LHYKAQC OM" HOSTID=81aaaaaa START=11-nov-2007 \
SIGN="B00 13 5FB6 F38F 941A 1D0F E300 \
CF7B 03B9 037F 9F0F 6BAE 32F6 321C"
INCREMENT ads_layout agileesofd 2.7 08-nov-2007 1 \
VENDOR_STRING="81AAAAAA : KSGSOTJ D1JYAXW BOCLRMW 2YNB2HN \
GFVU2LG FQ1AQPJ UGW" HOSTID=81aaaaaa START=11-nov-2007 \
SIGN="0115 CEDE 58A8 A734 FF5C 8AC8 A3AC DAE6 FD7E E9D2 C002 \
EB4B 0FF8 884C 61BE 84D7 AB0F A3E2 47EA EC43 A5E6"
INCREMENT ads_schematic agileesofd 2.7 08-nov-2007 1 \
VENDOR_STRING="81AAAAAA : NNWCSOI WSVFWVZ JOXDHFS NRMW2YN \
BHAHUW2 JMAJGIJ OEYHM1W ST" HOSTID=81aaaaaa START=11-nov-2007 \
SIGN="03E6 97 45E2 6EB6 DBAF B148 04BF DE83 C502 \
E872 86AA 522C B BE71 A3F5 4FDE 16E2 F13F"
Using the Agilent License Information Tool
The Agilent License Information Tool is available to check your environment variable settings, display your
license.lic
file, and show your license and server status.
To run this tool from the ADS Main window, choose
License Information.
To run it from the terminal window, type the following line
$HPEESOF_DIR/bin/aglmtool
to display the following window:
For a current list of codewords available from Agilent EEsof with product descriptions and part numbers, see .
Using the Agilent License Preference Tool
This section applies only to customers who have purchased license bundles.
If you have been using license packages in previous versions, you should be aware that license bundles replaced license packages beginning in ADS 2003A. License bundles are either Pay-Per-Use License (PL) bundles, or Limited Term Package (LTP) bundles. Typically, only PL
LTP bundles are available on a system - not both. A bundle looks like any other INCREMENT line in the
license.lic
file, but ADS recognizes the feature name as a collection, or bundle, of individual features. When ADS checks out the license bundle, it enables all the functionality associated with the individual features.
select a license bundle when starting ADS, and the License Preference Tool is available to help you make a selection. This sets the environment variable
AGILEESOFD_LICPREF&hostname&. Since you cannot check out more than one bundle, you have more control over which license bundles are used during an ADS session. You only need to run the License Preference Tool when you want to change the latest bundle selection. If you need more bundle selection flexibility to control which licenses are used on selected systems, see .
Running the License Preference Tool
To run the License Preference Tool:
UNIX and Linux
There are two ways to start the License Preference Tool. In a terminal window:
When starting ADS, enter
ads -p. This runs the License Preference Tool, then runs ADS after you finish choosing bundles.
To run the tool as a standalone utility, enter
$HPEESOF_DIR/bin/aglmpref. This runs only the License Preference Tool.
There are two ways to start the License Preference Tool:
menu, choose
Advanced Design System 2008 &
License Preference Tool.
Modify the ADS shortcut located on the
menu. Right-click the
Advanced Design System
icon, and choose
Properties. Edit the shortcut command on the Target line to include the
option as shown in this example:
C:\ADS2008\bin\ads.exe -p
This runs the License Preference Tool every time you start ADS.
The License Preference window appears similar to the figures below. It enables you to view the available bundles and their features, and select bundles.
To see the features available in a bundle, click the expansion icon next to the bundle name under
Available License Bundles.
To select a bundle, choose one of the bundles listed under
Available License Bundles, then click
Add. The selected bundle appears under
Selected License Bundles.
To accept your choice, click
OK. This sets the environment variable
AGILEESOFD_LICPREF&hostname&
$HOME/hpeesof/config/hpeesof.cfg.
License Preference Tool with ltp_analog Selected
License Preference Tool Showing ltp_analog Features
How the License Preference Tool Works
When you run the License Preference Tool, it attempts to locate a license file using the following license definitions:
Environment variable
AGILEESOFD_LICENSE_FILE
$ HPEESOF_DIR/licenses/license.lic
aglmtool -c
&port_address&@&hostname&
(example port address is 27000)
The License Preference Tool will show all possible bundles if a license file is not located.
You can select a bundle according to specific rules controlled by the License Preference Tool. See .
ADS will start when a license bundle is selected, and ADS will not use a bundle unless it is selected using the License Preference Tool.
If, while using ADS, the feature you attempt to use is not in the currently selected bundle, ADS will attempt to check out a valid floating or nodelocked license for the feature. This is known as license roll-over. If license roll-over fails to check out a license, a license error will appear even if another bundle with the requested feature is available.
You can then select another bundle that contains the feature. Save your work, and exit ADS. Then run the License Preference Tool to remove and add bundles, and restart ADS.
Bundle-Selection Rules
The License Preference Tool controls bundle selection using the following rules. A warning message appears for any incorrect selection.
If you are using Limited Term Package Bundles
LTP bundles (except
ltp_design_guides) contain a design environment codeword (ads_schematic) enabling ADS to run. You must select an LTP bundle containing a design environment codeword for a license preference to occur.
Only one LTP bundle containing a design environment codeword can be selected at a time.
ltp_design_guides
bundle (if available) can be selected with any other LTP bundle except
ltp_iccap.
Any PL bundles available on your system cannot be selected with an LTP bundle.
If ADS and RF Design Environment are installed on the same UNIX or Linux system, RFDE bundles cannot be selected with LTP bundles.
If you are using Pay-Per-Use License Bundles
bundles contain a design environment codeword (ads_schematic) enabling ADS to run. You must select either
pl_desenv or pl_ui for a license preference to take place. Other PL bundles appearing under
are not selectable.
Any LTP bundles available on your system cannot be selected with PL bundles.
After selecting a PL bundle, you cannot select any additional bundles except for the following conditions:
pl_design_guides
bundle (if available) can be selected with the PL bundle.
If ADS and RF Design Environment are installed on the same UNIX or Linux system, only the
bundle (if available) can be selected for RFDE.
Additional Resources
Please reset your browser preferences to enable JavaScript

我要回帖

更多关于 exiting now 的文章

 

随机推荐