Ting, sounds good to me - the discussion here seems to be growing increasingly 
unproductive.

I'll tee this up with UNST.

Eugene

> -----Original Message-----
> From: Ye, Ting [mailto:ting...@intel.com]
> Sent: Wednesday, August 17, 2016 9:11 PM
> To: Wu, Jiaxin <jiaxin...@intel.com>; Cohen, Eugene
> <eug...@hp.com>; edk2-devel@lists.01.org; Kinney, Michael D
> <michael.d.kin...@intel.com>; Fu, Siyuan <siyuan...@intel.com>
> Subject: RE: DHCP Automatic Configure at Driver Connect
> 
> Hi Eugene,
> 
> If you propose separating DHCP process from DHCP policy setting, I
> think it is more like to update/clarify existing behavior defined in
> IP4Config2/IP6Config of UEFI specification. How about we move the
> discussion to UNST forum, in order to draw more attention for the
> topic?
> 
> Thanks,
> Ting
> -----Original Message-----
> From: Wu, Jiaxin
> Sent: Thursday, August 18, 2016 10:49 AM
> To: Cohen, Eugene <eug...@hp.com>; Ye, Ting <ting...@intel.com>;
> edk2-devel@lists.01.org; Kinney, Michael D
> <michael.d.kin...@intel.com>; Fu, Siyuan <siyuan...@intel.com>
> Subject: RE: DHCP Automatic Configure at Driver Connect
> 
> Eugene,
> 
> > > Ip4Config2OnDhcp4SbInstalled() maybe confused you, but it's not
> > > accurate as you said "when the DHCP SB is installed you do a
> > > configure
> > automatically".
> > > It's more proper to say "IPv4 driver is requiring DHCP SB due to it
> > > detects the DHCP policy." In such a case, it's reasonable with the
> > > function Ip4Config2OnDhcp4SbInstalled().
> >
> > I see - my observation was based on the fact that removing this
> > prevented the undesirable automatic configuration, but what you
> say makes sense.
> >
> > > I agree with you this code did not exist in *Ip4Dxe* before. We
> > > implemented this function because of we need start the
> AutoConfig
> > > due to the DHCP policy is detected by Ip4Dxe driver (DHCP policy
> (note:
> > > NOT DHCP SB) together with D.O.R.A process). It does may appear
> > > AutoConfig straight away with DHCP SB if Ip4Dxe ahead of
> Dhcp4Dxe.
> > > But the precondition is that the DHCP policy has been detected.  If
> > > the policy is not DHCP during the system boot, I think your concern
> > > will not
> > appear.
> >
> > Are you saying the IP4 interface will not come "up" even for a static
> IP policy?
> 
> If the policy is static and the default interface has not been
> referenced/used, we can say it's not come up.  Once you get involved
> and do any IP assignment, the default interface is only ready to use,
> we can say it has been configured and it's available now.
> 
> For *Ip4Dxe*, I think no matter what kind of policy behavior will only
> affect the default interface (configured or un-configured), currently :
> 1) If the policy is DHCP, Ip4Dxe will try his best to be in available state.
> 2)  If the policy is static, it will depend on the third part configuration.
> After the default interface is ready and available, the only way I can
> think to make it in un-configured state is leveraging the DXE_DRIVER (I
> mentioned it before) to do some cleanup according the current
> implementation.
> 
> For #1, the DHCP process will be triggered automatically.
> For #2, I agree such a DXE_DRIVER driver will destroy the previous
> configuration data (Actually, the old Ip4Config behavior also did it), but
> if not, how can we reach such a un-configured state since the data
> already saved?
> 
> 
> > I was assuming it would in this case.  I'm not sure how big a deal
> > this is because if there are no listeners or connections initiated
> > it's kind of a don't-care - I think the only difference would be
> whether responses to ARP are provided.
> >
> > > Now, compared to old Ip4Config behavior, we take 'ifconfig' tool
> > > command as example - "ifconfig -s eth0 dhcp":
> > > The Ip4Config->Start will be invoked to start the auto configuration.
> > > It was implemented in the deprecated driver -- Ip4ConfigDxe.
> When
> > > the system boot next time, the previous IP configuration will
> > > cleaned and the interface will be in UN-CONFIG status again.
> > > Current implementation don't have this clean-up operation no
> matter
> > > Static/DHCP policy has been set. Is this the difference you
> mentioned?
> >
> > Okay - this must be it - so DHCP magically turned back into
> "unconfigured"
> > effectively creating the on-demand Configure() effect, at least for
> > DHCP cases, that we now desire.  Interesting.
> >
> 
> Yeah.
> 
> > > Now, let us  consider your requirement:
> > > 1) The IP config information stored in NVRAM
> > > 2) A separate policy to delay the IP interface coming up until a
> > > component calls Configure ().
> > >
> > > #1 is also the current implementation. For 2), I remember you have
> > > one patch to do this implementation, can you share it to us for
> > > better understanding?
> >
> > Yes, my first thought was to make the handling of
> > Ip4Config2OnDhcp4SbInstalled conditional based on a PCD value (the
> > policy in this case, would be in the PCD value).  Based on the limited
> > experiment I did this seems to have the desired effect but based on
> > your expertise perhaps there is a better location for such a check?
> >
> 
> Ok, understand your purpose. So, It's not related to the IP protocol to
> be "up" or not , and also not related to *reach un-configured state* if
> policy is *static*. Right? If so, we can only focus on the question
> "whether to separate the D.O.R.A process with DHCP policy or not".
> 
> In addition, I don't think it's a good idea to use PCD to decide/control
> the DHCP policy behavior. We should keep the DHCP policy behavior
> constant (no matter to separate the D.O.R.A process or keep the
> current implementation).
> 
> In my opinion or usage case, keep the current implementation is fine.
> But as you complained, it does trouble your previous usage. It will be
> appreciated if you can describe your usage case here, for example,
> step1, step2,...:).
> 
> 
> 
> > Thank you for patiently helping me with this - it's been enlightening
> > to learn the history and thinking behind the config process.
> >
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to