It should be a mostly transparent process to the relay agent. The agent gets the broadcast client request, adds it's relay information, and unicasts it on to the server(s). The server uses the relay information to return any message through the agent, who then broadcasts an answer back to the client. The client won't have an address at this point, so it has to be broadcast. At most, the agent may need to recognize the rapid-commit option to know it _must_ be a broadcast reply, but the DHCP options should already indicate a broadcast answer.