This chapter describes how to configure the DHCPv6 Lease Query Login Event Generator (LEG) on the Cisco Service Control Subscriber Manager, and how to use the command-line utilities (CLUs).
The DHCPv6 Lease Query LEG on the Cisco Service Control Subscriber Manager is configured using the leaseqv6.cfg and dhcpv6_pkg.cfg configuration files. These files reside in the ~pcube/sm/server/root/config directory. The leaseqv6.cfg file is used to set the general configuration, and the dhcpv6_pkg.cfg file is used to configure the dynamic package association. Configuring the dhcpv6_pkg.cfg file is optional.
The configuration files consist of sections with a bracketed section title, for example, [DHCPv6-Lease-Query]. Each section consists of several parameters having the format parameter=value. The number sign (#) at the beginning of a line signifies that it is a remark.
•Configuring the DHCPv6 Lease Query LEG
•Configuring Policy Association
•Applying the Configuration on the Cisco Service Control Subscriber Manager
•Information About the DHCPv6 Lease Query LEG CLU
The following is a description of the configuration variables of the leaseqv6.cfg file.
The [DHCPv6-Lease-Query] section contains the following parameters:
•start
Defines whether the Subscriber Manager runs the DHCPv6 Lease Query LEG at startup.
Possible values for this parameter are yes and no. The default value is no.
To run the LEG, this parameter must be set to yes.
•max_concurrent_sessions
Defines the number of concurrent sessions the DHCPv6 Lease Query LEG should support. This parameter limits the resources used by this module.
Possible values for this parameter are integers. The default value is 256.
•server_mode
Defines whether the DHCP servers, that are specified are in the active_standby mode or in the active_active mode. In the active_active mode, the lease query request is sent to all the configured DHCPv6 servers.
In the active_standby mode, the lease query request is sent to one of the active servers.
The default value is active_standby.
•dhcpv6_servers
Defines a list of DHCPv6 servers to which the DHCPv6 Lease Query LEG can send lease-query messages. If more than one server is defined, the messages are sent to one server or the other.
Possible values are one IPv6 unicast address, or two IPv6 unicast addresses separated by a comma. There is no default value. You must enter atleast one IPv6 address.
•server_port
Defines the UDP port to which the DHCPv6 servers listen and to which the lease query messages are sent. We recommended the use of 9547, which is the default value, when working with the DHCP Forwarder.
•listening_port
Defines the UDP port to which the DHCPv6 Lease Query LEG listens and to which the lease query replies are sent. We recommended the use of 8547, which is the default value, when working with the DHCP Forwarder.
•client_port
Defines the UDP port that the DHCPv6 Lease Query LEG uses when sending lease query messages to the DHCPv6 servers. We recommended the use of 8546, which is the default value, when working with the DHCP Forwarder.
•client_ipv6_address
Retrieves the IPv6 address of the Subscriber Manager.
The default value is the loopback IP address of the Subscriber Manager. The loopback address should not be [::1]. The host string localhost6 should be configured in the /etc/hosts file and should be a complete 128-bit IPv6 address of the Subscriber Manager.
•fail_over_criteria
Defines the number of consecutive request failures (timeouts) that will trigger a failover. Because the queries are not answered when the server fails, these queries will time out. The consecutive timed-out queries are counted, and when they reach this threshold, the second server is set as the active server. The default value for the fail_over_criteria parameter is 3.
The ipv6_session_timeout parameter defines the time taken to detect a failed server. Only when the configured amount of queries fail, will the fail-over process be triggered.
•use_forwarder
Defines whether the DHCPv6 Lease Query LEG utilizes the DHCP Forwarder application on the local machine.
Possible values for this parameter are true and false. The default value is true.
•support_auto_logout
Defines whether the LEG should query the DHCPv6 servers whenever the auto logout mechanism identifies an expired lease.
Possible values for this parameter are true and false. The default value is false.
Modifying the parameter requires the Subscriber Manager to be restarted.
Note This parameter should have the same value for all the external supported LEGs (if the LEGs are enabled). For example, if it is configured as true in DHCP Lease Query LEG, the value should be true in the DHCPv6 Lease Query LEG too.
•ipv6_session_timeout
Defines the timeout, in seconds, for a session from the time the DHCPv6 lease query message is sent. If the timeout expires, the session is discarded. This parameter affects the time of server failure detection. The fail-over process is triggered only when a session fails for the configured number of times.
The default value is 30 seconds.
•log_timed_out_queries
Defines whether the DHCPv6 Lease Query LEG logs messages regarding session timeout.
Possible values for this parameter are true or false. The default value is true.
•log_failed_queries
Controls the log messages pertaining to the queries that are not sent.
Possible values for this parameter are true or false. The default value is true.
•log_all_queries
Controls the log messages pertaining to each query sent and replies, if any, received.
Possible values for this parameter are true or false. The default value is false.
Use this parameter only for troubleshooting.
•log_login_failures
Controls log messages pertaining to the replies that did not result in the login of a subscriber to the Subscriber Manager.
Possible values for this parameter are true or false. The default value is true.
•ia_na_supported
Defines whether the DHCPv6 Lease Query LEG will support the IA_NA prefix. If the values is set to true, the IA_NA address found in the lease query reply is used as another prefix for the same subscriber.
Possible values for this parameter are true or false. The default value is false.
•ia_na_prefix_length
This configuration is valid only if the ia_na_supported parameter value is set to true.
Defines how many bits from the IA_NA address should be treated as the prefix. As per this length, the prefix value is taken from the IA_NA address. The supported range of the prefix length is between 32 and 64 if the prefix value is taken from IA_NA address.
If DS-lite support is enabled, 128-bit address can be used. The default value is 128.
•enable_snmp_bg_for_vlinks
Defines whether the SNMP bonding group process should handle the subscriber VLink association.
Possible values for this parameter are true or false. The default value is false.
The [Subscriber ID] section defines the functionality of how the DHCPv6 Lease Query LEG handles the subscriber ID. This section contains the following parameters:
•dhcpv6_option
Defines which DHCP option to use as the subscriber ID. The format of this parameter is the option number itself. For DHCP vendor-specific options that have suboptions, the format is the DHCP option and suboption type, separated by a colon, for example, 17:1026. The default value is 37 (the default Relay-Agent-Information using the Remote-ID information as described in RFC 4649).
•dhcpv6_option_type
Defines the format type of the DHCPv6 option defined by the dhcpv6_option parameter.
Optional values are binary, indicating a binary string converted to an ASCII hexadecimal string, or string, indicating an ASCII string. The default value is binary.
Note IP fallback is not suppported for IPv6.
The following is a sample configuration file:
[DHCPv6-Lease-Query]
start=yes
dhcpv6_servers =2607:f0d0:1002:11::1,2607:f0d0:1002:11::2
server_mode=active_standby
client_ipv6_address=2607:f0d0:1322:15::2
fail_over_criteria=5
ipv6_session_timeout=30
log_timed_out_queries=true
log_failed_queries=true
log_all_queries=true
log_login_failures=true
use_forwarder=true
dhcpv6_option=17:1026
dhcpv6_option_type=binary
Note The configuration described in this section is optional.
Subscriber policy configuration in the DHCPv6 Lease Query LEG can be handled in one of the following ways:
•Dynamic assignment of policy information using information extracted from the DHCP packet. See the "Dynamic Assignment of Policy Information" section.
•Static assignment of a constant package ID for all subscribers who log in via the DHCPv6 Lease Query LEG. See the "Static Assignment of Policy Information" section.
Dynamic assignment of policy information is supported when policy information is submitted in the DHCPv6 packets. The The DHCPv6 Lease Query LEG concatenates the desired options and creates a policy name. It is possible to map, using the configuration, between the policy names and the application policy parameters, such as package IDs. The DHCPv6 Lease Query LEG can support multiple policies.
To extract the policy information data from the DHCP packet, use the dhcpv6_pkg.cfg configuration file to define the option types that contain the policy information and define the conversion map of the policy names to the package IDs (or any other policy) of the Cisco Service Control Application for Broadband (Cisco SCA BB).
The [DHCPv6.Policy.Package] section contain the following parameters:
•options_order_for_policy_name
Defines the DHCP options that contain the policy association information and defines the order of concatenation of the data.
This parameter has no default value.
The format is option[:subtype],option[:subtype]
•options_type
Defines the format type of the DHCPv6 options and fields defined by the options_order_for_policy_name parameter.
Possible values for this parameter are binary (a binary string that is converted to an ASCII hexadecimal string), string (an ASCII string), or integer (a 4-byte integer converted to an IP address string in dotted notation). List options in the same way as options_order_for_policy_name.
This parameter has no default value.
•name_seperator_value
Defines the separator character to be used between two options when concatenating them to each other to create the policy name. Any character is accepted. The default value is underscore (_).
•use_default
Determines whether to use a default policy when no policy information can be extracted from the DHCPv6 data, such as, the configurable options are missing or no options are configured.
Possible values for this parameter are true or false. The default value is false.
•default_policy
Defines the default policy ID to use if no policy information is extracted from the DHCPv6 data. This parameter is relevant only if the use_default parameter is set to true.
Possible values for this parameter are any integer numbers. This parameter has no default value.
•allow_login_with_no_policy
Defines whether to perform a login without policy information when no policy information can be extracted from the DHCP data and the use_default parameter is set to false.
This parameter is relevant only if the use_default parameter is set to false.
Possible values for this parameter are true or false. The default value is true.
•ignore_policy_list
Defines a list of indexes separated by commas, where each index represents a policy or package value. During a login, if the value of the current subscriber policy is one of the values defined in this parameter, a login operation occurs without the subscriber policy value being changed.
•policy_property_name
Defines the name of the application property that contains the policy information. This parameter has no default value.
Note The policy_property_name parameter is case sensitive and must be written exactly as defined by the SCA BB Console. For example, packageId.
•log_all
Defines whether to write detailed user-log messages for all policy association events.
Possible values for this parameter are true or false. The default value is false.
•log_default_assignment
Defines whether to write a user-log message for every assignment of the default value (as defined by the default_policy parameter).
Possible values for this parameter are true or false. The default value is false.
•mapping_table.<policy_name>
Contains multiple entries containing information to be converted from the policy information as it appears in the DHCP packet to the policy property value to be used by the Cisco SCA BB application.
These entries do not have default values.
Note The policy_name value is case sensitive and must be written exactly as it exists in the DHCP packets.
Suppose the policy information appears inside option 17 (Vendor-Specific Option) of the DHCPv6 packet, and both subtypes—250 and 251—are in use, configure the options_order_for_policy_name parameter as follows:
options_order_for_policy_name=17:250,17:251
Suppose option 17 with subtype 250 contains the type of package (gold, silver, or bronze), and option 17 with subtype 251 contains domain information (the package type has a different meaning in different domains). If the separator value is configured to the default value, configure the mapping_table entries as follows:
mapping_table.gold_domain1=11 mapping_table.gold_domain2=12 mapping_table.silver_domain1=13 mapping_table.silver_domain2=14
This configuration means that if the DHCP packet contains the value gold inside option 17 with subtype 250, and the value domain1 inside option 17 with subtype 251, the package ID that is associated to the subscriber in the Subscriber Manager will have the value 11.
The following is an example of the entire configuration file:
[DHCPv6.Policy.Package] options_order_for_policy_name=17:250,17:251 name_separator_value=_ use_default=true default_policy=1 policy_property_name=packageId allow_login_with_no_policy=false log_all=false log_default_assignment=false mapping_table.gold_domain1=11 mapping_table.gold_domain2=12 mapping_table.silver_domain1=13 mapping_table.silver_domain2=14
If the installation does not require dynamic assignment of package information, the configuration file dhcpv6_pkg.cfg should define the default package ID to be assigned to all the subscribers, as shown in the following example:
[DHCPv6.Policy.Package] policy_property_name=packageId allow_login_with_no_policy=false use_default=true default_policy=1
All other configuration parameters should not be set.
After editing the relevant configuration files, use the following p3sm command-line utility to load the configuration file:
>p3sm --load-config
The p3v6leasequery CLU displays the DHCPv6 Lease Query LEG configuration, status, and statistics. The command format is p3v6leasequery <operation>.
Table 12-1 lists the p3leasequery operations.
•Viewing the DHCPv6 Lease Query LEG Status
•Viewing the DHCPv6 Lease Query LEG Statistics
•Viewing the DHCPv6 Lease Query LEG Statistics
•Viewing the DHCPv6 Lease Query LEG Version
The following is an example of using the p3v6leasequery CLU with the show operation in an Active_Standby setup:
>p3v6leasequery --show
DHCPV6 Lease-Query LEG:
======================
Active: true
Mode : active_standby
DHCPV6 Servers:
Active: 2607:f0d0:1002:11:0:0:0:1
Standby: N/A
Session timeout: 30
Fail over criteria: 3
IA_NA Supported: false
IA_NA Prefix Length: 64
Subscriber ID:
Option: 37
Format: binary
Command terminated successfully
The following is an example of using the p3v6leasequery CLU with the show operation in an Active_Active setup:
# p3v6leasequery --show
DHCPV6 Lease-Query LEG:
======================
Active: true
Mode : active_active
DHCPV6 Servers: 2607:f0d0:1002:11:0:0:0:1,2607:f0d0:1002:11:0:0:0:4
Session timeout: 30
IA_NA Supported: true
IA_NA Prefix Length: 128
Subscriber ID:
Option: 37
Format: binary
Command terminated successfully
The following is an example of using the p3v6leasequery CLU with the show policy operation:
>p3v6leasequery --show-policy
Policy Name: packageId
=======================
separator : _
use default : false
default value : 0
allow no package : true
log success : false
log default success : false
Number of mappings : 0
The following is an example of the p3v6leasequery CLU using the show-statistics operation in active-standby mode:
>p3v6leasequery --show-statistics
DHCP Lease-Query LEG Statistics:
================================
Lease-Queries Sent: 1
Lease-Queries Replied: 1
Active Lease Replies: 1
Non-Active Lease Replies: 0
Total timed-out sessions: 0
Consecutive timed-out sessions: 0
Number of fail-overs: 0
Invalid Replies: 0
Failed log-in operations: 0
Failed log-out operations: 0
Sessions in process: 0
Max-Concurrent sessions: 1
Command terminated successfully >
The following is an example of the p3v6leasequery CLU using the show-statistics operation in active-active mode:
>p3v6leasequery --show-statistics
DHCP Lease-Query LEG Statistics:
================================
Lease-Queries Sent: 2
Lease-Queries Replied: 2
Active Lease Replies: 1
Non-Active Lease Replies: 0
Total timed-out sessions: 0
Consecutive timed-out sessions: 0
Number of fail-overs: 0
Invalid Replies: 1
Failed log-in operations: 0
Failed log-out operations: 0
Sessions in process: 0
Max-Concurrent sessions: 1
Command terminated successfully
The following is an example of the p3v6leasequery CLU using the show-version operation:
>p3v6leasequery --show-version
DHCPv6 LEASE QUERY LEG 3.8.5 Build 100 >