Modify UDP and IP to transmit on all network adapters instead of just the first network adapter.

Fix comment in Socket.c.

Signed-off-by: lpleahy
Reviewed and tested by: Sreenivasula Reddy of Dell


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13713 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lpleahy
2012-09-10 19:04:41 +00:00
parent 44890dbde6
commit 884ed92356
4 changed files with 70 additions and 49 deletions

View File

@@ -835,21 +835,21 @@ EslUdp6TxBuffer (
//
if ( SOCKET_STATE_CONNECTED == pSocket->State ) {
//
// Locate the port
// Verify that there is enough room to buffer another
// transmit operation
//
pPort = pSocket->pPortList;
if ( NULL != pPort ) {
pTxBytes = &pSocket->TxBytes;
if ( pSocket->MaxTxBuf > *pTxBytes ) {
//
// Determine the queue head
// Locate the port
//
pUdp6 = &pPort->Context.Udp6;
pTxBytes = &pSocket->TxBytes;
pPort = pSocket->pPortList;
while ( NULL != pPort ) {
//
// Determine the queue head
//
pUdp6 = &pPort->Context.Udp6;
//
// Verify that there is enough room to buffer another
// transmit operation
//
if ( pSocket->MaxTxBuf > *pTxBytes ) {
//
// Attempt to allocate the packet
//
@@ -960,6 +960,7 @@ EslUdp6TxBuffer (
// Free the packet
//
EslSocketPacketFree ( pPacket, DEBUG_TX );
break;
}
//
@@ -972,16 +973,22 @@ EslUdp6TxBuffer (
// Packet allocation failed
//
pSocket->errno = ENOMEM;
break;
}
}
else {
//
// Not enough buffer space available
// Set the next port
//
pSocket->errno = EAGAIN;
Status = EFI_NOT_READY;
pPort = pPort->pLinkSocket;
}
}
else {
//
// Not enough buffer space available
//
pSocket->errno = EAGAIN;
Status = EFI_NOT_READY;
}
}
//