Hello Siva,
When looking into the NetworkPkg Ip6ConfigImpl.c and PxeBcDriver.c we are setting the IAID as you stated below, though Ip6ConfigImpl does check if the IAID IpSb Instance is already created before
it generates its own.
Because the PxeBcDriver creates the Instance and profile first there should not be 2 IAID¡¯s during that operational flow.
Thanks,
Zack
From: Sivaraman Nainar <sivaramann@ami.com>
Sent: Tuesday, October 3, 2023 10:49 AM
To: devel@edk2.groups.io; Kasbekar, Saloni <saloni.kasbekar@intel.com>; Clark-williams, Zachary <zachary.clark-williams@intel.com>
Cc: Santhosh Kumar V <santhoshkumarv@ami.com>; Mike Su (áÌÔðæÞ) <MikeSu@ami.com>; Dhanaraj V <vdhanaraj@ami.com>
Subject: RE: reg: Two IAID assignment for single MAC Address
+ Saloni and Zachary.
From: Sivaraman Nainar
Sent: Tuesday, October 3, 2023 10:39 PM
To: devel@edk2.groups.io; Maciej Rabeda <maciej.rabeda@linux.intel.com>
Cc: Santhosh Kumar V <santhoshkumarv@ami.com>; Mike Su (áÌÔðæÞ) <MikeSu@ami.com>;
Dhanaraj V <vdhanaraj@ami.com>
Subject: reg: Two IAID assignment for single MAC Address
Hello Maciej:
When IPV6 PXE Boot performed in the environment where client and server are connected behind Routers, there are two SARR process happens, and both are using different IAID¡¯s.
During the PXE Boot IPV6, SARR Process Initiated to get the Boot File information. During that time one IAID Created (ff76fdbd).
PxeBcCreateIp6Children()
During the Router Advertisement , SARR Process Initiated to get the Boot File.
Ip6ConfigInitInstance()
Besides, according to the definition of IA(RFC-3315):
An "identity-association" (IA) is a construct through which a server
and a client can identify, group, and manage a set of related IPv6
addresses. Each IA consists of an IAID and associated configuration
information.
A client must associate at least one distinct IA with each of its
network interfaces for which it is to request the assignment of IPv6
addresses from a DHCP server. The client uses the IAs assigned to an
interface to obtain configuration information from a server for that
interface. Each IA must be associated with exactly one interface.
But as per EDK2 Network Implementation it defines two IA IDs for same client. Is there any reasoning behind this implementation?
What if both the process uses Same IAID?
Thanks
Siva
-The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only
by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the
sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.