Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Navigation
Guide That Contains This Content
[+] Expand All
[-] Collapse All

    DHCP Relay Agent Information Option (Option 82) Suboption Values Overview

    The DHCP relay agent information option (option 82) enables you to include additional useful information in the client-originated DHCP packets that the DHCP relay forwards to a DHCP server.

    When the DHCP relay agent information option is enabled, the DHCP relay adds the option 82 information to packets it receives from clients, then forwards the packets to the DHCP server. The DHCP server uses the option 82 information to decide which IP address to assign to the client—the DHCP server might also use information in the option 82 field for additional purposes, such as determining which services to grant to the client. The DHCP server sends its reply back to the DHCP relay, which removes the option 82 information field from the message, and then forwards the packet to the client.

    The option 82 information is made up of a sequence of suboptions. JunosE Software supports the following DHCP relay agent information suboptions.

    • Agent Circuit ID (suboption 1)—An ASCII string that identifies the interface on which a client DHCP packet is received.
    • Agent Remote ID (suboption 2)—An ASCII string assigned by the relay agent that securely identifies the client.
    • Vendor-Specific (suboption 9)—The JunosE Software data field, which contains the Internet Assigned Numbers Authority (IANA) enterprise number (4874) used by JunosE Software and either or both the layer 2 circuit ID and the user packet class.
      • Layer 2 Circuit ID (type 1)—The hexadecimal representation of the layer 2 identifier in the Agent Circuit ID (suboption 1) value (for example, the ATM VPI/VCI or Ethernet SVLAN/VLAN ID.) You can configure this suboption type without the Agent Circuit ID.
      • User Packet Class (type 2)—The hexadecimal representation of the user packet class field, whose value is assigned by the layer 2 policy application. The layer 2 policy application can be used to map the DHCP packet or message IEEE 802.1p value to the user packet class field. See the JunosE Policy Management Configuration Guide for information about layer 2 policies.

    The Agent Circuit ID suboption (suboption 1) and the Agent Remote ID suboption (suboption 2) are typically determined by the client network access device and depend on the network configuration. The Vendor-Specific suboption (suboption 9) is more flexible and can be used by administrators to associate specific data with the DHCP messages relayed between the DHCP relay and the DHCP server. For example the Vendor-Specific suboption can include the client’s IEEE 802.1p value, which identifies the client's user priority.

    Note: The DHCP relay agent replaces any existing Vendor-Specific value in the client packet with the relay agent’s value.

    The JunosE Software provides two commands that you can use to configure DHCP relay agent information suboptions.

    • The set dhcp relay agent sub-option command—Enables you to configure option 82 to include any combination of the supported suboptions, including the Vendor-Specific suboption.
    • The set dhcp relay agent command—Enables you to configure option 82 to include either or both the Agent Circuit ID suboption (suboption 1) and Agent Remote ID suboption (suboption 2). The command does not support the Vendor-Specific suboption (suboption 9).

      Note: The set dhcp relay agent command is a legacy command, which JunosE Software continues to support to provide backward-compatibility for existing scripts. We recommend that all new configurations use the dhcp relay agent sub-option command.

    The set dhcp relay agent sub-option command enables you to manage specific option 82 suboptions without impacting the configuration of other suboptions. The legacy set dhcp relay agent command, however, changes the configuration of suboptions in some cases.

    Table 1 indicates the effect each command has on enabling or disabling relay agent information suboptions.

    Table 1: Effect of Commands on Option 82 Suboption Settings

    Command

    Suboption and Status

     

    Agent Circuit ID

    Agent Remote ID

    Vendor-Specific

    set dhcp relay agent sub-option circuit-id

    Enable

    No change

    No change

    set dhcp relay agent sub-option remote-id

    No change

    Enable

    No change

    set dhcp relay agent sub-option vendor-specific suboption-type

    No change

    No change

    Enable specified suboption type

    no set dhcp relay agent sub-option circuit-id

    Disable

    No change

    No change

    no set dhcp relay agent sub-option remote-id

    No change

    Disable

    No change

    no set dhcp relay agent sub-option vendor-specific suboption-type

    No change

    No change

    Disable specified suboption type

    set dhcp relay agent

    Enable

    Enable

    Not supported

    set dhcp relay agent circuit-id-only

    Enable

    Disable

    Not supported

    set dhcp relay agent remote-id-only

    Disable

    Enable

    Not supported

    no set dhcp relay agent

    Disable

    Disable

    Disable

    Format of the JunosE Data Field in the Vendor-Specific Suboption for Option 82

    RFC 4243 describes support for data fields from multiple vendors in the Vendor-Specific suboption for option 82. The JunosE Software DHCP relay agent, however, supports only the JunosE Software data field.

    RFC 4243 supports the following format of the Vendor-Specific suboption:

           0                   1                   2                   3
           0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
          +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          |   Code (9)    |    Length     |        Enterprise Number 1    |
          +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          |                               |  DataLen 1    |               |
          +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               +
          \                         Suboption Data 1                      \
          +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          .                                                               .
          .                                                               .
          +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     

    The JunosE Software data field appears after the JunosE Software enterprise number and data length fields in the Vendor-Specific suboption. The format of the JunosE data field is a sequence of type/length/value (TLV) tuples. The type field and length field (the length of the following value field) are each 1 byte in size. The JunosE data length field specifies the total length of all TLV tuples. The JunosE Software enterprise number is 4874 (0x130a.)

    The format of the Layer 2 Circuit ID type field (type 1) is hexadecimal. The data field length of a normal non-stacked VLAN is 2 bytes, with the VLAN ID occupying the 12 low-order bits of the value; the 4 high-order bits are 0. The data field length of a stacked VLAN is 4 bytes, with the SVLAN ID occupying the 12 low-order bits of the 2 high-order bytes, and the VLAN ID occupying the 12 low-order bits of the 2 low-order bytes; the unused bits are 0. The data field length of a VPI/VCI is 4 bytes, with the VPI occupying the 8 to 10 low-order bits of the 2 high-order bytes, and the VCI occupying the 16 bits of the 2 low-order bytes; the unused bits are 0.

    The format of the UPC data field (type 2) is hexadecimal; its data field length is 1 byte, with the UPC occupying the 4 low-order bits of the value; the 4 high-order bits are 0.

    Example 1—The Vendor-Specific suboption for a VLAN ID of 2468 (0x09a4) and a UPC of 5 is formatted as follows:

    09 0c 00 00 13 0a 07 01 02 09 a4 02 01 05
    |  |  |           |  |  |  |     |  |  |
    |  |  |           |  |  |  |     |  |  UPC val: 5
    |  |  |           |  |  |  |     |  UPC len: 1 byte
    |  |  |           |  |  |  |     UPC type: 2
    |  |  |           |  |  |  L2 Circuit ID val: 09 a4
    |  |  |           |  |  L2 Circuit ID len: 2 bytes
    |  |  |           |  L2 Circuit ID type: 1
    |  |  |           JUNOSE data len: 7 bytes
    |  |  JUNOSE IANA: 13 0a
    |  subopt 9 len: 12 bytes
    subopt code: 9

    Example 2—The Vendor-Specific suboption for a VLAN ID of 135-2468 (0x87-0x09a4, format <SVLAN ID>-<VLAN ID>) and a UPC of 5 is formatted as follows:

    09 0e 00 00 13 0a 09 01 04 00 87 09 a4 02 01 05
    |  |  |           |  |  |  |           |  |  |
    |  |  |           |  |  |  |           |  |  UPC val: 5
    |  |  |           |  |  |  |           |  UPC len: 1 byte
    |  |  |           |  |  |  |           UPC type: 2
    |  |  |           |  |  |  L2 Circuit ID val: 00 87 09 a4
    |  |  |           |  |  L2 Circuit ID len: 4 bytes
    |  |  |           |  L2 Circuit ID type: 1
    |  |  |           JUNOSE data len: 9 bytes
    |  |  JUNOSE IANA: 13 0a
    |  subopt 9 len: 14 bytes
    subopt code: 9

    Example 3—The Vendor-Specific suboption for a VPI/VCI of 123.45678 (0x7b.0xb26e, format <VPI>.<VCI>) and a UPC of 5 is formatted as follows:

    09 0e 00 00 13 0a 09 01 04 00 7b b2 6e 02 01 05
    |  |  |           |  |  |  |           |  |  |
    |  |  |           |  |  |  |           |  |  UPC val: 5
    |  |  |           |  |  |  |           |  UPC len: 1 byte
    |  |  |           |  |  |  |           UPC type: 2
    |  |  |           |  |  |  L2 Circuit ID val: 00 7b b2 6e
    |  |  |           |  |  L2 Circuit ID len: 4 bytes
    |  |  |           |  L2 Circuit ID type: 1
    |  |  |           JUNOSE data len: 9 bytes
    |  |  JUNOSE IANA: 13 0a
    |  subopt 9 len: 14 bytes
    subopt code: 9

    Published: 2014-08-20