From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from forward103c.mail.yandex.net (forward103c.mail.yandex.net [IPv6:2a02:6b8:c03:500:1:45:d181:d103]) by passt.top (Postfix) with ESMTPS id 4760D5A026D for ; Tue, 29 Aug 2023 11:14:28 +0200 (CEST) Received: from mail-nwsmtp-smtp-production-main-44.sas.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-44.sas.yp-c.yandex.net [IPv6:2a02:6b8:c14:440b:0:640:fa3a:0]) by forward103c.mail.yandex.net (Yandex) with ESMTP id 765D96012C for ; Tue, 29 Aug 2023 12:14:27 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-44.sas.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id PEMtUQADTqM0-gHa9gqgE; Tue, 29 Aug 2023 12:14:26 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1693300467; bh=DFSta5B8huMUrNwRJg1SqzgkKsMSpN2CL6C8Qfdn/64=; h=Message-Id:Date:Cc:Subject:To:From; b=mhXzocqv3R8+152tWU67Onuro58YTgNiEyLK39et92EH/POu6Bs3SyDS3hgHEm3vj sDUwtoyQkY7SMdVjg57LCxJPepe8eA3A4/KO/7ZqHzcCJkBRl6uB3Tvg1RNC9FO6ao VQQ1x6482cWgmCESo5e4jeOUpuVWISctYEfwywuE= Authentication-Results: mail-nwsmtp-smtp-production-main-44.sas.yp-c.yandex.net; dkim=pass header.i=@yandex.ru From: Stas Sergeev To: passt-dev@passt.top Subject: [PATCH] dhcp: support BOOTP clients Date: Tue, 29 Aug 2023 14:14:06 +0500 Message-Id: <20230829091406.562224-1-stsp2@yandex.ru> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-MailFrom: stsp2@yandex.ru X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation Message-ID-Hash: KOY5AO3ZU5JFADSP5WTEQEBEIQTUT24K X-Message-ID-Hash: KOY5AO3ZU5JFADSP5WTEQEBEIQTUT24K X-Mailman-Approved-At: Tue, 29 Aug 2023 11:29:54 +0200 CC: Stas Sergeev X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: BOOTP clients do not use tagged messages for requests. As such, any message without the DHCP option 53, should be considered a BOOTP request. Signed-off-by: Stas Sergeev --- dhcp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dhcp.c b/dhcp.c index d04648c..c1ac95e 100644 --- a/dhcp.c +++ b/dhcp.c @@ -323,8 +323,8 @@ int dhcp(const struct ctx *c, const struct pool *p) if (opts[53].c[0] == DHCPDISCOVER) { info("DHCP: offer to discover"); opts[53].s[0] = DHCPOFFER; - } else if (opts[53].c[0] == DHCPREQUEST) { - info("DHCP: ack to request"); + } else if (opts[53].c[0] == DHCPREQUEST || !opts[53].clen) { + info("%s: ack to request", opts[53].clen ? "DHCP" : "BOOTP"); opts[53].s[0] = DHCPACK; } else { return -1; -- 2.40.1