Ok, thanks Sriram.

Mike and Vincent,

Do you have any opinion? If no objection, I will create the patch by solution2.

Thanks.
Jiaxin

> -----Original Message-----
> From: Subramanian, Sriram (EG Servers Platform SW) [mailto:sriram-
> [email protected]]
> Sent: Wednesday, February 24, 2016 11:45 AM
> To: Wu, Jiaxin <[email protected]>; El-Haj-Mahmoud, Samer <samer.el-
> [email protected]>; Kinney, Michael D <[email protected]>
> Cc: Zimmer, Vincent <[email protected]>; Ye, Ting
> <[email protected]>; [email protected]; Li, Ruth <[email protected]>;
> Fu, Siyuan <[email protected]>
> Subject: RE: Using PCD to set default policy for IPv4/IPv6
> 
> I would prefer to keep it simple and so go with solution2.
> 
> Thanks,
> Sriram.
> 
> -----Original Message-----
> From: Wu, Jiaxin [mailto:[email protected]]
> Sent: Wednesday, February 24, 2016 7:06 AM
> To: Subramanian, Sriram (EG Servers Platform SW); El-Haj-Mahmoud, Samer;
> Kinney, Michael D
> Cc: Zimmer, Vincent; Ye, Ting; [email protected]; Li, Ruth; Fu, Siyuan
> Subject: RE: Using PCD to set default policy for IPv4/IPv6
> 
> Hi Sriram,
> 
> As we know the git version '3d0a49ad' commit provided a scenario to
> resolved the performance issue for IPv4, but it's not workable for IPv6 (The
> reason we discussed before). To avoid IPv4 and IPv6 inconsistency, we
> decided to revert that version fix.
> 
> Assume we revert the git '3d0a49ad' commit in Ip4Dxe driver. The IP driver
> behaviour is Below:
> In IP driver binding start function, IP Config instance is initialized. 
> During this
> process, the config data will be read from NV variable first, if not found, 
> write
> some config data into NV variable as a default config data. Then SetData
> operation will be called directly to set the default data items but not
> consume IP Config Protocol. The SetData operation will start the DHCP
> process (This is the key of this issue). After that process finished, IP 
> Config
> Protocol only can be installed. So, other platform drivers will have no chance
> to set default config data by consume IP Config Protocol.
> 
> Below is detailed for the proposed design:
> During Config instance initialization operation, the SetData operation won't
> be called. Then, install IP Config Protocol directly. After that, any other
> platform drivers(Must be started ahead of UEFI driver) can be called by the
> callback mechanism (This callback is the install IP Config Protocol's 
> callback)
> and consume IP Config Protocol to change the default Config data. This data
> will also be written into NV variable. Then, read the config data from NV
> variable again because the default data can be changed by other drivers.
> Finally, set it by consuming IP Config Protocol.
> 
> For solution1, we still keep the default policy in IP driver is
> Ip4Config2PolicyDhcp/Ip6ConfigPolicyAutomatic since other platform drivers
> will have the chance to change it by consume IP Config Protocol. Your
> understanding is right, the additional DXE driver will change all instance
> default policy (For each NIC). But this driver register ProtocolNotify and its
> event will never to be closed since the all new detected NIC default policy
> can be changed by this driver. That is also my concern.
> 
> For solution2, I means this solution2 based on the above design changes, we
> change the default value in IP driver,  of course, the platform drivers also 
> can
> change it. But for your case, it not required. The new Spec only means the
> default policy is beyond its scope and the implementation leaves to platform
> to choose the default policy. After the above design changes, we do provide
> a chance for platform to set it. So, it's not against the Spec.
> 
> 
> Thanks.
> Jiaxin
> 
> > -----Original Message-----
> > From: edk2-devel [mailto:[email protected]] On Behalf Of
> > Subramanian, Sriram (EG Servers Platform SW)
> > Sent: Tuesday, February 23, 2016 11:09 PM
> > To: Wu, Jiaxin <[email protected]>; El-Haj-Mahmoud, Samer <samer.el-
> > [email protected]>; Kinney, Michael D
> <[email protected]>
> > Cc: Zimmer, Vincent <[email protected]>; Ye, Ting
> > <[email protected]>; [email protected]; Li, Ruth
> > <[email protected]>; Fu, Siyuan <[email protected]>
> > Subject: Re: [edk2] Using PCD to set default policy for IPv4/IPv6
> >
> > Hi Jiaxin,
> >
> > For (1), what is the proposed design? Should the driver implemented by
> > the platform do a RegisterProtocolNotify() for
> > gEfiIp4Config2ProtocolGuid/gEfiIp6ConfigProtocolGuid and set the
> > policy for each instance in the system? What happens if this driver
> > doesn't exist, or doesn't set it for all the NICs? What is the
> > "default" for such NICs, since the UEFI spec says the policy is beyond
> > the scope of the protocol? Are you going to assume static?
> >
> > For (2), I understand this is the easiest method, but since the
> > default policy is beyond the protocol now, I would agree to this if
> > this doesn't go against the spec and is okay with others in the forum.
> >
> > Thanks,
> > Sriram.
> >
> > From: Wu, Jiaxin [mailto:[email protected]]
> > Sent: Tuesday, February 23, 2016 1:14 PM
> > To: El-Haj-Mahmoud, Samer; Kinney, Michael D
> > Cc: Subramanian, Sriram (EG Servers Platform SW); Fu, Siyuan; Hegde,
> > Nagaraj P; Zimmer, Vincent; Li, Ruth; Ye, Ting;
> > [email protected]
> > Subject: RE: Using PCD to set default policy for IPv4/IPv6
> >
> > Hi Mike and Samer,
> >
> > Since the PCD solution is not acceptable, we just ignore it.
> >
> > Now, I finished the investigation and coding for the Ip4Dxe/Ip6Dxe
> > driver's adjustment according Mike and Siyuan's suggestion. IP Config
> > Protocol can be produced earlier, so any platform drivers(Must be
> > started ahead of UEFI
> > driver) can be called to consume IP Config Protocol to change the
> > default config data.
> >
> > Now, we have two solutions to resolve the performance issue.
> >
> > 1.       Create an additional DXE driver to change the default policy. I 
> > have
> > verified this scenario, it's workable.
> >
> > 2.       Change the default policy in Ip4Dxe/Ip6Dxe drivers to
> > Ip4Config2PolicyStatic/Ip6ConfigPolicyManual directly. This scenario
> > is simple and no additional driver requirement, but only change the
> > default Ip4Dxe/Ip6Dxe drivers' behavior.
> >
> > I have no opinions for both of above solutions. So, need your feedback
> > to confirm which one is the finally solution?
> >
> > Thanks.
> > Jiaxin
> >
> > From: Fu, Siyuan
> > Sent: Friday, February 19, 2016 10:24 AM
> > To: Kinney, Michael D
> > <[email protected]<mailto:[email protected]>>
> > Cc: Subramanian, Sriram (EG Servers Platform SW) <sriram-
> > [email protected]<mailto:[email protected]>>; El-Haj-Mahmoud, Samer
> > <[email protected]<mailto:samer.el-haj-
> > [email protected]>>; Wu, Jiaxin
> > <[email protected]<mailto:[email protected]>>; Hegde, Nagaraj P
> > <[email protected]<mailto:[email protected]>>;
> Zimmer,
> > Vincent <[email protected]<mailto:[email protected]>>;
> > Li, Ruth <[email protected]<mailto:[email protected]>>; Ye, Ting
> > <[email protected]<mailto:[email protected]>>; edk2-
> > [email protected]<mailto:[email protected]>
> > Subject: RE: Using PCD to set default policy for IPv4/IPv6
> >
> > Yes I'm also investigating this approach, it will bring a lot of code
> > changes, we need to check whether it will bring other unexpected problem.
> >
> > From: Kinney, Michael D
> > Sent: Friday, February 19, 2016 10:19 AM
> > To: Fu, Siyuan <[email protected]<mailto:[email protected]>>;
> > Kinney, Michael D
> > <[email protected]<mailto:[email protected]>>
> > Cc: Subramanian, Sriram (EG Servers Platform SW) <sriram-
> > [email protected]<mailto:[email protected]>>; El-Haj-Mahmoud, Samer
> > <[email protected]<mailto:samer.el-haj-
> > [email protected]>>; Wu, Jiaxin
> > <[email protected]<mailto:[email protected]>>; Hegde, Nagaraj P
> > <[email protected]<mailto:[email protected]>>;
> Zimmer,
> > Vincent <[email protected]<mailto:[email protected]>>;
> > Li, Ruth <[email protected]<mailto:[email protected]>>; Ye, Ting
> > <[email protected]<mailto:[email protected]>>; edk2-
> > [email protected]<mailto:[email protected]>
> > Subject: RE: Using PCD to set default policy for IPv4/IPv6
> >
> > Siyuan,
> >
> > From the flow chart, it looks like a design issue in the current
> implementation.
> > The UEFI Spec defines config protocols, but there is a use case for a
> > newly added NIC that does not allow the platform to use the config
> > protocols before the configuration information is used to start higher
> > layers in the network stack (i.e. DHCP).
> >
> > Can we adjust the design, so the config protocols are produced
> > earlier, so the platform can have the option to set config information
> > before the config information is used?
> >
> > Thanks,
> >
> > Mike
> >
> > From: Fu, Siyuan
> > Sent: Thursday, February 18, 2016 5:45 PM
> > To: Kinney, Michael D
> > <[email protected]<mailto:[email protected]>>
> > Cc: Subramanian, Sriram (EG Servers Platform SW) <sriram-
> > [email protected]<mailto:[email protected]>>; El-Haj-Mahmoud, Samer
> > <[email protected]<mailto:samer.el-haj-
> > [email protected]>>; Wu, Jiaxin
> > <[email protected]<mailto:[email protected]>>; Hegde, Nagaraj P
> > <[email protected]<mailto:[email protected]>>;
> Zimmer,
> > Vincent <[email protected]<mailto:[email protected]>>;
> > Li, Ruth <[email protected]<mailto:[email protected]>>; Ye, Ting
> > <[email protected]<mailto:[email protected]>>; edk2-
> > [email protected]<mailto:[email protected]>
> > Subject: RE: Using PCD to set default policy for IPv4/IPv6
> >
> > Correct a typo
> > If a PCD should NOT be used from the UEFI compliance point of view,
> >
> > From: Fu, Siyuan
> > Sent: Friday, February 19, 2016 9:40 AM
> > To: Kinney, Michael D
> > <[email protected]<mailto:[email protected]>>
> > Cc: Subramanian, Sriram (EG Servers Platform SW) <sriram-
> > [email protected]<mailto:[email protected]>>; El-Haj-Mahmoud, Samer
> > <[email protected]<mailto:samer.el-haj-
> > [email protected]>>; Wu, Jiaxin
> > <[email protected]<mailto:[email protected]>>; Hegde, Nagaraj P
> > <[email protected]<mailto:[email protected]>>;
> Zimmer,
> > Vincent <[email protected]<mailto:[email protected]>>;
> > Li, Ruth <[email protected]<mailto:[email protected]>>; Ye, Ting
> > <[email protected]<mailto:[email protected]>>; edk2-
> > [email protected]<mailto:[email protected]>
> > Subject: RE: Using PCD to set default policy for IPv4/IPv6
> >
> >
> > Hi, Mike
> >
> >
> >
> > Seems HP have some special use case that couldn't apply the fast boot,
> > so let's just put it aside and let me describe more clearly why the
> > problem couldn't be solved by a platform driver/PCD or a platform HII
> configuration.
> >
> >
> >
> > First, the "default policy" here we are talking about, means the
> > policy for a newly detected NIC by the IP driver. When IP driver
> > recognized a NIC which hasn't been managed by itself before, it will
> > set the "default policy" to this NIC, and save it in NV variable. Once
> > the policy is changed by anyone using the IP4/6 Config protocol, the
> > NV setting will be overridden by the new setting, and keep effect over
> platform reset.
> >
> > Second, when IP/DHCP driver is started, it will send out the DHCP
> > Discover(for IPv4)/Solicit(v6) message immediately if the policy for
> > this NIC is "DHCP(v4)/Auto(v6)".
> >
> >
> >
> > The IP driver binding start flow chart is shown in the attached
> > picture. We can see that if a platform driver is used to override the
> > policy setting, it could only be started after the IP driver, because
> > it need to consume the IP Config protocol, which is produced in the IP
> > driver binding start function. But that time point is too late to
> > override the policy to 'static'-the first DHCP message has already been sent
> out, which is the problem we want to solved.
> >
> >
> >
> > And there are 2 points I want to highlight:
> >
> > 1.       The "default policy" only impact a new detected NIC device, any new
> > configured policy will be saved and override the old one. So if a
> > platform driver is used to set the policy to "static", it will only
> > fail to prevent the DHCP message send out in the first boot. In all
> > subsequent boot/reset flow, the policy is already "static" so the problem
> doesn't exist.
> >
> > 2.       The "default policy" only impact the IP4/6 driver, any 3rd
> > driver/application shouldn't depend on the default policy setting. In
> > fact, any 3rd driver/application can't depend on the default policy
> > setting to implement their functionality. The reason is also simple:
> > the default policy only take effect on the first boot or on the new
> > plug-in device, and may be override by any other code once the IP
> > Config protocol is produced, as a result if any modules other than the
> > IP4/6 driver have the assumption that the policy is always the
> > "default policy", it will definitely fall into error. The only correct way 
> > is first
> to Get the current policy setting, and Set it if needed.
> >
> >
> >
> > Above is the detail reason why we need a method, like a PCD we
> > proposed, to set the "default policy". A platform driver could use IP
> > Config protocol to set the policy, but it has no method to prevent the
> > DHCP message on a new detected device, that's the problem we want to
> solve.
> >
> >
> >
> > If a PCD should NOT be used from the UEFI compliance point of view, we
> > need to consider other method to give a chance to the platform driver
> > to override the setting and prevent the DHCP message even on the first
> > boot, if the product really need it.
> >
> >
> >
> > Best Regards
> >
> > Siyuan
> >
> >
> >
> > > -----Original Message-----
> >
> > > From: edk2-devel [mailto:[email protected]] On Behalf
> > > Of
> >
> > > Subramanian, Sriram (EG Servers Platform SW)
> >
> > > Sent: Thursday, February 18, 2016 3:32 PM
> >
> > > To: Kinney, Michael D
> > <[email protected]<mailto:[email protected]>>;
> > El-Haj- Mahmoud,
> >
> > > Samer <[email protected]<mailto:samer.el-haj-
> > [email protected]>>; Wu, Jiaxin
> >
> > > <[email protected]<mailto:[email protected]>>; Hegde, Nagaraj P
> > <[email protected]<mailto:[email protected]>>;
> >
> > > Zimmer, Vincent
> > <[email protected]<mailto:[email protected]>>; Li, Ruth
> > <[email protected]<mailto:[email protected]>>;
> >
> > > Ye, Ting <[email protected]<mailto:[email protected]>>; Fu, Siyuan
> > <[email protected]<mailto:[email protected]>>; edk2-
> >
> > > [email protected]<mailto:[email protected]>
> >
> > > Subject: Re: [edk2] Using PCD to set default policy for IPv4/IPv6
> >
> > >
> >
> > > The IP4_CONFIG2 and IP6_CONFIG protocols need to know the current
> > policy
> >
> > > to decide if they need to do something during their DBStart (such as
> > initiating
> >
> > > a DHCPv4/v6 if policy is set so). It is not necessary for the
> > > platform to have a
> >
> > > per-NIC interface policy, or the platform may choose to set policies
> > > only on
> >
> > > specific NICs. For others, and in general the protocol needs to have
> > > a policy
> >
> > > to apply, for which NetworkPkg could have PCDs that are consumed by
> > these
> >
> > > protocols. With this approach, platform code can set the PCD to what
> > > policy
> >
> > > the platform wants for _all_ its NICs, and it can selectively change
> > > it by
> > calling
> >
> > > the set policy API.
> >
> > >
> >
> > > Thanks,
> >
> > > Sriram.
> >
> > >
> >
> > > -----Original Message-----
> >
> > > From: Kinney, Michael D [mailto:[email protected]]
> >
> > > Sent: Thursday, February 18, 2016 5:48 AM
> >
> > > To: El-Haj-Mahmoud, Samer; Wu, Jiaxin; Subramanian, Sriram (EG
> > > Servers
> >
> > > Platform SW); Hegde, Nagaraj P; Zimmer, Vincent; Li, Ruth; Ye, Ting;
> > > Fu,
> >
> > > Siyuan; [email protected]<mailto:[email protected]>;
> > > Kinney,
> > Michael D
> >
> > > Subject: RE: Using PCD to set default policy for IPv4/IPv6
> >
> > >
> >
> > > Samer,
> >
> > >
> >
> > > A platform driver can be implemented to set the policy without
> > > defining
> > PCDs
> >
> > > in the MdeModulePkg or NetworkPkg.
> >
> > >
> >
> > > Instead, a platform package can choose to define PCDs and
> > > potentially use
> >
> > > those PCD values to set policy in calls to the
> >
> > > EFI_IP4_CONFIG2_POLICY or EFI_IP6_CONFIG_POLICY.  Or it could be an
> >
> > > algorithm or HII forms in platform driver to set policy.
> >
> > >
> >
> > > Mike
> >
> > >
> >
> > > > -----Original Message-----
> >
> > > > From: edk2-devel [mailto:[email protected]] On
> > > > Behalf Of
> >
> > > El-Haj-Mahmoud,
> >
> > > > Samer
> >
> > > > Sent: Wednesday, February 17, 2016 3:20 PM
> >
> > > > To: Kinney, Michael D
> > <[email protected]<mailto:[email protected]>>; Wu,
> > Jiaxin
> >
> > > <[email protected]<mailto:[email protected]>>;
> >
> > > > Subramanian, Sriram (EG Servers Platform SW) <sriram-
> > [email protected]<mailto:[email protected]>>;
> >
> > > Hegde, Nagaraj P
> >
> > > > <[email protected]<mailto:[email protected]>>;
> > Zimmer, Vincent
> >
> > > <[email protected]<mailto:[email protected]>>; Li,
> > > Ruth
> >
> > > > <[email protected]<mailto:[email protected]>>; Ye, Ting
> > <[email protected]<mailto:[email protected]>>; Fu, Siyuan
> >
> > > <[email protected]<mailto:[email protected]>>;
> >
> > > > [email protected]<mailto:[email protected]>
> >
> > > > Subject: Re: [edk2] Using PCD to set default policy for IPv4/IPv6
> >
> > > >
> >
> > > > 1) Yes you could... that is one implementation choice. There are
> > > > cases
> >
> > > where you need
> >
> > > > to start multiple adapters, just for inventory/other management
> > > > tasks,
> > and
> >
> > > you do not
> >
> > > > want all of them to default to DHCP/automatic
> >
> > > >
> >
> > > > 2) Yes a platform driver can set the policy through the PCDs. I
> > > > thought this
> >
> > > was the
> >
> > > > intention of introducing the PCDs. Previously, the policy was
> > > > hard-coded
> > to
> >
> > > DHCP/auto
> >
> > > > in the EDK2 drivers.
> >
> > > >
> >
> > > >
> >
> > > >
> >
> > > > -----Original Message-----
> >
> > > > From: Kinney, Michael D [mailto:[email protected]]
> >
> > > > Sent: Wednesday, February 17, 2016 3:00 PM
> >
> > > > To: El-Haj-Mahmoud, Samer <samer.el-haj-
> > [email protected]<mailto:[email protected]>>; Wu,
> >
> > > Jiaxin
> >
> > > > <[email protected]<mailto:[email protected]>>; Subramanian,
> > Sriram (EG Servers Platform SW)
> >
> > > <[email protected]<mailto:[email protected]>>;
> >
> > > > Hegde, Nagaraj P <[email protected]<mailto:nagaraj-
> > [email protected]>>; Zimmer, Vincent
> >
> > > <[email protected]<mailto:[email protected]>>;
> >
> > > > Li, Ruth <[email protected]<mailto:[email protected]>>; Ye, Ting
> > <[email protected]<mailto:[email protected]>>; Fu, Siyuan
> >
> > > > <[email protected]<mailto:[email protected]>>; edk2-
> > [email protected]<mailto:[email protected]>; Kinney, Michael D
> >
> > > > <[email protected]<mailto:[email protected]>>
> >
> > > > Subject: RE: Using PCD to set default policy for IPv4/IPv6
> >
> > > >
> >
> > > > Hi Samer,
> >
> > > >
> >
> > > > 1) If there are a large number of adapters, can you choose to only
> > > > start
> > the
> >
> > > ones
> >
> > > > needed to boot?
> >
> > > >
> >
> > > > 2) Can't a platform driver set the policy needed for each NIC that
> > > > is
> >
> > > required to boot?
> >
> > > >
> >
> > > > Mike
> >
> > > >
> >
> > > >
> >
> > > >
> >
> > > > > -----Original Message-----
> >
> > > > > From: edk2-devel [mailto:[email protected]] On
> > > > > Behalf
> > Of
> >
> > > > > El-Haj-Mahmoud, Samer
> >
> > > > > Sent: Wednesday, February 17, 2016 12:53 PM
> >
> > > > > To: Kinney, Michael D
> > <[email protected]<mailto:[email protected]>>; Wu,
> > Jiaxin
> >
> > > > > <[email protected]<mailto:[email protected]>>; Subramanian,
> > Sriram (EG Servers Platform SW)
> >
> > > > > <[email protected]<mailto:[email protected]>>; Hegde, Nagaraj P
> > <[email protected]<mailto:[email protected]>>;
> >
> > > > > Zimmer, Vincent
> > <[email protected]<mailto:[email protected]>>; Li, Ruth
> >
> > > > > <[email protected]<mailto:[email protected]>>; Ye, Ting
> > <[email protected]<mailto:[email protected]>>; Fu, Siyuan
> >
> > > > > <[email protected]<mailto:[email protected]>>; edk2-
> > [email protected]<mailto:[email protected]>
> >
> > > > > Subject: Re: [edk2] Using PCD to set default policy for
> > > > > IPv4/IPv6
> >
> > > > >
> >
> > > > > I believe the PCDs are just to let the core drivers select the
> > > > > default
> >
> > > > > behavior (not full configuration) of automatic/DHCP vs. Static.
> > > > > Today,
> >
> > > > > the core drivers hard-code the default behavior to
> > > > > DHCP/automatic,
> > and
> >
> > > > > that is not ideal in server platforms that may have a large
> > > > > number of
> >
> > > adapters.
> >
> > > > >
> >
> > > > >
> >
> > > > >
> >
> > > > > From: Kinney, Michael D [mailto:[email protected]]
> >
> > > > > Sent: Wednesday, February 17, 2016 11:34 AM
> >
> > > > > To: Wu, Jiaxin
> > > > > <[email protected]<mailto:[email protected]>>;
> > Subramanian, Sriram (EG Servers
> >
> > > > > Platform SW) <[email protected]<mailto:[email protected]>>;
> > > > > El-Haj-
> > Mahmoud, Samer
> >
> > > > > <[email protected]<mailto:samer.el-haj-
> > [email protected]>>; Hegde, Nagaraj P
> >
> > > > > <[email protected]<mailto:[email protected]>>;
> > Zimmer, Vincent
> >
> > > <[email protected]<mailto:[email protected]>>;
> >
> > > > > Li, Ruth <[email protected]<mailto:[email protected]>>; Ye, Ting
> > <[email protected]<mailto:[email protected]>>; Fu, Siyuan
> >
> > > > > <[email protected]<mailto:[email protected]>>; edk2-
> > [email protected]<mailto:[email protected]>; Kinney, Michael D
> >
> > > > > <[email protected]<mailto:[email protected]>>
> >
> > > > > Subject: RE: Using PCD to set default policy for IPv4/IPv6
> >
> > > > >
> >
> > > > > Jiaxin,
> >
> > > > >
> >
> > > > > If a platform module can set the policy for each network
> > > > > interface,
> >
> > > > > then why do we need to add PCDs?
> >
> > > > >
> >
> > > > > Thanks,
> >
> > > > >
> >
> > > > > Mike
> >
> > > > >
> >
> > > > > From: Wu, Jiaxin
> >
> > > > > Sent: Tuesday, February 16, 2016 6:30 PM
> >
> > > > > To: Kinney, Michael D
> >
> > > > >
> >
> <[email protected]<mailto:[email protected]<mailto:m
> > [email protected]%3cmailto:[email protected]>>>;
> >
> > > > > Subramanian, Sriram (EG Servers Platform SW)
> >
> > > > > <[email protected]<mailto:sriram- [email protected]<mailto:sriram-
> > [email protected]%3cmailto:sriram-%[email protected]>>>; El-Haj-Mahmoud,
> >
> > > Samer
> >
> > > > > <[email protected]<mailto:samer.el-haj-
> >
> > > > > [email protected]<mailto:[email protected]>>>; Hegde,
> Nagaraj
> > P
> >
> > > > > <[email protected]<mailto:nagaraj-
> >
> > > > > [email protected]<mailto:[email protected]>>>; Zimmer, Vincent
> >
> > > > >
> >
> <[email protected]<mailto:[email protected]<mailto:vince
> > [email protected]%3cmailto:[email protected]>>>; Li,
> >
> > > Ruth
> >
> > > > >
> > <[email protected]<mailto:[email protected]<mailto:[email protected]%3
> > cma
> > ilto:[email protected]>>>; Ye, Ting
> >
> > > > >
> >
> <[email protected]<mailto:[email protected]<mailto:[email protected]%3
> > c mailto:[email protected]>>>; Fu, Siyuan
> >
> > > > >
> > <[email protected]<mailto:[email protected]<mailto:siyuan.fu@intel
> > .c
> > om%3cmailto:[email protected]>>>;
> >
> > > > > [email protected]<mailto:edk2-<mailto:edk2-
> > [email protected]%3cmailto:edk2->
> >
> > > > > [email protected]<mailto:[email protected]>>
> >
> > > > > Subject: RE: Using PCD to set default policy for IPv4/IPv6
> >
> > > > >
> >
> > > > > Mike,
> >
> > > > > Thanks your comments.
> >
> > > > > First, I agree other platform modules can also change the police
> > > > > by
> >
> > > > > using the set operation.
> >
> > > > > Second for the complete design, the proposed for the new PCDs
> > > > > will
> >
> > > > > only be consumed by Ip4Dxe/Ip6Dxe modules. The PCDs are used by
> >
> > > these
> >
> > > > > two modules to determine the default policy, the current
> > Ip4Dxe/Ip6Dxe
> >
> > > > > driver will  make decision which more configuration information
> > > > > needed
> >
> > > > > to be also configured. So, I think this a complete design to
> > > > > cover the
> >
> > > IPv4/Ipv6
> >
> > > > configuration protocol.
> >
> > > > >
> >
> > > > > Thanks.
> >
> > > > > Jiaxin
> >
> > > > >
> >
> > > > > From: Kinney, Michael D
> >
> > > > > Sent: Wednesday, February 17, 2016 6:10 AM
> >
> > > > > To: Wu, Jiaxin
> > <[email protected]<mailto:[email protected]<mailto:jiaxin.wu@intel
> > .c
> > om%3cmailto:[email protected]>>>;
> >
> > > > > Subramanian, Sriram (EG Servers Platform SW)
> >
> > > > > <[email protected]<mailto:[email protected]<mailto:sriram-
> > [email protected]%3cmailto:[email protected]>>>; El-Haj-Mahmoud,
> >
> > > Samer
> >
> > > > > <[email protected]<mailto:samer.el-haj-
> > <mailto:[email protected]%3cmailto:samer.el-haj-
> > [email protected]>
> >
> > > [email protected]<mailto:samer.el-haj-
> > [email protected]%3cmailto:[email protected]>>>;
> >
> > > > > Hegde, Nagaraj P
> >
> > > > > <[email protected]<mailto:nagaraj-
> > [email protected]<mailto:[email protected]%3cmailto:nagaraj-
> > [email protected]>>>;
> >
> > > Zimmer,
> >
> > > > > Vincent
> >
> > >
> >
> <[email protected]<mailto:[email protected]<mailto:vince
> > [email protected]%3cmailto:[email protected]>>>;
> >
> > > > > Li, Ruth
> > <[email protected]<mailto:[email protected]<mailto:[email protected]%3
> > cma
> > ilto:[email protected]>>>; Ye, Ting
> >
> > > > >
> >
> <[email protected]<mailto:[email protected]<mailto:[email protected]%3
> > c mailto:[email protected]>>>; Fu, Siyuan
> >
> > > > >
> > <[email protected]<mailto:[email protected]<mailto:siyuan.fu@intel
> > .c
> > om%3cmailto:[email protected]>>>;
> >
> > > > > [email protected]<mailto:edk2-<mailto:edk2-
> > [email protected]%3cmailto:edk2->
> >
> > > > > [email protected]<mailto:[email protected]>>; Kinney, Michael
> > > > > D
> >
> > > > >
> >
> <[email protected]<mailto:[email protected]<mailto:m
> > [email protected]%3cmailto:[email protected]>>>
> >
> > > > > Subject: RE: Using PCD to set default policy for IPv4/IPv6
> >
> > > > >
> >
> > > > > Jiaxin,
> >
> > > > >
> >
> > > > > This proposal looks incomplete to me.  If the configuration
> > > > > policy is
> >
> > > > > set to Ip4Config2PolicyStatic or Ip6ConfigPolicyManual, then it
> > > > > seems
> >
> > > > > like a lot more configuration information would be required for
> > > > > the
> > static
> >
> > > or manual
> >
> > > > policies.
> >
> > > > >
> >
> > > > > Can you also provide details on the complete design.  What
> > > > > modules
> > are
> >
> > > > > you proposing would use these new PCDs?  These configuration
> > protocols
> >
> > > provide
> >
> > > > get/set operations.
> >
> > > > > Why can't a platform module use the set operation to set
> > > > > static/manual
> >
> > > > > policy along with the additional set operations to completely
> > > > > configure
> >
> > > static/manual
> >
> > > > policy?
> >
> > > > >
> >
> > > > > Thanks,
> >
> > > > >
> >
> > > > > Mike
> >
> > > > >
> >
> > > > > From: Wu, Jiaxin
> >
> > > > > Sent: Monday, February 15, 2016 7:37 PM
> >
> > > > > To: Subramanian, Sriram (EG Servers Platform SW)
> >
> > > > > <[email protected]<mailto:sriram- [email protected]<mailto:sriram-
> > [email protected]%3cmailto:sriram-%[email protected]>>>; El-Haj-Mahmoud,
> >
> > > Samer
> >
> > > > > <[email protected]<mailto:samer.el-haj-
> >
> > > > > [email protected]<mailto:[email protected]>>>; Hegde,
> Nagaraj
> > P
> >
> > > > > <[email protected]<mailto:nagaraj-
> >
> > > > > [email protected]<mailto:[email protected]>>>; Zimmer, Vincent
> >
> > > > >
> >
> <[email protected]<mailto:[email protected]<mailto:vince
> > [email protected]%3cmailto:[email protected]>>>; Kinney,
> >
> > > > > Michael D
> >
> > > > >
> >
> <[email protected]<mailto:[email protected]<mailto:m
> > [email protected]%3cmailto:[email protected]>>>; Li,
> >
> > > > > Ruth
> > <[email protected]<mailto:[email protected]<mailto:[email protected]%3
> > cma
> > ilto:[email protected]>>>; Ye, Ting
> >
> > > > >
> >
> <[email protected]<mailto:[email protected]<mailto:[email protected]%3
> > c mailto:[email protected]>>>; Fu, Siyuan
> >
> > > > >
> > <[email protected]<mailto:[email protected]<mailto:siyuan.fu@intel
> > .c
> > om%3cmailto:[email protected]>>>;
> >
> > > > > [email protected]<mailto:edk2-<mailto:edk2-
> > [email protected]%3cmailto:edk2->
> >
> > > > > [email protected]<mailto:[email protected]>>
> >
> > > > > Subject: Using PCD to set default policy for IPv4/IPv6
> >
> > > > >
> >
> > > > > Hi all,
> >
> > > > >
> >
> > > > > Below is the descriptions about the default policy for IPv4/IPv6
> > > > > in
> >
> > > > > latest UEFI Spec (Version 2.6).
> >
> > > > >
> >
> > > > > << P1472: The EFI_IP4_CONFIG2_POLICY defines the general
> > configuration
> >
> > > > > policy the EFI
> >
> > > > > IPv4 Configuration II Protocol supports. The default policy for
> > > > > a
> >
> > > > > newly detected communication device is beyond the scope of this
> >
> > > > > document. An implementation might leave it to platform to choose
> > > > > the
> >
> > > > > default policy.>>
> >
> > > > >
> >
> > > > > << P1510: The EFI_IP6_CONFIG_POLICY defines the general
> > configuration
> >
> > > > > policy the EFI
> >
> > > > > IPv6 Configuration Protocol supports. The default policy for a
> > > > > newly
> >
> > > > > detected communication device is beyond the scope of this
> document.
> > An
> >
> > > > > implementation might leave it to platform to choose the default
> >
> > > > > policy.>>
> >
> > > > >
> >
> > > > > So, I propose to introduce PCD to leave it to platform to choose
> > > > > the
> >
> > > default policy.
> >
> > > > > That's meaningful to make the source code consistent with UEFI Spec.
> >
> > > > > Detailed see
> >
> > > > > below:
> >
> > > > >
> >
> > > > > ## Ip4Config2 Policy Type configuration.
> >
> > > > > # 01 = The configuration policy is Ip4Config2PolicyStatic # 02 =
> > > > > The
> >
> > > > > configuration policy is Ip4Config2PolicyDhcp # @Prompt Type
> > > > > Value of
> >
> > > > > Ip4Config2 Policy.
> >
> > > > >
> >
> > >
> >
> gEfiMdeModulePkgTokenSpaceGuid.PcdIp4Config2PolicyType|2|UINT8|0x1
> > 0
> >
> > > 000
> >
> > > > > 002
> >
> > > > >
> >
> > > > > ## Ip6Config Policy Type configuration.
> >
> > > > > # 01 = The configuration policy is Ip6ConfigPolicyManual # 02 =
> > > > > The
> >
> > > > > configuration policy is Ip6ConfigPolicyAutomatic # @Prompt Type
> > > > > Value
> >
> > > > > of Ip6Config Policy.
> >
> > > > >
> >
> > >
> >
> gEfiNetworkPkgTokenSpaceGuid.PcdIp6ConfigPolicyType|2|UINT8|0x10000
> > 0
> >
> > > 02
> >
> > > > >
> >
> > > > > Do you have any opinion? If there is no objection, I will create
> > > > > the
> >
> > > > > corresponding patches to fix it.
> >
> > > > >
> >
> > > > > Thanks.
> >
> > > > > Jiaxin
> >
> > > > > _______________________________________________
> >
> > > > > edk2-devel mailing list
> >
> > > > > [email protected]<mailto:[email protected]>
> >
> > > > > https://lists.01.org/mailman/listinfo/edk2-devel
> >
> > > > _______________________________________________
> >
> > > > edk2-devel mailing list
> >
> > > > [email protected]<mailto:[email protected]>
> >
> > > > https://lists.01.org/mailman/listinfo/edk2-devel
> >
> > > _______________________________________________
> >
> > > edk2-devel mailing list
> >
> > > [email protected]<mailto:[email protected]>
> >
> > > https://lists.01.org/mailman/listinfo/edk2-devel
> > _______________________________________________
> > edk2-devel mailing list
> > [email protected]
> > https://lists.01.org/mailman/listinfo/edk2-devel

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to