惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
爱范儿
爱范儿
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog
博客园_首页
IT之家
IT之家
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 三生石上(FineUI控件)
有赞技术团队
有赞技术团队
大猫的无限游戏
大猫的无限游戏
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 司徒正美
WordPress大学
WordPress大学
Last Week in AI
Last Week in AI
人人都是产品经理
人人都是产品经理
Jina AI
Jina AI
月光博客
月光博客
小众软件
小众软件
S
SegmentFault 最新的问题
量子位
阮一峰的网络日志
阮一峰的网络日志
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

dnsmasq-discuss

[Dnsmasq-discuss] Announce: dnsmasq-2.92rc2 Re: [Dnsmasq-discuss] [PATCH] Fix arguments order for chaos subdomain check Re: [Dnsmasq-discuss] patch: block-file/allow-file - for review/feedback Re: [Dnsmasq-discuss] patch: block-file/allow-file - for review/feedback Re: [Dnsmasq-discuss] patch: block-file/allow-file - for review/feedback Re: [Dnsmasq-discuss] patch: block-file/allow-file - for review/feedback [Dnsmasq-discuss] patch: block-file/allow-file - for review/feedback Re: [Dnsmasq-discuss] server= with interface parameter changes behavior over time [Dnsmasq-discuss] NFTsets and hosts-files [Dnsmasq-discuss] [PATCH] Allow expired RRSIGs when stale caching is enabled [Dnsmasq-discuss] [PATCH] Fix local host records being overridden by upstream NXDOMAIN [Dnsmasq-discuss] [PATCH] Fix arguments order for chaos subdomain check Re: [Dnsmasq-discuss] Malformed RRSIG Can Crash dnsmasq [Dnsmasq-discuss] Malformed NSEC/NSEC3 Can Hang dnsmasq [Dnsmasq-discuss] Malformed RRSIG Can Crash dnsmasq [Dnsmasq-discuss] Security - IMPORTANT Re: [Dnsmasq-discuss] Issue with circuit-id matching on dhcp requests Re: [Dnsmasq-discuss] Issue with circuit-id matching on dhcp requests Re: [Dnsmasq-discuss] Issue with circuit-id matching on dhcp requests [Dnsmasq-discuss] Issue with circuit-id matching on dhcp requests Re: [Dnsmasq-discuss] [PATCH] bpf.c: fix memory leak in arp_enumerate() on BSD Re: [Dnsmasq-discuss] [PATCH] bpf.c: fix memory leak in arp_enumerate() on BSD Re: [Dnsmasq-discuss] dnssec problem here and now Re: [Dnsmasq-discuss] dnssec problem here and now [Dnsmasq-discuss] dnssec problem here and now Re: [Dnsmasq-discuss] server= with interface parameter changes behavior over time Re: [Dnsmasq-discuss] [PATCH] bpf.c: fix memory leak in arp_enumerate() on BSD Re: [Dnsmasq-discuss] [PATCH] bpf.c: fix memory leak in arp_enumerate() on BSD Re: [Dnsmasq-discuss] [PATCH] Preserve existing log file permissions when adding group-write bit. [Dnsmasq-discuss] server= with interface parameter changes behavior over time
Re: [Dnsmasq-discuss] [PATCH] dhcp6: implement vendor cla...
Simon Kelley · 2026-06-11 · via dnsmasq-discuss


On 10.06.2026 20:56, Luiz Angelo Daros de Luca wrote:
Implement the OT_DHCP6_VENDOR option type to properly handle the
DHCPv6 Vendor Class option (code 16) according to RFC 3315.

Previously, this option was marked as OT_INTERNAL, causing dnsmasq
to fail immediately if configured by name. Bypassing this block by
using the numerical option format (option6:16) caused the payload
to be formatted with an unintended string-length prefix. This broke
compliance because the RFC requires a fixed 4-byte Enterprise ID
at the beginning of the option, followed by data blocks.

This byte misalignment broke features like UEFI HTTP IPv6 Boot

With this patch, we complete the support for all UEFI boot methods:

# Vendor matching IPv4
dhcp-vendorclass=set:pxebios,PXEClient:Arch:00000
dhcp-vendorclass=set:pxeefi,PXEClient:Arch:00006
dhcp-vendorclass=set:pxeefi,PXEClient:Arch:00007
dhcp-vendorclass=set:pxeefi,PXEClient:Arch:00009
dhcp-vendorclass=set:httpefi,HTTPClient:Arch:00016

# Vendor matching IPv6
dhcp-match=set:pxeefi,option6:61,00:07
dhcp-match=set:pxeefi,option6:61,00:09
dhcp-match=set:httpefi,option6:61,00:10

# Set vendor class for HTTP IPv4 answers
dhcp-option=httpefi,60,HTTPClient

# Set vendor class for IPv6 answers (requires the patch in this thread)
dhcp-option=httpefi,option6:vendor-class,343,HTTPClient

# Set the IPv4 boot file for PXE and HTTP (I'm using iPXE)
dhcp-boot=tag:pxebios,ipxe/ipxe.pxe,tftpsrv.example.com,192.0.2.2
dhcp-boot=tag:pxeefi,ipxe/ipxe.efi,tftpsrv.example.com,192.0.2.2
dhcp-boot=tag:httpefi,http://192.0.2.2/ipxe/ipxe.efi,httpsrv.example.com

# Set the IPv6 boot file for PXE and HTTP (I'm using iPXE)
dhcp-option=pxeefi,option6:59,tftp://tftpsrv.example.com/ipxe/ipxe.efi
dhcp-option=httpefi,option6:59,http://[2001:db8::2]/ipxe/ipxe.efi

# This is specific for iPXE (after it has already booted,
independently from protocol IPv4/IPv6 or TFTP/HTTP)
dhcp-userclass=set:ipxe,iPXE
# When iPXE uses DHCPv4 first
dhcp-boot=tag:ipxe,/ipxe/ipxe.cfg/init.ipxe
# When iPXE uses DHCPv6 first
dhcp-option=ipxe,option6:59,http://[2001:db8::2]/ipxe/ipxe.cfg/init.ipxe

I didn't double check the Legacy BIOS boot, but I guess it should
work. It would be nice if something like this would be available for
the general public, like in docs, example config files or even man.


This is good. Patch applied, and I added a sentence in the man-page to cover the required enterprise number.

Could you expand the above into a short PXE-boot HOWTO. That would be very useful for many, I think.


Simon.

Regards,

Luiz

_______________________________________________
Dnsmasq-discuss mailing list
[email protected]
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss



_______________________________________________
Dnsmasq-discuss mailing list
[email protected]
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss