public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Sivaraman Nainar via groups.io" <sivaramann=ami.com@groups.io>
To: "Clark-williams, Zachary" <zachary.clark-williams@intel.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>,
	"Kasbekar, Saloni" <saloni.kasbekar@intel.com>
Cc: "Santhosh Kumar V" <santhoshkumarv@ami.com>,
	"Mike Su (蘇得緣)" <MikeSu@ami.com>,
	"Dhanaraj V" <vdhanaraj@ami.com>
Subject: Re: [edk2-devel] reg: Two IAID assignment for single MAC Address
Date: Thu, 5 Oct 2023 05:38:50 +0000	[thread overview]
Message-ID: <BN0PR10MB49815EC112DD5B435D102E24C2CAA@BN0PR10MB4981.namprd10.prod.outlook.com> (raw)
In-Reply-To: <DM8PR11MB5606AD5DAAFEAB1FB0DCA052C9CBA@DM8PR11MB5606.namprd11.prod.outlook.com>


[-- Attachment #1.1.1: Type: text/plain, Size: 5610 bytes --]

Hello Zack:

Thank you for the reply.

With reference to the attached WireShark Log, there are TWO IAID’s are created.

[cid:image001.png@01D9F77B.FC77D490]



[cid:image001.png@01D9F77B.FC77D490]

As you explained the IAID’s are not generated only if the IAID stored in NV Variable.

  //
  // Try to read the config data from NV variable.
  //
  Status = Ip6ConfigReadConfigData (IpSb->MacString, Instance);
  if (Status == EFI_NOT_FOUND) {
    //
    // The NV variable is not set, so generate a random IAID, and write down the
    // fresh new configuration as the NV variable now.
    //
    Instance->IaId = NET_RANDOM (NetRandomInitSeed ());

But in IPV6 PXE Boot this NV Variable is not set. Hence one IAID From PXE Boot SARR Process and another IAID created from Router Advertise SARR Process.

Thanks
Siva
From: Clark-williams, Zachary <zachary.clark-williams@intel.com>
Sent: Thursday, October 5, 2023 3:24 AM
To: Sivaraman Nainar <sivaramann@ami.com>; devel@edk2.groups.io; Kasbekar, Saloni <saloni.kasbekar@intel.com>
Cc: Santhosh Kumar V <santhoshkumarv@ami.com>; Mike Su (蘇得緣) <MikeSu@ami.com>; Dhanaraj V <vdhanaraj@ami.com>
Subject: [EXTERNAL] RE: reg: Two IAID assignment for single MAC Address


**CAUTION: The e-mail below is from an external source. Please exercise caution before opening attachments, clicking links, or following guidance.**
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<mailto:sivaramann@ami.com>>
Sent: Tuesday, October 3, 2023 10:49 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Kasbekar, Saloni <saloni.kasbekar@intel.com<mailto:saloni.kasbekar@intel.com>>; Clark-williams, Zachary <zachary.clark-williams@intel.com<mailto:zachary.clark-williams@intel.com>>
Cc: Santhosh Kumar V <santhoshkumarv@ami.com<mailto:santhoshkumarv@ami.com>>; Mike Su (蘇得緣) <MikeSu@ami.com<mailto:MikeSu@ami.com>>; Dhanaraj V <vdhanaraj@ami.com<mailto: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<mailto:devel@edk2.groups.io>; Maciej Rabeda <maciej.rabeda@linux.intel.com<mailto:maciej.rabeda@linux.intel.com>>
Cc: Santhosh Kumar V <santhoshkumarv@ami.com<mailto:santhoshkumarv@ami.com>>; Mike Su (蘇得緣) <MikeSu@ami.com<mailto:MikeSu@ami.com>>; Dhanaraj V <vdhanaraj@ami.com<mailto: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<https://datatracker.ietf.org/doc/html/rfc3315>):

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.
-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.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#109341): https://edk2.groups.io/g/devel/message/109341
Mute This Topic: https://groups.io/mt/101738223/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



[-- Attachment #1.1.2: Type: text/html, Size: 19966 bytes --]

[-- Attachment #1.2: image001.png --]
[-- Type: image/png, Size: 115842 bytes --]

[-- Attachment #2: WireShark_TwoIAID.pcapng --]
[-- Type: application/octet-stream, Size: 2168004 bytes --]

  reply	other threads:[~2023-10-05  5:39 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-03 17:08 [edk2-devel] reg: Two IAID assignment for single MAC Address Sivaraman Nainar via groups.io
2023-10-03 17:48 ` Sivaraman Nainar via groups.io
2023-10-04 21:53   ` Clark-williams, Zachary
2023-10-05  5:38     ` Sivaraman Nainar via groups.io [this message]
2023-10-12 12:26       ` Sivaraman Nainar via groups.io
2023-11-03  4:50         ` Sivaraman Nainar via groups.io

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BN0PR10MB49815EC112DD5B435D102E24C2CAA@BN0PR10MB4981.namprd10.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox