Opened 5 years ago

Closed 4 years ago

Last modified 4 years ago

#4059 closed enhancement (complete)

handle layer 2 DHCPv6 relays

Reported by: fdupont Owned by: fdupont
Priority: low Milestone: Kea1.0-beta
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

Handle DHCPv6 relays which provide unusable (unspecified or link-local) link addresses, e.g., layer 2 relays.
I.e., so when the last relay has an unspecified or link-local link address try recursively with the previous one. BTW current code does

selector.first_relay_linkaddr_ = question->relay_info_.back().linkaddr_;

Subtickets

Change History (9)

comment:1 Changed 5 years ago by fdupont

Done. Branch ready for review (stacked so depends on #4061).

comment:2 Changed 5 years ago by fdupont

  • Owner changed from fdupont to UnAssigned
  • Status changed from new to reviewing

comment:3 Changed 4 years ago by hschempf

  • Milestone changed from Kea-proposed to Kea1.0
  • Owner changed from UnAssigned to stephen

per team meeting 7 oct, move to 1.0. Stephen will review.

comment:4 follow-ups: Changed 4 years ago by stephen

  • Owner changed from stephen to fdupont

Reviewed commit 0b9d3518f80635421858aee1d9bf41851a6ca2ad

src/bin/dhcp6/tests/dhcp6_srv_unittest.cc
I think that the unit test should be expanded. In particular, to check that the code works with (1) relay information containing nothing but a level 2 relay and (2) multiple relays in the relay information field, only one of which is a valid level 2 relay, the rest of which are unusable.

The change will require a ChangeLog entry. Something like:

Handle DHCPv6 relays which provide unusable (unspecified or link-local) link
addresses, e.g., layer 2 relays. When the last relay has an unspecified or
link-local link address iterate through the relays in reverse order until a
valid one is found.

comment:5 in reply to: ↑ 4 Changed 4 years ago by fdupont

  • Owner changed from fdupont to stephen

Replying to stephen:

Reviewed commit 0b9d3518f80635421858aee1d9bf41851a6ca2ad

src/bin/dhcp6/tests/dhcp6_srv_unittest.cc
I think that the unit test should be expanded. In particular, to check that the code works with (1) relay information containing nothing but a level 2 relay and (2) multiple relays in the relay information field, only one of which is a valid level 2 relay, the rest of which are unusable.

=> IMHO you mean "a valid level 3 relay"?

The change will require a ChangeLog entry. Something like:

Handle DHCPv6 relays which provide unusable (unspecified or link-local) link
addresses, e.g., layer 2 relays. When the last relay has an unspecified or
link-local link address iterate through the relays in reverse order until a
valid one is found.

=> what about a valid -> a usable (or an usable but I believe it must be 'a', not 'an').

BTW I'll add the 2 new cases, so please give me back the ticket.

comment:6 in reply to: ↑ 4 Changed 4 years ago by fdupont

Replying to stephen:

Reviewed commit 0b9d3518f80635421858aee1d9bf41851a6ca2ad

src/bin/dhcp6/tests/dhcp6_srv_unittest.cc
I think that the unit test should be expanded. In particular, to check that the code works with (1) relay information containing nothing but a level 2 relay and (2) multiple relays in the relay information field, only one of which is a valid level 3 relay, the rest of which are unusable.

=> Added (1) and (2) in 0b9d351..d466875 commit.

comment:7 Changed 4 years ago by stephen

  • Owner changed from stephen to fdupont

Reviewed commit d4668753de9940d1356d5ff154938ffec358f648

Looks OK, please merge.

comment:8 Changed 4 years ago by fdupont

  • Resolution set to complete
  • Status changed from reviewing to closed

Merged. Closing.

comment:9 Changed 4 years ago by tomek

  • Milestone changed from Kea1.0 to Kea1.0-beta

Milestone renamed

Note: See TracTickets for help on using tickets.