Problem
CI test suite started failing after upstream systemd commit cb2bba6b04 (2026-05-04, part of v261-rc1), which deprecated three DHCP relay agent settings in the [DHCPServer] section of .network files:
RelayTarget
RelayAgentCircuitId
RelayAgentRemoteId
These keys remain in the gperf file marked /* deprecated */, but upstream:
- Removed them from the
systemd.network(5) man page
- Removed the C parser function
config_parse_dhcp_server_relay_agent_suboption entirely
- Re-pointed the gperf entries at
config_parse_in_addr_non_null(AF_INET) (RelayTarget) and config_parse_dhcp_option(/* check_length= */ true) (the other two)
- Added a new replacement
[DHCPRelay] section (1a75eb7d8b) — only available in v261-rc1+
Failing tests
SemanticDataRepositoryTest.testAllRegisteredValidatorsExistInGperfFiles — config_parse_dhcp_server_relay_agent_suboption(0) is registered in AiGenerated.kt but no longer referenced by any gperf entry.
SemanticDataDocumentationCompletionTest.testAllOptionsHaveDocumentation — the three keys are in the gperf but no longer in any man page, so they fail the code/doc parity check.
ConfigParseDhcpServerRelayAgentSuboptionOptionValueTest.testInvalidValues — the validator no longer runs (since its function name isn't in gperf), so no error highlights are produced.
OptionValueTest.testThatAllOptionsHaveValidator — the time-based burn-down (612 - days_since_2025-10-27) caught up to the missing-validator count of 405 (allowed=404 today).
Notes
- The deprecated keys are real and well-established (added 2021-03 and 2021-04, ~5 years old) — not upstream churn.
- The replacement
[DHCPRelay] section only exists in v261-rc1 (tagged 2026-05-22). The current stable is v260.1, which has no migration path, so any deprecation messaging should not aggressively steer v260 users toward the new section.
- The
OptionValueTest burn-down naturally needs a buffer reset; upstream changes also bring new missing functions (config_parse_dhcp_option(true), config_parse_dhcp_option_tlv(0), config_parse_dhcp_relay_interface_mode(0), config_parse_int(0)) but no new unique function names — the count climb is from existing missing functions gaining additional keys.
Problem
CI test suite started failing after upstream systemd commit
cb2bba6b04(2026-05-04, part of v261-rc1), which deprecated three DHCP relay agent settings in the[DHCPServer]section of.networkfiles:RelayTargetRelayAgentCircuitIdRelayAgentRemoteIdThese keys remain in the gperf file marked
/* deprecated */, but upstream:systemd.network(5)man pageconfig_parse_dhcp_server_relay_agent_suboptionentirelyconfig_parse_in_addr_non_null(AF_INET)(RelayTarget) andconfig_parse_dhcp_option(/* check_length= */ true)(the other two)[DHCPRelay]section (1a75eb7d8b) — only available in v261-rc1+Failing tests
SemanticDataRepositoryTest.testAllRegisteredValidatorsExistInGperfFiles—config_parse_dhcp_server_relay_agent_suboption(0)is registered inAiGenerated.ktbut no longer referenced by any gperf entry.SemanticDataDocumentationCompletionTest.testAllOptionsHaveDocumentation— the three keys are in the gperf but no longer in any man page, so they fail the code/doc parity check.ConfigParseDhcpServerRelayAgentSuboptionOptionValueTest.testInvalidValues— the validator no longer runs (since its function name isn't in gperf), so no error highlights are produced.OptionValueTest.testThatAllOptionsHaveValidator— the time-based burn-down (612 - days_since_2025-10-27) caught up to the missing-validator count of 405 (allowed=404 today).Notes
[DHCPRelay]section only exists in v261-rc1 (tagged 2026-05-22). The current stable is v260.1, which has no migration path, so any deprecation messaging should not aggressively steer v260 users toward the new section.OptionValueTestburn-down naturally needs a buffer reset; upstream changes also bring new missing functions (config_parse_dhcp_option(true),config_parse_dhcp_option_tlv(0),config_parse_dhcp_relay_interface_mode(0),config_parse_int(0)) but no new unique function names — the count climb is from existing missing functions gaining additional keys.