[ipxe-devel] ipv6 slaac and other qeustion

Michael Brown mcb30 at ipxe.org
Wed Feb 26 17:35:42 UTC 2014

On 26/02/14 13:00, Vasiliy Tolstov wrote:
>>> 1) Does ipxe support ipv6 slaac address assigning when it boots?
>> Yes. You should be able to use the common radvd daemon to supply iPXE
>> with an IPv6 address. Not sure if any other servers have been tested.
> Nice. As i understand without radv i can get via slaac only link local
> address, not with global prefix, right?

Yes; without router advertisement you will have only a link-local 
address.  You can obtain global addresses by advertising autonomous 
on-link prefixes via router advertisement, or by advertising an on-link 
prefix as managed and providing a stateful DHCPv6 server.

> I can add mdns support to ipxe. I see dns.c to support mdns i need
> only listen to unicast address with specific port. All other thing
> like in common dns world.
> Can you says me what steps i need to add support for mdns (how can i
> add new protocol and how can i use it in pxe script?)

You would need to do at least the following:

- detect in dns_question() when the requested name terminates in 
".local", and record within the struct dns_request that mDNS should be 
used for transmission rather than DNS.  Note that this decision must be 
taken on a per-name basis: for example, if looking up the name "foo" 
with the DNS search list ".example.com, .local", then the resulting 
queries should be DNS:foo.example.com, mDNS:foo.local, DNS:foo

- use xfer_deliver_raw_meta() in dns_send_packet() to vary the 
destination address and source port for mDNS transmissions

- decide how to determine which network device to send mDNS requests on. 
  One viable option would be to use the last_opened_netdev().  Another 
option would be to use all currently-open network devices.

- ensure that local port 5353 is not used for the local DNS socket

- decide how to apply the "no nameservers" test at the start of 
dns_resolv(): if we have no explicit nameservers, do we use mDNS for all 
names?  If not, then we need to find an equivalent way to fail 
immediately on resolving non-mDNS names (noting as above that the 
determination of whether or not a name is mDNS can vary within the DNS 
search list).

- decide whether or not mDNS should be used for unqualified names (with 
no dots), with an implicit ".local" suffix

- decide how to choose between IPv4 and IPv6 multicast addresses.  The 
current logic is that if an IPv6 DNS server address is provided, then we 
use it and request AAAA records first.  Since mDNS is zero-configuration 
by definition, this same approach can't be used.

> Now i have manyc supermicro and hp servers and can't add usb stick to all =).
> Why i need to flash motherborad to get ipxe to intel card? I think
> that internal/external cards have own memory and own firmware not
> dependant of motherboard.

Onboard devices tend not to have their own expansion ROMs.


More information about the ipxe-devel mailing list