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=KmMVMmnD; 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 7B8205A0265 for ; Thu, 01 Oct 2026 15:16:11 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1790860570; 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=NOL4ePvlrc0fmNjx4O+1JOp3m9gQgQk5Z85YYAdpUKI=; b=KmMVMmnDCRw165rYNBSTFfujlOxySjJvosTm2KUJkSl4x0FX26JpEMfUQHcbmvVGxoQ9gA TQFG0wK1HaIT59MiAKuBIpBKvqN9a6XavKvFhuuv6rBqLlO6qc6zBwEZHXu6wt8groOJil Il2JveqtOwZU72Yl4adBzRdCktzlj0s= Received: from mx-prod-mc-06.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-115-Q3KTsILXOR6i91VsYquE4A-1; Thu, 01 Oct 2026 09:16:09 -0400 X-MC-Unique: Q3KTsILXOR6i91VsYquE4A-1 X-Mimecast-MFC-AGG-ID: Q3KTsILXOR6i91VsYquE4A_1790860568 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (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-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 4DEF21800767 for ; Thu, 1 Oct 2026 13:16:08 +0000 (UTC) Received: from anskuma-thinkpadp1gen7.bengluru.csb (unknown [10.74.80.122]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 297AB18005B3; Thu, 1 Oct 2026 13:16:05 +0000 (UTC) From: Anshu Kumari To: sbrivio@redhat.com, passt-dev@passt.top Subject: [PATCH v7 0/7] Add --dhcp-boot and --dhcp-opt options Date: Thu, 1 Oct 2026 18:45:53 +0530 Message-ID: <20261001131602.653553-1-anskuma@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: jKd0ZXGBryqgstBinBPHluiT8HNLjmbdeSKOsa_y94I_1790860568 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Message-ID-Hash: 2I3YSUTL352J6CH7OVHE3U5BVW4GLZWA X-Message-ID-Hash: 2I3YSUTL352J6CH7OVHE3U5BVW4GLZWA 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: lvivier@redhat.com, anskuma@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 (7): dhcp: Refactor fill_one() to operate on a generic buffer dhcp: Add option configuration tracking with enum opt_conf dhcp: Add --dhcp-opt with option table and value parser dhcp: Add --dhcp-boot command-line option dhcp: Change fill_one() to return void dhcp: Add option overload dhcp: Add RFC 3396 option splitting for concatenation-requiring options conf.c | 32 ++- dhcp.c | 617 ++++++++++++++++++++++++++++++++++++++++++++++++++------ dhcp.h | 2 + passt.1 | 48 +++++ 4 files changed, 632 insertions(+), 67 deletions(-) -- 2.55.0