Ignore transmit errors for UDPv4, UDPv6 and IPv4.

Support local bind by validating the IP address using the IP configuration protocol.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Lee Leahy <leroy.p.leahy@intel.com>
Reviewed-by: Ankit Singh3 <Ankit_Singh3@Dell.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14875 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Lee Leahy
2013-11-20 18:31:01 +00:00
committed by lpleahy
parent f79868cd18
commit 2dc09dd50f
9 changed files with 1238 additions and 175 deletions

View File

@@ -920,6 +920,25 @@ VOID
IN ESL_IO_MGMT * pIo
);
/**
Verify the adapter's IP address
This support routine is called by EslSocketBindTest.
@param [in] pPort Address of an ::ESL_PORT structure.
@param [in] pConfigData Address of the configuration data
@retval EFI_SUCCESS - The IP address is valid
@retval EFI_NOT_STARTED - The IP address is invalid
**/
typedef
EFI_STATUS
(* PFN_API_VERIFY_LOCAL_IP_ADDRESS) (
IN ESL_PORT * pPort,
IN VOID * pConfigData
);
/**
Socket type control structure
@@ -960,6 +979,7 @@ typedef struct {
PFN_API_TRANSMIT pfnTransmit; ///< Attempt to buffer a packet for transmit
PFN_API_TX_COMPLETE pfnTxComplete; ///< TX completion for normal data
PFN_API_TX_COMPLETE pfnTxOobComplete; ///< TX completion for urgent data
PFN_API_VERIFY_LOCAL_IP_ADDRESS pfnVerifyLocalIpAddress; ///< Verify the local IP address
} ESL_PROTOCOL_API;