From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: passt.top; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=RrT6V8Xa; dkim-atps=neutral Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by passt.top (Postfix) with ESMTPS id 838645A0275 for ; Mon, 24 Aug 2026 15:44:49 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787579088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OuhN6BDYa+FcbMsHEA/nnWCrlIfp1DleAVwvxyI+Ua8=; b=RrT6V8XazLRd9nxfYM2x9ARa6BMR6RrBuZue99dJT9OqhhJepsXCa6t8IYKtSx5r/Kl83b YNnv6ntU9B4r6ayiy/8LgYucFaBVaKKFGB+jUGZRr5NVy4zIB9hlXC9G+2SFM4/OmjYwAq 93S2xN6GQbXRqqp82gJzTjfNWKLZIRI= Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-381-l5JE_PkUPcu0ElSzGIAXBg-1; Mon, 24 Aug 2026 09:44:47 -0400 X-MC-Unique: l5JE_PkUPcu0ElSzGIAXBg-1 X-Mimecast-MFC-AGG-ID: l5JE_PkUPcu0ElSzGIAXBg_1787579086 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 7393B180ACCC; Mon, 24 Aug 2026 13:44:45 +0000 (UTC) Received: from anskuma-thinkpadp1gen7.bengluru.csb (unknown [10.74.80.6]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id DBC781955F0F; Mon, 24 Aug 2026 13:44:41 +0000 (UTC) From: Anshu Kumari To: sbrivio@redhat.com, passt-dev@passt.top, anskuma@redhat.com Subject: [PATCH v6 0/6] Add --dhcp-boot and --dhcp-opt options Date: Mon, 24 Aug 2026 19:14:28 +0530 Message-ID: <20260824134436.282300-1-anskuma@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: KVmVsRimv9g9yAQqSOKS335EPT7zaCVvSEoEk3Zgc9c_1787579086 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Message-ID-Hash: CZTZVRNBZSDVDJ4XNZPEZRRSQKRRMPID X-Message-ID-Hash: CZTZVRNBZSDVDJ4XNZPEZRRSQKRRMPID X-MailFrom: anskuma@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: david@gibson.dropbear.id.au, jmaloy@redhat.com, lvivier@redhat.com 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: This series adds support for custom DHCP options in passt, enabling network boot (PXE/UEFI HTTP Boot) and arbitrary DHCP option injection. Two new command-line flags are introduced: --dhcp-boot URL Sets the boot file URL (DHCP option 67 and the legacy boot file field) --dhcp-opt CODE,VALUE Sets any DHCP option by numeric code, with type-aware parsing per RFC 2132 The DHCP reply path is extended with option overload support (RFC 2132 option 52), allowing options to overflow into the file and sname fields when the standard options area is full. RFC 3396 option splitting for concatenation-requiring options has also been introduce as a separate patch. Anshu Kumari (6): dhcp: Refactor fill_one() to operate on a generic buffer dhcp: Add option state management with enum opt_state dhcp: Add option overload dhcp: Add --dhcp-opt with option table and value parser dhcp: Add --dhcp-boot command-line option dhcp: Add RFC 3396 option splitting for concatenation-requiring options conf.c | 31 +++- dhcp.c | 561 ++++++++++++++++++++++++++++++++++++++++++++++++++------ dhcp.h | 2 + passt.1 | 49 +++++ 4 files changed, 588 insertions(+), 55 deletions(-) -- 2.55.0