be37315 NetworkPkg: Fix PXEv6 boot failure when DhcpBinl offer received.

Authored and Committed by Jiaxin Wu 7 years ago
    NetworkPkg: Fix PXEv6 boot failure when DhcpBinl offer received.
    
    In case of the DHCP and PXE services on different servers,PXEv6 boot will
    failure when DhcpBinl offer received. The issue is caused by the following
    reasons:
    * PXE Client doesn't append VENDOR_CLASS request parameter, so the
    offer replied from DHCP service will not contain VENDOR_CLASS option
    (16).
    * Once the DhcpBinl offer is selected, the boot discover message should
    be sent out to request the bootfile by this offer. Current implementation
    always use servers multi-cast address instead of BootFileUrl address in
    dhcp6 offer. we should check it first, then decide whether use multi-cast
    address or not.
    * If DhcpBinl offer is selected, the boot discover message shouldn't
    find server ID Option from DhcpBinl offer. That's incorrect because DHCP
    service and PXE service on different servers. In such a case, we can ignore
    the Server ID Option.
    
    With the above fix in the patch, PXEv6 can boot successfully when DhcpBinl
    offer received.
    
    Cc: Ye Ting <ting.ye@intel.com>
    Cc: Fu Siyuan <siyuan.fu@intel.com>
    Contributed-under: TianoCore Contribution Agreement 1.0
    Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
    Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
    Reviewed-by: Ye Ting <ting.ye@intel.com>