Local User Database for DHCPv4 Server
This chapter provides information about local user database (LUDB) for DHCPv4 server.
Topics in this chapter include:
Applicability
This chapter was initially written based on SR OS Release 13.0.R1, but the information and configuration in the current edition are based on SR OS Release 16.0.R4.
Basic LUDB knowledge is a prerequisite for understanding this chapter.
Overview
In SR OS, a local DHCPv4 server can be assigned a local user database (LUDB).
Assigning an LUDB to a DHCPv4 server allows the server to:
control IP address assignment; for example, by assigning a fixed IP address based on the user’s MAC address.
control DHCPv4 options for native as well as for simulated DHCPv4 clients used by PPP. In the case of PPP, users are identified to the DHCPv4 server using the DHCPv4 Vendor-Specific Information Sub-option [82,9][6] in the DHCPv4 discover/request messages.
provide ESM strings (referred to as identification-strings in CLI) using a user-defined unassigned DHCPv4 option (option 254 is provided as default).
Introduction
A local DHCPv4 server can be used for IPoE users as well as for PPP users (see LUDB access via a DHCPv4 server).
When a DHCPv4 user connects, the typical discover, offer, request, and acknowledge (DORA) message sequence running between the DHCPv4 client and the DHCPv4 server also passes through a relay agent.
When a PPP user connects through LCP/IPCP, an internal DHCPv4 client manages the communication toward the DHCPv4 server, on the condition that the relay agent also has relaying enabled for PPP applications. This internal DHCPv4 client is also referred to as a local (DHCPv4) client.
The DHCPv4 server can be located in the same node as the relay agent and the local client, but that is not required.
The relay agent must be configured correctly in order to forward the messages toward a DHCPv4 server. The DHCPv4 server IP address is defined. The relay agent can include following configurable options and sub-options to be used by the DHCPv4 server:
[82,1] Agent circuit ID sub-option
[82,2] Agent remote ID sub-option
[82,9] Vendor-specific information sub-option (VSO)
[1] system ID
[2] client MAC address
[3] service ID (IES/VPRN service ID)
[4] SAP ID
[5] string
[13] pool name
The local client uses the same DHCPv4 server IP address as the preceding relay agent, and can include its own set of (unconfigurable) options and sub-options to be used by the DHCPv4 server:
[60] vendor class (fixed string: ALU7XXXSBM)
[82,1] Agent circuit ID sub-option
[82,2] Agent femote ID sub-option
[82,6] Subscriber ID sub-option (equals PPPoE username)
[82,9] Vendor-specific information sub-option
[1] system ID (not included in a redundant node)
[2] client MAC address
[3] service ID (IES/VPRN service ID)
[4] SAP ID (not included for retail VPRN and redundant node)
[6] client type (1=PPP)
[13] pool name
[14] service name (PPPoE tag service name)
[17] session ID (PPPoE session ID)
When one or more of these options and sub-options are included, the DHCPv4 server can use them while accessing the LUDB, for selection of the section (client type 1 is the PPP section), and the host entry in that section. For example, not including the service ID VSO [82,9][3] to the DHCPv4 server, when LUDB host identification needs the MAC address and service ID, will result in an LUDB lookup failure on the DHCPv4 server and a silent drop of the DHCPv4 discover message.
LUDB input parameters
The following IPoE host identification fields are supported when accessing an LUDB from a DHCPv4 server:
circuit-id
encap-tag-range
mac
option60
remote-id
sap-id
service-id
string
system-id
The LUDB lookup process can match up to four IPoE match-criteria, as defined by the IPoE match-list.
The following PPP host identification fields are supported when accessing an LUDB from a DHCPv4 server:
circuit-id
encap-tag-range
mac
remote-id
sap-id
service-name
username
The LUDB lookup process can match up to three PPP match-criteria, as defined by the PPP match-list.
LUDB output parameters
Addressing information
The host entry address field has the following configuration options when the LUDB is associated with a DHCPv4 server:
no address
Host access is not allowed. The clients mapping to this host entry will not get an IP address.
23 2018/11/21 13:20:09.958 CET MINOR: DEBUG #2001 Base DHCP server "DHCP server: dhcp4-srv DISCOVER dropped: host=entry-66, host found but no valid address info
address <ip-address>
A fixed IP address is offered to the client and should not overlap with the address ranges configured in the local DHCP server.
address pool <pool-name> [secondary-pool <sec-pool-name>]
The DHCPv4 server allocates an address from one of the subnets in that pool on the condition that the DHCPv4 server is configured to use pool names for address selection. Optionally, a secondary pool can be defined, to be used in case the primary pool is exhausted.
Pool-name addressing is useful when the subscriber management node is not capable of inserting the pool-name VSO [82,9][13] or when a specific host requires a specific pool-name different from the pool-name included by the subscriber management node.
address gi-address [scope <subnet | pool>]
When the scope is set to subnet, the DHCPv4 server allocates an address from the subnet that includes the Gi address. When the scope is set to pool, the DHCPv4 server allocates an address from the subnet that includes the Gi address, or from the other subnets belonging to the same pool. Gi-addressing is useful when the subnet that the Gi address belongs to is exhausted.
address use-pool-from-client [delimiter <delimiter>]
The DHCPv4 server allocates an address from one of the subnets in the pool, as indicated by the pool-name VSO [82,9][13]. If two pools are available in this VSO, the configured delimiter distinguishes the first pool-name from the second pool-name.
Identification strings
An LUDB can optionally return identification strings (also known as ESM strings). The DHCPv4 server returns them in a user-defined DHCPv4 option (default: 254) to the requesting entity (the relay agent or the local client). The identification strings, in alphabetical order, are:
ancp-string
app-profile-string
category-map-name
inter-dest-id
sla-profile-string
sub-profile-string
subscriber-id
Options
An LUDB can return options to be used by the relay agent, the internal client, or the end-user device.
The IPoE user options configurable by option-name are:
default-router
dns-server
domain-name
lease-rebind-timer
lease-renew-timer
lease-time
netbios-name-server
netbios-node-type
subnet-mask
The PPP user options configurable by option-name are:
dns-server
netbios-name-server
Additional options, configurable by option-number, can be configured for both IPoE and PPP users by using the custom-option command.
*A:BNG-1>config>subscr-mgmt>loc-user-db>ipoe>host>options# custom-option ?
- custom-option <option-number> address [<ip-address>...(upto 4 max)]
- custom-option <option-number> hex <hex-string>
- custom-option <option-number> string <ascii-string>
- no custom-option <option-number>
<option-number> : [1..254]
<ip-address> : a.b.c.d
<ascii-string> : [127 chars max]
<hex-string> : [0x0..0xFFFFFFFF...(max 254 hex nibbles)]
*A:BNG-1>config>subscr-mgmt>loc-user-db>ipoe>host>options#
The encoding of these custom options is either in hexadecimal, ASCII, or IP address format. In debug output, these custom options are indicated as Unknown options and presented in Type-Length-Value (TLV) format.
Options and custom options can be configured at three different levels:
LUDB host entry level
DHCPv4 server pool level
DHCPv4 server subnet level
Options and custom options defined at the host entry level overrule options defined at either of the server levels.
Other parameters
All other parameters in the host entry definition are silently ignored (for example, IPv6 related parameters, msap-defaults, retail-service-id, and so on) because they are not applicable for a DHCPv4 server-associated LUDB.
Configuration
Example configuration shows the example configuration used in this chapter.
An LUDB can be associated with a DHCPv4 server in the base router instance or in a VPRN service instance using the following commands:
configure router dhcp local-dhcp-server <name> user-db <name>
configure service vprn <service-id> dhcp local-dhcp-server <name> user-db <name>
The following example has the DHCPv4 server created in the base router instance.
configure
router
dhcp
local-dhcp-server "dhcp4-srv" create
user-db "ludb-1"
use-gi-address
use-pool-from-client
pool "pool4-1" create
subnet 10.1.1.0/24 create
options
subnet-mask 255.255.255.0
default-router 10.1.1.254
exit
address-range 10.1.1.1 10.1.1.100
exit
exit
pool "pool4-2" create
subnet 10.1.2.0/24 create
options
subnet-mask 255.255.255.0
default-router 10.1.2.254
exit
address-range 10.1.2.1 10.1.2.254
exit
exit
---snip---
no shutdown
exit
exit
The server is then associated with the loopback interface at address 10.11.11.1, as follows:
configure
router
interface "int-DHCP"
address 10.11.11.1/32
loopback
local-dhcp-server "dhcp4-srv"
no shutdown
exit
exit
The following is a partial configuration of service IES 1. Note that the DHCPv4 relay agent is configured to include the service-ID VSO [82,9][3] because this option is used in the LUDB for matching purposes.
configure
service
ies 1 customer 1 create
subscriber-interface "sub-int-1" create
address 10.1.1.254/24
address 10.1.2.254/24
group-interface "grp-int-1-1" create
arp-populate
dhcp
option
action replace
circuit-id
remote-id
vendor-specific-option
pool-name
service-id
exit
exit
server 10.11.11.1
trusted
lease-populate 100
client-applications dhcp ppp
gi-address 10.1.1.254
no shutdown
exit
sap 1/1/1:111 create
sub-sla-mgmt
def-sub-profile "sub-prof-1"
def-sla-profile "sla-prof-1"
sub-ident-policy "sub-id-pol-1"
multi-sub-sap
no shutdown
exit
exit
---snip---
pppoe
session-limit 100
sap-session-limit 100
no shutdown
exit
exit
exit
In the following example, IPoE users are matched against the service-id, the MAC address and option 60. Host entry-11 returns a fixed IP address, three identification strings, and a set of options. PPP users are matched against the MAC address. Host entry-55 returns an address-pool, two identification strings, and two DNS servers as options.
configure
subscriber-mgmt
local-user-db "ludb-1" create
description "example user-db"
ipoe
match-list service-id mac option60
host "entry-11" create
host-identification
mac 00:00:00:11:11:11
service-id 1
option60 hex 0xaabb
exit
address 10.1.1.211
identification-strings 254 create
subscriber-id "sub-11"
sla-profile-string "sla-profile-1"
sub-profile-string "sub-profile-1"
exit
options
subnet-mask 255.255.255.0
default-router 10.1.1.251
dns-server 2.2.2.2 2.2.2.1
domain-name "domain.org"
netbios-name-server 10.1.1.252
netbios-node-type B
lease-time hrs 12
custom-option 251 hex 0x010203
exit
no shutdown
exit
---snip---
exit
ppp
match-list mac
host "entry-55" create
host-identification
mac 00:00:00:55:55:55
exit
address pool "pool4-2"
identification-strings 254 create
subscriber-id "sub-55"
sla-profile-string "sla-prof-3"
sub-profile-string "sub-prof-3"
exit
options
dns-server 2.2.2.2 2.2.2.1
exit
---snip---
no shutdown
exit
exit
no shutdown
exit
Entry-11 defines a fixed IP address in one of the subnets allowed on the group interface grp-int-1-1 on IES 1, but out of the range defined in the DHCPv4 server.
Debugging
The following example debugs the local DHCP server and the LUDB ludb-1.
debug
router "Base"
local-dhcp-server "dhcp4"
detail-level medium
mode egr-ingr-and-dropped
exit
exit
subscriber-mgmt
local-user-db "ludb-1"
detail all
exit
exit
exit
The following additional configuration ensures that the debug output is sent to the current login session.
configure
log
log-id 1
from debug-trace
to session
no shutdown
exit
exit
exit
IPoE users verification
The following command shows the DHCPv4 server lease state record for LUDB host entry-11. The address type is set to fixed because ludb-1 returns a fixed IP address.
*A:BNG-1# show router dhcp local-dhcp-server "dhcp4-srv" leases 10.1.1.211 detail
===============================================================================
Lease for DHCP server dhcp4-srv router Base
===============================================================================
IP-address : 10.1.1.211
Lease-state : stable
Lease started : 2018/11/21 13:14:34
Last renew : N/A
Remaining LifeTime : 11h59m31s
Remaining Potential Exp. Time: 0h0m0s
Sticky-lease Host Name : N/A
MAC address : 00:00:00:11:11:11
Xid : 0x1
Failover Control : local
Client Type : dhcp
User-db Host Name : entry-11
User-db Address Type : fixed
Persistence Key : N/A
Opt82 Hex Dump : (length=54)
: 52 34 01 1d 42 4e 47 2d 31 7c 31 7c 67 72 70 2d
: 69 6e 74 2d 31 2d 31 7c 31 2f 31 2f 31 3a 31 31
: 31 02 06 00 00 00 11 11 11 09 0b 00 00 19 7f 06
: 03 04 00 00 00 01
Opt82 Circuit Id : BNG-1|1|grp-int-1-1|1/1/1:111
Opt82 Remote Id : (hex) 00 00 00 11 11 11
Opt82 Subscr Id :
Opt82 VS System :
Opt82 VS Clnt MAC :
Opt82 VS Service : (hex) 00 00 00 01
Opt82 VS SAP :
Opt82 VS String :
Opt60 Hex Dump : (length=2)
: aa bb
Lease Remaining Hold Time : 0h0m0s
===============================================================================
*A:BNG-1#
The debug output on the DHCPv4 server and the LUDB ludb-1 shows that the LUDB is accessed for every incoming message. The identification-strings are returned to the relay agent in the Offer and Acknowledge messages through option [254]; see Decoding the ESM user option for the decoding.
1 2018/11/21 13:14:34.703 CET MINOR: DEBUG #2001 Base DHCP server
"DHCP server: dhcp4-srv
Rx DHCP Discover
ciaddr: 0.0.0.0 yiaddr: 0.0.0.0
siaddr: 0.0.0.0 giaddr: 10.1.1.254
chaddr: 00:00:00:11:11:11 xid: 0x1
DHCP options:
[82] Relay agent information: len = 52
[1] Circuit-id: BNG-1|1|grp-int-1-1|1/1/1:111
[2] Remote-id: (hex) 00 00 00 11 11 11
[9] Vendor-Specific info: len = 11
Enterprise [6527] : len = 6
[3] servId: 1
[53] Message type: Discover
[60] Class id: (hex) aa bb
[255] End
"
2 2018/11/21 13:14:34.703 CET MINOR: DEBUG #2001 Base LUDB
"LUDB: User lookup success - host found
svc-id: 1
mac: 00:00:00:11:11:11
option60:
original: 0xaabb
masked: 0xaabb
Host entry-11 found in user data base ludb-1"
3 2018/11/21 13:14:34.703 CET MINOR: DEBUG #2001 Base DHCP server
"DHCP server: dhcp4-srv
lease added for 10.1.1.211 state=offer
"
4 2018/11/21 13:14:34.703 CET MINOR: DEBUG #2001 Base DHCP server
"DHCP server: dhcp4-srv
Tx DHCP Offer to local relay agent 10.1.1.254 vrId=1
ciaddr: 0.0.0.0 yiaddr: 10.1.1.211
siaddr: 10.11.11.1 giaddr: 10.1.1.254
chaddr: 00:00:00:11:11:11 xid: 0x1
DHCP options:
[82] Relay agent information: len = 52
[1] Circuit-id: BNG-1|1|grp-int-1-1|1/1/1:111
[2] Remote-id: (hex) 00 00 00 11 11 11
[9] Vendor-Specific info: len = 11
Enterprise [6527] : len = 6
[3] servId: 1
[53] Message type: Offer
[54] DHCP server addr: 10.11.11.1
[51] Lease time: 43200
[1] Subnet mask: 255.255.255.0
[3] Router: 10.1.1.254
[6] Domain name server: length = 8
2.2.2.2
2.2.2.1
[15] Domain name: domain.org
[44] NETBIOS name server: 10.1.1.252
[46] NETBIOS type: 1
[251] Unknown option: len = 3, value = 01 02 03
[254] Unknown option: len = 38, value = 07 06 73 75 62 2d 31 31 08 0d 73
6c 61 2d 70 72 6f 66 69 6c 65 2d 31 09 0d 73 75 62 2d 70 72 6f 66 69 6c 65
2d 31
[60] Class id: (hex) aa bb
[255] End
"
5 2018/11/21 13:14:34.718 CET MINOR: DEBUG #2001 Base DHCP server
"DHCP server: dhcp4-srv
Rx DHCP Request
ciaddr: 0.0.0.0 yiaddr: 0.0.0.0
siaddr: 0.0.0.0 giaddr: 10.1.1.254
chaddr: 00:00:00:11:11:11 xid: 0x1
DHCP options:
[82] Relay agent information: len = 52
[1] Circuit-id: BNG-1|1|grp-int-1-1|1/1/1:111
[2] Remote-id: (hex) 00 00 00 11 11 11
[9] Vendor-Specific info: len = 11
Enterprise [6527] : len = 6
[3] servId: 1
[53] Message type: Request
[50] Requested IP addr: 10.1.1.211
[60] Class id: (hex) aa bb
[54] DHCP server addr: 10.11.11.1
[255] End
"
6 2018/11/21 13:14:34.718 CET MINOR: DEBUG #2001 Base LUDB
"LUDB: User lookup success - host found
svc-id: 1
mac: 00:00:00:11:11:11
option60:
original: 0xaabb
masked: 0xaabb
Host entry-11 found in user data base ludb-1"
7 2018/11/21 13:14:34.718 CET MINOR: DEBUG #2001 Base DHCP server
"DHCP server: dhcp4-srv
lease update for 10.1.1.211 state=stable
"
8 2018/11/21 13:14:34.718 CET MINOR: DEBUG #2001 Base DHCP server
"DHCP server: dhcp4-srv
Tx DHCP Ack to local relay agent 10.1.1.254 vrId=1
ciaddr: 0.0.0.0 yiaddr: 10.1.1.211
siaddr: 10.11.11.1 giaddr: 10.1.1.254
chaddr: 00:00:00:11:11:11 xid: 0x1
DHCP options:
[82] Relay agent information: len = 52
[1] Circuit-id: BNG-1|1|grp-int-1-1|1/1/1:111
[2] Remote-id: (hex) 00 00 00 11 11 11
[9] Vendor-Specific info: len = 11
Enterprise [6527] : len = 6
[3] servId: 1
[53] Message type: Ack
[54] DHCP server addr: 10.11.11.1
[51] Lease time: 43200
[1] Subnet mask: 255.255.255.0
[3] Router: 10.1.1.254
[6] Domain name server: length = 8
2.2.2.2
2.2.2.1
[15] Domain name: domain.org
[44] NETBIOS name server: 10.1.1.252
[46] NETBIOS type: 1
[251] Unknown option: len = 3, value = 01 02 03
[254] Unknown option: len = 38, value = 07 06 73 75 62 2d 31 31 08 0d 73
6c 61 2d 70 72 6f 66 69 6c 65 2d 31 09 0d 73 75 62 2d 70 72 6f 66 69 6c 65
2d 31
[60] Class id: (hex) aa bb
[255] End
"
The user-defined option value for carrying the ESM strings and taken from the LUDB (identification-strings) should match the value defined in the strings-from-option parameter (value 254 in the following example) referenced in the subscriber identification policy on the relaying node.
configure
subscriber-mgmt
sub-ident-policy "sub-id-pol-1" create
sub-profile-map
use-direct-map-as-default
exit
sla-profile-map
use-direct-map-as-default
exit
strings-from-option 254
exit
The DHCP options in the debug output match the definition of the options in the LUBD.
PPP users verification
The following command shows the DHCPv4 server lease state record for LUDB host entry-55. The client type is set to ppp, and the address type is set to dynamic as ludb-1 returns address-pool pool4-2 for this host.
*A:BNG-1# show router dhcp local-dhcp-server "dhcp4-srv" leases 10.1.2.2 detail
===============================================================================
Lease for DHCP server dhcp4-srv router Base
===============================================================================
IP-address : 10.1.2.1
Lease-state : stable
Lease started : 2018/11/21 13:17:06
Last renew : N/A
Remaining LifeTime : 0h58m36s
Remaining Potential Exp. Time: 0h0m0s
Sticky-lease Host Name : N/A
MAC address : 00:00:00:55:55:55
Xid : 0x2f1dd730
Failover Control : local
Client Type : ppp
User-db Host Name : entry-55
User-db Address Type : dynamic
Persistence Key : N/A
Opt82 Hex Dump : (length=83)
: 52 51 01 1d 42 4e 47 2d 31 7c 31 7c 67 72 70 2d
: 69 6e 74 2d 31 2d 31 7c 31 2f 31 2f 31 3a 31 31
: 31 02 06 00 00 00 55 55 55 09 28 00 00 19 7f 23
: 02 06 00 00 00 55 55 55 06 01 01 01 05 42 4e 47
: 2d 31 03 04 00 00 00 01 04 09 31 2f 31 2f 31 3a
: 31 31 31
Opt82 Circuit Id : BNG-1|1|grp-int-1-1|1/1/1:111
Opt82 Remote Id : (hex) 00 00 00 55 55 55
Opt82 VS System : BNG-1
Opt82 VS Clnt MAC : 00:00:00:55:55:55
Opt82 VS Service : (hex) 00 00 00 01
Opt82 VS SAP : 1/1/1:111
Opt82 VS String :
Opt82 VS PPPoE Session ID :
Opt60 Hex Dump : (length=10)
: 41 4c 55 37 58 58 58 53 42 4d
Lease Remaining Hold Time : 0h0m0s
===============================================================================
*A:BNG-1#
The debug output on the DHCPv4 server and the LUDB ludb-1 shows that the LUDB is accessed for every incoming message, as follows. Again the identification-strings are returned to the relay agent in the Offer and Acknowledge messages using option [254].
12 2018/11/21 13:17:06.271 CET MINOR: DEBUG #2001 Base DHCP server
"DHCP server: dhcp4-srv
Rx DHCP Discover
ciaddr: 0.0.0.0 yiaddr: 0.0.0.0
siaddr: 0.0.0.0 giaddr: 10.1.1.254
chaddr: 00:00:00:55:55:55 xid: 0x2f1dd730
DHCP options:
[82] Relay agent information: len = 81
[1] Circuit-id: BNG-1|1|grp-int-1-1|1/1/1:111
[2] Remote-id: (hex) 00 00 00 55 55 55
[9] Vendor-Specific info: len = 40
Enterprise [6527] : len = 35
[2] clntMac: 00:00:00:55:55:55
[6] clntType: 1
[1] systemId: BNG-1
[3] servId: 1
[4] sapId: 1/1/1:111
[51] Lease time: 3600
[53] Message type: Discover
[60] Class id: ALU7XXXSBM
[255] End
"
13 2018/11/21 13:17:06.271 CET MINOR: DEBUG #2001 Base LUDB
"LUDB: User lookup success - host found
mac: 00:00:00:55:55:55
Host entry-55 found in user data base ludb-1"
14 2018/11/21 13:17:06.271 CET MINOR: DEBUG #2001 Base DHCP server
"DHCP server: dhcp4-srv
lease added for 10.1.2.1 state=offer
"
15 2018/11/21 13:17:06.271 CET MINOR: DEBUG #2001 Base DHCP server
"DHCP server: dhcp4-srv
Tx DHCP Offer to local client 10.1.1.254 vrId=1
ciaddr: 0.0.0.0 yiaddr: 10.1.2.1
siaddr: 10.11.11.1 giaddr: 10.1.1.254
chaddr: 00:00:00:55:55:55 xid: 0x2f1dd730
DHCP options:
[82] Relay agent information: len = 81
[1] Circuit-id: BNG-1|1|grp-int-1-1|1/1/1:111
[2] Remote-id: (hex) 00 00 00 55 55 55
[9] Vendor-Specific info: len = 40
Enterprise [6527] : len = 35
[2] clntMac: 00:00:00:55:55:55
[6] clntType: 1
[1] systemId: BNG-1
[3] servId: 1
[4] sapId: 1/1/1:111
[53] Message type: Offer
[54] DHCP server addr: 10.11.11.1
[51] Lease time: 3600
[1] Subnet mask: 255.255.255.0
[6] Domain name server: length = 8
2.2.2.2
2.2.2.1
[254] Unknown option: len = 32, value = 07 06 73 75 62 2d 35 35 08 0a 73
6c 61 2d 70 72 6f 66 2d 33 09 0a 73 75 62 2d 70 72 6f 66 2d 33
[3] Router: 10.1.2.254
[60] Class id: ALU7XXXSBM
[255] End
"
16 2018/11/21 13:17:06.271 CET MINOR: DEBUG #2001 Base DHCP server
"DHCP server: dhcp4-srv
Rx DHCP Request
ciaddr: 0.0.0.0 yiaddr: 0.0.0.0
siaddr: 0.0.0.0 giaddr: 10.1.1.254
chaddr: 00:00:00:55:55:55 xid: 0x2f1dd730
DHCP options:
[82] Relay agent information: len = 81
[1] Circuit-id: BNG-1|1|grp-int-1-1|1/1/1:111
[2] Remote-id: (hex) 00 00 00 55 55 55
[9] Vendor-Specific info: len = 40
Enterprise [6527] : len = 35
[2] clntMac: 00:00:00:55:55:55
[6] clntType: 1
[1] systemId: BNG-1
[3] servId: 1
[4] sapId: 1/1/1:111
[50] Requested IP addr: 10.1.2.1
[51] Lease time: 3600
[53] Message type: Request
[54] DHCP server addr: 10.11.11.1
[60] Class id: ALU7XXXSBM
[255] End
"
17 2018/11/21 13:17:06.271 CET MINOR: DEBUG #2001 Base LUDB
"LUDB: User lookup success - host found
mac: 00:00:00:55:55:55
Host entry-55 found in user data base ludb-1"
18 2018/11/21 13:17:06.271 CET MINOR: DEBUG #2001 Base DHCP server
"DHCP server: dhcp4-srv
lease update for 10.1.2.1 state=stable
"
19 2018/11/21 13:17:06.271 CET MINOR: DEBUG #2001 Base DHCP server
"DHCP server: dhcp4-srv
Tx DHCP Ack to local client 10.1.1.254 vrId=1
ciaddr: 0.0.0.0 yiaddr: 10.1.2.1
siaddr: 10.11.11.1 giaddr: 10.1.1.254
chaddr: 00:00:00:55:55:55 xid: 0x2f1dd730
DHCP options:
[82] Relay agent information: len = 81
[1] Circuit-id: BNG-1|1|grp-int-1-1|1/1/1:111
[2] Remote-id: (hex) 00 00 00 55 55 55
[9] Vendor-Specific info: len = 40
Enterprise [6527] : len = 35
[2] clntMac: 00:00:00:55:55:55
[6] clntType: 1
[1] systemId: BNG-1
[3] servId: 1
[4] sapId: 1/1/1:111
[53] Message type: Ack
[54] DHCP server addr: 10.11.11.1
[51] Lease time: 3600
[1] Subnet mask: 255.255.255.0
[6] Domain name server: length = 8
2.2.2.2
2.2.2.1
[254] Unknown option: len = 32, value = 07 06 73 75 62 2d 35 35 08 0a 73
6c 61 2d 70 72 6f 66 2d 33 09 0a 73 75 62 2d 70 72 6f 66 2d 33
[3] Router: 10.1.2.254
[60] Class id: ALU7XXXSBM
[255] End
"
Operational considerations
A DHCPv4 server with an LUDB cannot be used for supporting Local Address Assignment (LAA) scenarios. LAA can be used when the DHCPv4 relay agent and the DHCPv4 server are in the same node, and where IP address assignment for PPP users happens through the API directly into the local DHCPv4 server. See the ESM SLAAC Prefix Assignment via Local Address Server chapter for details on this topic.
Conclusion
This chapter explained and demonstrated the use of an LUDB in combination with a DHCPv4 server. For the DHCPv4 server to find matching entries in the LUDB, the relay agent has to be configured with the correct options and sub-options so that entries can be matched in the LUDB. It was noted that the DHCPv4 server does not require the relaying function to be located in the same node. The input and the output parameters of a DHCPv4 server-attached LUDB were listed. Carrying over the identification/ESM strings in a user-defined DHCP option was configured and demonstrated, and the decoding of this option was explained.