mirror of https://github.com/ipxe/ipxe.git
Refer to implementation note on IP routing.
parent
6e74dc3460
commit
97675c7129
|
@ -36,12 +36,14 @@
|
||||||
* @err #PXENV_STATUS_UNDI_INVALID_STATE NIC could not be initialised
|
* @err #PXENV_STATUS_UNDI_INVALID_STATE NIC could not be initialised
|
||||||
*
|
*
|
||||||
* Prepares the PXE stack for communication using pxenv_udp_write()
|
* Prepares the PXE stack for communication using pxenv_udp_write()
|
||||||
* and pxenv_udp_read(). The IP address supplied in
|
* and pxenv_udp_read().
|
||||||
* s_PXENV_UDP_OPEN::src_ip will be recorded and used as the local
|
*
|
||||||
* station's IP address for all further communication, including
|
* The IP address supplied in s_PXENV_UDP_OPEN::src_ip will be
|
||||||
* communication by means other than pxenv_udp_write() and
|
* recorded and used as the local station's IP address for all further
|
||||||
* pxenv_udp_read(). (If s_PXENV_UDP_OPEN::src_ip is 0.0.0.0, the
|
* communication, including communication by means other than
|
||||||
* local station's IP address will remain unchanged.)
|
* pxenv_udp_write() and pxenv_udp_read(). (If
|
||||||
|
* s_PXENV_UDP_OPEN::src_ip is 0.0.0.0, the local station's IP address
|
||||||
|
* will remain unchanged.)
|
||||||
*
|
*
|
||||||
* You can only have one open UDP connection at a time. You cannot
|
* You can only have one open UDP connection at a time. You cannot
|
||||||
* have a UDP connection open at the same time as a TFTP connection.
|
* have a UDP connection open at the same time as a TFTP connection.
|
||||||
|
@ -108,7 +110,7 @@ PXENV_EXIT_t pxenv_udp_close ( struct s_PXENV_UDP_CLOSE *udp_close __unused ) {
|
||||||
*
|
*
|
||||||
* @v udp_write Pointer to a struct s_PXENV_UDP_WRITE
|
* @v udp_write Pointer to a struct s_PXENV_UDP_WRITE
|
||||||
* @v s_PXENV_UDP_WRITE::ip Destination IP address
|
* @v s_PXENV_UDP_WRITE::ip Destination IP address
|
||||||
* @v s_PXENV_UDP_WRITE::gw Gateway IP address, or 0.0.0.0
|
* @v s_PXENV_UDP_WRITE::gw Relay agent IP address, or 0.0.0.0
|
||||||
* @v s_PXENV_UDP_WRITE::src_port Source UDP port, or 0
|
* @v s_PXENV_UDP_WRITE::src_port Source UDP port, or 0
|
||||||
* @v s_PXENV_UDP_WRITE::dst_port Destination UDP port
|
* @v s_PXENV_UDP_WRITE::dst_port Destination UDP port
|
||||||
* @v s_PXENV_UDP_WRITE::buffer_size Length of the UDP payload
|
* @v s_PXENV_UDP_WRITE::buffer_size Length of the UDP payload
|
||||||
|
@ -128,8 +130,8 @@ PXENV_EXIT_t pxenv_udp_close ( struct s_PXENV_UDP_CLOSE *udp_close __unused ) {
|
||||||
* header.
|
* header.
|
||||||
*
|
*
|
||||||
* If s_PXENV_UDP_WRITE::gw is 0.0.0.0, normal IP routing will take
|
* If s_PXENV_UDP_WRITE::gw is 0.0.0.0, normal IP routing will take
|
||||||
* place (using, for example, the default gateway IP address returned
|
* place. See the relevant @ref pxe_routing "implementation note" for
|
||||||
* by the DHCP server).
|
* more details.
|
||||||
*
|
*
|
||||||
* If s_PXENV_UDP_WRITE::src_port is 0, port 2069 will be used.
|
* If s_PXENV_UDP_WRITE::src_port is 0, port 2069 will be used.
|
||||||
*
|
*
|
||||||
|
@ -143,9 +145,6 @@ PXENV_EXIT_t pxenv_udp_close ( struct s_PXENV_UDP_CLOSE *udp_close __unused ) {
|
||||||
* call this function with a 32-bit stack segment. (See the relevant
|
* call this function with a 32-bit stack segment. (See the relevant
|
||||||
* @ref pxe_x86_pmode16 "implementation note" for more details.)
|
* @ref pxe_x86_pmode16 "implementation note" for more details.)
|
||||||
*
|
*
|
||||||
* @bug s_PXENV_UDP_WRITE::gw is ignored; the default routing table is
|
|
||||||
* always used.
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
PXENV_EXIT_t pxenv_udp_write ( struct s_PXENV_UDP_WRITE *udp_write ) {
|
PXENV_EXIT_t pxenv_udp_write ( struct s_PXENV_UDP_WRITE *udp_write ) {
|
||||||
uint16_t src_port;
|
uint16_t src_port;
|
||||||
|
@ -304,7 +303,7 @@ PXENV_EXIT_t pxenv_udp_read ( struct s_PXENV_UDP_READ *udp_read ) {
|
||||||
return PXENV_EXIT_SUCCESS;
|
return PXENV_EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @page pxe_notes PXE implementation notes
|
/** @page pxe_notes Etherboot PXE implementation notes
|
||||||
|
|
||||||
@section pxe_note_udp The connectionless nature of UDP
|
@section pxe_note_udp The connectionless nature of UDP
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue