Opened 2 years ago

Closed 2 years ago

#5377 closed defect (fixed)

DHCPv4 server is unable to respond to giaddr when giaddr is unreachable over the inbound interface

Reported by: marcin Owned by: marcin
Priority: medium Milestone: Kea1.3-final
Component: libdhcp Version: git
Keywords: Cc:
CVSS Scoring: Parent Tickets:
Sensitive: no Defect Severity: Medium
Sub-Project: DHCP Feature Depending on Ticket:
Estimated Difficulty: 0 Add Hours to Ticket: 2
Total Hours: 15 Internal?: no


In the networks where the clients are communicating with the DHCPv4 server via the relay it is sometimes required that the server uses a different interface to send reply to giaddr than the one on which the message was received. This is important when the giaddr is not reachable over the inbound interface. This ticket should address this issue.

I am adding it straight to the 1.3-final release per previous agreements between the team members.


Change History (8)

comment:1 Changed 2 years ago by marcin

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

comment:2 Changed 2 years ago by tomek

I just wrote the code for handling outbound-interface parameter, updated docs and added unit-tests. The code is on trac5377.

Marcin, passing this over to you.

comment:3 Changed 2 years ago by tomek

  • Add Hours to Ticket changed from 0 to 3
  • Total Hours changed from 0 to 3

comment:4 Changed 2 years ago by marcin

  • Add Hours to Ticket changed from 3 to 10
  • Status changed from accepted to assigned
  • Total Hours changed from 3 to 13

The ticket is now ready for review. The DHCPv4 server respects the "outbound-interface" setting.

The code to be reviewed is on the trac5377a branch!

Proposed ChangeLog entry:

13XX.	[func]		marcin, tomek
	Added new configuration parameter "outbound-interface", which
	controls how the outbound interface and source address is
	determined for the responses sent by DHCPv4 servers to relayed
	clients. The default setting is to use the same interface as
	the one over which the query has been received. The alternative
	is to use system routing to determine the right interface and
	source address.
	(Trac #5377, git abcd)

comment:5 Changed 2 years ago by marcin

  • Owner changed from marcin to UnAssigned
  • Status changed from assigned to reviewing

comment:6 Changed 2 years ago by tomek

  • Owner changed from UnAssigned to tomek

comment:7 Changed 2 years ago by tomek

  • Add Hours to Ticket changed from 10 to 2
  • Owner changed from tomek to marcin
  • Total Hours changed from 13 to 15

I have reviewed the changes and they look good. Your changelog looks good as well, but it's a bit long. That's ok, though.

If you reviewed the code I wrote regarding parser and you're ok with it, the code is now ready for merge.

Before merging, make sure you renegarate the parsers.

comment:8 Changed 2 years ago by marcin

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

Merged with commit d08088923ec1ea0d1cb8a947bd520174d874d25e and then regenerated parsers.

Note: See TracTickets for help on using tickets.