diff options
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/gpxe/ip.h | 2 | ||||
| -rw-r--r-- | src/include/gpxe/tcpip.h | 17 |
2 files changed, 15 insertions, 4 deletions
diff --git a/src/include/gpxe/ip.h b/src/include/gpxe/ip.h index 4f0f42f85..17aa3ceb7 100644 --- a/src/include/gpxe/ip.h +++ b/src/include/gpxe/ip.h @@ -66,6 +66,6 @@ extern void del_ipv4_address ( struct net_device *netdev ); extern int ipv4_uip_tx ( struct pk_buff *pkb ); extern int ipv4_tx ( struct pk_buff *pkb, struct tcpip_protocol *tcpip, - struct in_addr *dest ); + struct sockaddr *sock ); #endif /* _GPXE_IP_H */ diff --git a/src/include/gpxe/tcpip.h b/src/include/gpxe/tcpip.h index aa2ccd5d0..4134de751 100644 --- a/src/include/gpxe/tcpip.h +++ b/src/include/gpxe/tcpip.h @@ -31,7 +31,9 @@ struct tcpip_protocol { * * This method takes ownership of the packet buffer. */ - void ( * rx ) ( struct pk_buff *pkb, struct in_addr *src_net_addr, struct in_addr *dest_net_addr ); + void ( * rx ) ( struct pk_buff *pkb, struct in_addr *src_net_addr, + struct in_addr *dest_net_addr ); + /** * Transport-layer protocol number * @@ -42,8 +44,8 @@ struct tcpip_protocol { * Checksum offset * * A negative number indicates that the protocol does not require - * checksumming to be performed by the network layer. A positive number is - * the offset of the checksum field in the transport-layer header. + * checksumming to be performed by the network layer. A positive number + * is the offset of the checksum field in the transport-layer header. */ int csum_offset; }; @@ -56,6 +58,15 @@ struct tcpip_net_protocol { struct net_protocol *net_protocol; /** Network address family */ sa_family_t sa_family; + /** + * Transmit packet + * + * @v pkb Packet buffer + * @v tcpip Transport-layer TCP/IP protocol + * @v sock Socket address + */ + int ( * tx ) ( struct pk_buff *pkb, struct tcpip_protocol *tcpip, + struct sockaddr *sock ); /** Complete transport-layer checksum calculation * * @v pkb Packet buffer |
