Opened 5 years ago

Last modified 4 years ago

#3910 reviewing enhancement

Add support for multiple vendor block in DHCPv4 Vendor-Identifying Vendor Options

Reported by: fdupont Owned by: UnAssigned
Priority: medium Milestone: Outstanding Tasks
Component: Unclassified Version: git
Keywords: Cc:
CVSS Scoring: Parent Tickets:
Sensitive: no Defect Severity: N/A
Sub-Project: DHCP Feature Depending on Ticket:
Estimated Difficulty: 0 Add Hours to Ticket: 0
Total Hours: 0 Internal?: no

Description

Cf RFC 3925 and #3618...

Subtickets

Change History (10)

comment:1 Changed 5 years ago by fdupont

BTW the support for DHCPv4 vendor-identifying vendor class option is less worse but must be fixed too.

comment:2 Changed 5 years ago by fdupont

Current state of the code:

  • DHCPv6: unique enterprise number so no issue
  • DHCPv4 VIVCO pack: the first enterprise ID is repeated
  • DHCPv4 VIVCO unpack: other enterprise IDs are skipped and not recorded

Possible solution for DHCPv4 VIVCO use a stack of enterprise IDs in parallel of the stack of tuples.

  • DHCPv4 VIVSIO pack: handle only the first vendor block
  • DHCPv4 VIVSIO unpack: break (since #3618) the parse loop at the end of the first vendor block.

Possible solution for DHCPv4 VIVSIO: add a stack of vendor blocks implemented as OptionVendor? objects (which maximize code reuse).

comment:3 Changed 5 years ago by fdupont

About the last proposal: we have the choice between a pointer to the next vendor block or a container for multiple vendor blocks (more complex but easier to de-recurse for the code).

comment:4 Changed 5 years ago by fdupont

  • Owner set to fdupont
  • Status changed from new to accepted

comment:5 Changed 5 years ago by fdupont

Did the Vendor Class part. BTW there was a bug in the old code: only the first empty (length == 0) opaque data was parsed in the DHCPv4 Vendor Class option unpack().

comment:6 Changed 5 years ago by fdupont

Did the Vendor option part too so it is now ready for review even IMHO there should be more unit tests for the error cases...

comment:7 Changed 5 years ago by fdupont

  • Owner changed from fdupont to UnAssigned
  • Status changed from accepted to assigned

comment:8 Changed 5 years ago by fdupont

  • Status changed from assigned to reviewing

comment:9 Changed 5 years ago by tomek

  • Milestone changed from Kea-proposed to DHCP Outstanding Tasks

comment:10 Changed 4 years ago by tomek

  • Milestone changed from DHCP Outstanding Tasks to Outstanding Tasks

Milestone renamed

Note: See TracTickets for help on using tickets.