TianoCore EDK2 master
|
Go to the source code of this file.
Functions | |
EFI_STATUS | Ip6SelectSourceAddress (IN IP6_SERVICE *IpSb, IN EFI_IPv6_ADDRESS *Destination, OUT EFI_IPv6_ADDRESS *Source) |
VOID | Ip6SysPacketSent (NET_BUF *Packet, EFI_STATUS IoStatus, UINT32 LinkFlag, VOID *Context) |
EFI_STATUS | Ip6Output (IN IP6_SERVICE *IpSb, IN IP6_INTERFACE *Interface OPTIONAL, IN IP6_PROTOCOL *IpInstance OPTIONAL, IN NET_BUF *Packet, IN EFI_IP6_HEADER *Head, IN UINT8 *ExtHdrs, IN UINT32 ExtHdrsLen, IN IP6_FRAME_CALLBACK Callback, IN VOID *Context) |
VOID | Ip6CancelFrames (IN IP6_INTERFACE *Interface, IN EFI_STATUS IoStatus, IN IP6_FRAME_TO_CANCEL FrameToCancel OPTIONAL, IN VOID *Context OPTIONAL) |
VOID | Ip6CancelPacket (IN IP6_INTERFACE *IpIf, IN NET_BUF *Packet, IN EFI_STATUS IoStatus) |
Variables | |
UINT32 | mIp6Id |
The internal functions and routines to transmit the IP6 packet.
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file Ip6Output.h.
VOID Ip6CancelFrames | ( | IN IP6_INTERFACE * | Interface, |
IN EFI_STATUS | IoStatus, | ||
IN IP6_FRAME_TO_CANCEL FrameToCancel | OPTIONAL, | ||
IN VOID *Context | OPTIONAL | ||
) |
Remove all the frames on the interface that pass the FrameToCancel, either queued on ARP queues, or that have already been delivered to MNP and not yet recycled.
[in] | Interface | Interface to remove the frames from. |
[in] | IoStatus | The transmit status returned to the frames' callback. |
[in] | FrameToCancel | Function to select the frame to cancel; NULL to select all. |
[in] | Context | Opaque parameters passed to FrameToCancel. Ignored if FrameToCancel is NULL. |
Remove all the frames on the interface that pass the FrameToCancel, either queued on ARP queues or that have already been delivered to MNP and not yet recycled.
[in] | Interface | Interface to remove the frames from. |
[in] | IoStatus | The transmit status returned to the frames' callback. |
[in] | FrameToCancel | Function to select the frame to cancel; NULL to select all. |
[in] | Context | Opaque parameters passed to FrameToCancel. Ignored if FrameToCancel is NULL. |
Definition at line 1024 of file Ip6Output.c.
VOID Ip6CancelPacket | ( | IN IP6_INTERFACE * | IpIf, |
IN NET_BUF * | Packet, | ||
IN EFI_STATUS | IoStatus | ||
) |
Cancel the Packet and all its fragments.
[in] | IpIf | The interface from which the Packet is sent. |
[in] | Packet | The Packet to cancel. |
[in] | IoStatus | The status returns to the sender. |
Definition at line 1081 of file Ip6Output.c.
EFI_STATUS Ip6Output | ( | IN IP6_SERVICE * | IpSb, |
IN IP6_INTERFACE *Interface | OPTIONAL, | ||
IN IP6_PROTOCOL *IpInstance | OPTIONAL, | ||
IN NET_BUF * | Packet, | ||
IN EFI_IP6_HEADER * | Head, | ||
IN UINT8 * | ExtHdrs, | ||
IN UINT32 | ExtHdrsLen, | ||
IN IP6_FRAME_CALLBACK | Callback, | ||
IN VOID * | Context | ||
) |
Transmit an IP6 packet. The packet comes either from the IP6 child's consumer (IpInstance != NULL) or the IP6 driver itself (IpInstance == NULL). It will route the packet, fragment it, then transmit all the fragments through an interface.
[in] | IpSb | The IP6 service instance to transmit the packet. |
[in] | Interface | The IP6 interface to transmit the packet. Ignored if NULL. |
[in] | IpInstance | The IP6 child that issues the transmission. It is NULL if the packet is from the system. |
[in] | Packet | The user data to send, excluding the IP header. |
[in] | Head | The caller supplied header. The caller should set the following header fields: NextHeader, HopLimit, Src, Dest, FlowLabel, PayloadLength. This function will fill in the Ver, TrafficClass. |
[in] | ExtHdrs | The extension headers to append to the IPv6 basic header. |
[in] | ExtHdrsLen | The length of the extension headers. |
[in] | Callback | The callback function to issue when transmission completed. |
[in] | Context | The opaque context for the callback. |
EFI_INVALID_PARAMETER | Any input parameter or the packet is invalid. |
EFI_NO_MAPPING | There is no interface to the destination. |
EFI_NOT_FOUND | There is no route to the destination. |
EFI_SUCCESS | The packet successfully transmitted. |
EFI_OUT_OF_RESOURCES | Failed to finish the operation due to lack of resources. |
Others | Failed to transmit the packet. |
Definition at line 476 of file Ip6Output.c.
EFI_STATUS Ip6SelectSourceAddress | ( | IN IP6_SERVICE * | IpSb, |
IN EFI_IPv6_ADDRESS * | Destination, | ||
OUT EFI_IPv6_ADDRESS * | Source | ||
) |
Output all the available source addresses to the list entry head SourceList. The number of source addresses are also returned.
[in] | IpSb | Points to a IP6 service binding instance. |
[in] | Destination | The IPv6 destination address. |
[out] | Source | The selected IPv6 source address according to the Destination. |
EFI_SUCCESS | The source addresses were copied to the list entry head SourceList. |
EFI_NO_MAPPING | The IPv6 stack is not auto configured. |
Output all the available source addresses to a list entry head SourceList. The number of source addresses are also returned.
[in] | IpSb | Points to a IP6 service binding instance. |
[in] | Destination | The IPv6 destination address. |
[out] | Source | The selected IPv6 source address according to the Destination. |
EFI_SUCCESS | The source addresses were copied to a list entry head SourceList. |
EFI_NO_MAPPING | The IPv6 stack is not auto configured. |
Definition at line 153 of file Ip6Output.c.
VOID Ip6SysPacketSent | ( | NET_BUF * | Packet, |
EFI_STATUS | IoStatus, | ||
UINT32 | LinkFlag, | ||
VOID * | Context | ||
) |
The default callback function for system generated packet. It will free the packet.
[in] | Packet | The packet that transmitted. |
[in] | IoStatus | The result of the transmission: succeeded or failed. |
[in] | LinkFlag | Not used when transmission. Check IP6_FRAME_CALLBACK for reference. |
[in] | Context | The context provided by us. |
The default callback function for the system generated packet. It will free the packet.
[in] | Packet | The packet that transmitted. |
[in] | IoStatus | The result of the transmission, succeeded or failed. |
[in] | LinkFlag | Not used when transmitted. Check IP6_FRAME_CALLBACK for reference. |
[in] | Context | The context provided by us. |
Definition at line 337 of file Ip6Output.c.
|
extern |
Definition at line 12 of file Ip6Output.c.