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.

Figure 1. LUDB access via a DHCPv4 server

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.

Figure 2. Example configuration

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.

Figure 3. Decoding the ESM user option

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.