On 01/19/17 04:09, Wu, Jiaxin wrote:
>>>> Laszlo,
>>>>
>>>> I also agree with (a).
>>>>
>>>> For IpSec, we can do the below update later:
>>>>
>>>> 1), Include it under NETWORK_IP6_ENABLE directly but with the limit usage
>> for IPv4.
>>>>
>>>> Or
>>>>
>>>> 2), Define new flag "IPSEC_ENABLE" for both of them.
>>>>
>>>> I prefer 2).
>>>
>>> Hmmm, I'm not so sure. Personally I've never used either IpSec or IPv6.
>>>
>>> If I understand correctly:
>>>
>>> - IPSEC_ENABLE=TRUE && NETWORK_IP6_ENABLE=FALSE would mean
>>>   IPv4 only + IpSec. While this may be a theoretically useful
>>>   combination, I wonder how often people would actually want this.
>>>
>>> - IPSEC_ENABLE=TRUE && NETWORK_IP6_ENABLE=TRUE -- this is a valid
>>>   combination, especially for a full-fledged build of OVMF
>>>
>>> - IPSEC_ENABLE=FALSE && NETWORK_IP6_ENABLE=TRUE -- as far as I
>>>   understand, this is actually an invalid (incomplete) build for the
>>>   IPv6 stack.
>>>
>>> - IPSEC_ENABLE=FALSE && NETWORK_IP6_ENABLE=FALSE -- the most
>> common
>>>   build, gives you just IPv4
>>>
>>> Based on the above, I think I prefer (1); that is, I believe we
>>> shouldn't introduce IPSEC_ENABLE. For IPv6, IpSec is apparently
>>> mandatory, so turning it off makes no sense. And in an IPv4-only build
>>> of OVMF, I see quite limited usefulness for IpSec; turning it on with a
>>> dedicated flag looks overkill, at least for a virtual machine firmware.
>>>
>>> Jordan, Gary, what do you think?
>>
>> IpSec is optional for me. The Ip6 driver detects the protocol dynamically,
>> so we don't really need IpSec for IPv6. (PXEv6 and HTTPBoot v6 works for
>> me with the current settings.) Besides, it seems we didn't provide a proper
>> user interface (e.g. config UI or a shell command) to setup IpSec. The user
>> probably has to find a tool, e.g. NetworkPkg/Application/IpsecConfig, to
>> config it properly. So I feel it's not mandatory and would prefer 2).
> 
> I did quick investigation for the IpSec deployment requirement for IPv4 and 
> IPv6.
> 
> Now, the goal of the IpSec is to provide the security service for both the 
> IPv4 and IPv6 environments. 
> 
> Previously, IPsec implementation was mandatory requirement for IPv6.  But in 
> RFC 6434 (IPv6 Node Requirements),  the document updates that recommendation 
> by making support of the IPsec Architecture a *SHOULD* for all IPv6 nodes. 
> That means it has been made optional for IPv6 since RFC 6434. Detailed see 
> RFC 6434 section 11:
> 
> "
>    Previously, IPv6 mandated implementation of IPsec and recommended the
>    key management approach of IKE.  This document updates that
>    recommendation by making support of the IPsec Architecture [RFC4301]
>    a SHOULD for all IPv6 nodes.
> "
> 
> "
>    This document recognizes that there exists a range of device types
>    and environments where approaches to security other than IPsec can be
>    justified.  For example, special-purpose devices may support only a
>    very limited number or type of applications, and an application-
>    specific security approach may be sufficient for limited management
>    or configuration capabilities.  Alternatively, some devices may run
>    on extremely constrained hardware (e.g., sensors) where the full
>    IPsec Architecture is not justified.
> "
> 
> So, according above information, IPSEC_ENABLE should be fine to
> include the feature or just keep the current until it truly
> required:).

Thanks a lot for tracking this down!

Given that we're apparently unaware of any actual need for IpSec in
OVMF, I suggest that we postpone it. And, when the need arises, we
should do -D IPSEC_ENABLE (affecting both IPv4 and IPv6); I understand
now that that will be the right thing to do.

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

Reply via email to