Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • Kea Kea
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 555
    • Issues 555
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 66
    • Merge requests 66
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • ISC Open Source ProjectsISC Open Source Projects
  • KeaKea
  • Issues
  • #1518
Closed
Open
Issue created Nov 03, 2020 by Pontus Viking@pontus

Unable to add multiple sub options to vivso-suboptions (DHCPv4)

Describe the bug

I'm trying to configure the Kea Dhcp4 server to send option 125 vivso-suboptions with multiple suboptions (with different enterprise ids).

I've tried to configure the option and sub option according to the documentation, but then it only sends the last option (the server correctly sends each of the sub options if they are configured separately)

When I tried to "hard code" the option data trying to avoid a possible parsing problem when each sub options is configured separately only the first sub option in the data string is then returned. I configured this version by setting csv-format to false and provided the hex string in the data field according to the second example below

To Reproduce (regular configuration with sub options)

Steps to reproduce the behavior:

  1. Run Kea dhcpv4 with the following config
{
  "Dhcp4": {
    ...
    "option-data": [      {
        "always-send": true,
        "name": "vivso-suboptions",
        "space": "dhcp4"
      },{
        "always-send": true,
        "code": 22,
        "csv-format": true,
        "data": "untagged",
        "name": "tag",
        "space": "vendor-2234"
      },{
        "always-send": true,
        "name": "vivso-suboptions",
        "data": "3561"
      }, {
        "name": "url",
        "space": "vendor-3561",
        "data": "https://rgw.teliacompany.com:7575/ACS-server/ACS",
        "always-send": true
      }
    ],
    "option-def": [
      {
        "code": 22,
        "name": "tag",
        "space": "vendor-2234",
        "type": "string"
      },
      {
        "code": 11,
        "name": "url",
        "space": "vendor-3561",
        "type": "string"
      }
    ]
  ...
}
  1. Client does a DHCPDISCOVER
  2. Server then responds with
  TIME: 2020-11-02 15:55:40.497
    IP: 192.168.x.x (0:50:56:8b:46:66) > 255.255.255.255 (0:50:56:8b:93:86)
    OP: 2 (BOOTPREPLY)
..
OPTION:  53 (  1) DHCP message type         2 (DHCPOFFER)
..
OPTION: 125 ( 55) ???                       00000de9320b3068 ....2.0h
					    747470733a2f2f72 ttps://r
					    67772e74656c6961 gw.telia
					    636f6d70616e792e company.
					    636f6d3a37353735 com:7575
					    2f4143532d736572 /ACS-ser
					    7665722f414353   ver/ACS

To Reproduce (full packet data configuration) Steps to reproduce the behavior:

  1. Run Kea dhcpv4 with the following config
{
  "Dhcp4": {
    ...
    "option-data": [      {
        "always-send": true,
        "code": 125,
        "csv-format": false,
        "data": "000008ba0a1608756e74616767656400000de9320b3068747470733a2f2f7267772e74656c6961636f6d70616e792e636f6d3a373537352f4143532d7365727665722f414353",
        "name": "vivso-suboptions",
        "space": "dhcp4"
      }
    ],
    "option-def": [
    ]
  ...
}
  1. Client does a DHCPDISCOVER
  2. Server then responds with
  TIME: 2020-11-02 15:57:56.178
    IP: 192.168.x.x (0:50:56:8b:46:66) > 255.255.255.255 (0:50:56:8b:93:86)
    OP: 2 (BOOTPREPLY)
..
OPTION:  53 (  1) DHCP message type         2 (DHCPOFFER)
..
OPTION: 125 ( 15) ???                       000008ba0a160875 .......u
					    6e746167676564   ntagged

Expected behavior The server should send a response with the two sub options in the vivso option (the complete hex string)

   received DHCP Boot Reply on Interface to-DHCP-server Port 68

   H/W Type: Ethernet(10Mb)  H/W Address Length: 6
   ciaddr: 0.0.0.0           yiaddr: x.x.x.x
   siaddr: x.x.x.x    giaddr: 0.0.0.0
   chaddr: x:x:x:x:x:x    xid: 0xfd9d3a20

   DHCP options:
..
   [53] Message type: Ack
..
   [125] Unknown option: len = 70, value = 00 00 08 ba 0a 16 08 75 6e 74 61
   67 67 65 64 00 00 0d e9 32 0b 30 68 74 74 70 73 3a 2f 2f 72 67 77 2e 74 65
   6c 69 61 63 6f 6d 70 61 6e 79 2e 63 6f 6d 3a 37 35 37 35 2f 41 43 53 2d 73
   65 72 76 65 72 2f 41 43 53
   [255] End

Environment:

  • Kea version: 1.6.2
  • OS: Ubuntu 20.04.1 x64
  • Hooks: libdhcp_lease_cmds, libdhcp_ha
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking