iPXE
Data Fields
tcpip_net_protocol Struct Reference

A network-layer protocol of the TCP/IP stack (eg. More...

#include <tcpip.h>

Data Fields

const char * name
 Protocol name.
sa_family_t sa_family
 Network address family.
size_t header_len
 Fixed header length.
struct net_protocolnet_protocol
 Network-layer protocol.
int(* tx )(struct io_buffer *iobuf, struct tcpip_protocol *tcpip_protocol, struct sockaddr_tcpip *st_src, struct sockaddr_tcpip *st_dest, struct net_device *netdev, uint16_t *trans_csum)
 Transmit packet.
struct net_device *(* netdev )(struct sockaddr_tcpip *dest)
 Determine transmitting network device.

Detailed Description

A network-layer protocol of the TCP/IP stack (eg.

IPV4, IPv6, etc)

Definition at line 140 of file tcpip.h.


Field Documentation

Protocol name.

Definition at line 142 of file tcpip.h.

Referenced by tcpip_tx().

Network address family.

Definition at line 144 of file tcpip.h.

Referenced by efi_pxe_ip_sockaddr(), and tcpip_net_protocol().

Fixed header length.

Definition at line 146 of file tcpip.h.

Referenced by tcpip_mtu().

Network-layer protocol.

Definition at line 148 of file tcpip.h.

Referenced by efi_pxe_start(), and efi_pxe_udp_deliver().

int( * tcpip_net_protocol::tx)(struct io_buffer *iobuf, struct tcpip_protocol *tcpip_protocol, struct sockaddr_tcpip *st_src, struct sockaddr_tcpip *st_dest, struct net_device *netdev, uint16_t *trans_csum)

Transmit packet.

Parameters:
iobufI/O buffer
tcpip_protocolTransport-layer protocol
st_srcSource address, or NULL to use default
st_destDestination address
netdevNetwork device (or NULL to route automatically)
trans_csumTransport-layer checksum to complete, or NULL
Return values:
rcReturn status code

This function takes ownership of the I/O buffer.

Definition at line 162 of file tcpip.h.

Referenced by tcpip_tx().

Determine transmitting network device.

Parameters:
st_destDestination address
Return values:
netdevNetwork device, or NULL

Definition at line 174 of file tcpip.h.

Referenced by tcpip_mtu(), and tcpip_netdev().


The documentation for this struct was generated from the following file: