Browse Source

Rename pkb_available() to pkb_tailroom() for consistency with Linux's

skb_tailroom().  Add pkb_headroom().
tags/v0.9.3
Michael Brown 17 years ago
parent
commit
18e5353bed
4 changed files with 21 additions and 11 deletions
  1. 2
    2
      src/arch/i386/drivers/net/undinet.c
  2. 13
    3
      src/include/gpxe/pkbuff.h
  3. 3
    3
      src/net/tcp.c
  4. 3
    3
      src/net/udp.c

+ 2
- 2
src/arch/i386/drivers/net/undinet.c View File

@@ -437,10 +437,10 @@ static void undinet_poll ( struct net_device *netdev ) {
437 437
 				/* Fragment will be dropped */
438 438
 				goto done;
439 439
 			}
440
-			if ( frag_len > pkb_available ( pkb ) ) {
440
+			if ( frag_len > pkb_tailroom ( pkb ) ) {
441 441
 				DBGC ( undinic, "UNDINIC %p fragment too "
442 442
 				       "large\n", undinic );
443
-				frag_len = pkb_available ( pkb );
443
+				frag_len = pkb_tailroom ( pkb );
444 444
 			}
445 445
 			copy_from_real ( pkb_put ( pkb, frag_len ),
446 446
 					 undi_isr.Frame.segment,

+ 13
- 3
src/include/gpxe/pkbuff.h View File

@@ -137,12 +137,22 @@ static inline size_t pkb_len ( struct pk_buff *pkb ) {
137 137
 }
138 138
 
139 139
 /**
140
- * Calculate available space in a packet buffer
140
+ * Calculate available space at start of a packet buffer
141 141
  *
142 142
  * @v pkb	Packet buffer
143
- * @ret len	Length of data available in buffer
143
+ * @ret len	Length of data available at start of buffer
144 144
  */
145
-static inline size_t pkb_available ( struct pk_buff *pkb ) {
145
+static inline size_t pkb_headroom ( struct pk_buff *pkb ) {
146
+	return ( pkb->data - pkb->head );
147
+}
148
+
149
+/**
150
+ * Calculate available space at end of a packet buffer
151
+ *
152
+ * @v pkb	Packet buffer
153
+ * @ret len	Length of data available at end of buffer
154
+ */
155
+static inline size_t pkb_tailroom ( struct pk_buff *pkb ) {
146 156
 	return ( pkb->end - pkb->tail );
147 157
 }
148 158
 

+ 3
- 3
src/net/tcp.c View File

@@ -255,7 +255,7 @@ static int tcp_senddata_conn ( struct tcp_connection *conn, int force_send ) {
255 255
 	if ( TCP_CAN_SEND_DATA ( conn->tcp_state ) &&
256 256
 	     app && app->tcp_op->senddata ) {
257 257
 		conn->tx_pkb = pkb;
258
-		app->tcp_op->senddata ( app, pkb->data, pkb_available ( pkb ));
258
+		app->tcp_op->senddata ( app, pkb->data, pkb_tailroom ( pkb ) );
259 259
 		conn->tx_pkb = NULL;
260 260
 	}
261 261
 
@@ -364,8 +364,8 @@ int tcp_send ( struct tcp_application *app, const void *data, size_t len ) {
364 364
 	}
365 365
 
366 366
 	/* Truncate length to fit packet buffer */
367
-	if ( len > pkb_available ( pkb ) )
368
-		len = pkb_available ( pkb );
367
+	if ( len > pkb_tailroom ( pkb ) )
368
+		len = pkb_tailroom ( pkb );
369 369
 
370 370
 	/* Copy payload */
371 371
 	memmove ( pkb_put ( pkb, len ), data, len );

+ 3
- 3
src/net/udp.c View File

@@ -104,7 +104,7 @@ int udp_senddata ( struct udp_connection *conn ) {
104 104
 	}
105 105
 	pkb_reserve ( conn->tx_pkb, UDP_MAX_HLEN );
106 106
 	rc = conn->udp_op->senddata ( conn, conn->tx_pkb->data, 
107
-				      pkb_available ( conn->tx_pkb ) );
107
+				      pkb_tailroom ( conn->tx_pkb ) );
108 108
 	if ( conn->tx_pkb )
109 109
 		free_pkb ( conn->tx_pkb );
110 110
 	return rc;
@@ -137,8 +137,8 @@ int udp_sendto ( struct udp_connection *conn, struct sockaddr_tcpip *peer,
137 137
 	conn->tx_pkb = NULL;
138 138
 
139 139
 	/* Avoid overflowing TX buffer */
140
-	if ( len > pkb_available ( pkb ) )
141
-		len = pkb_available ( pkb );
140
+	if ( len > pkb_tailroom ( pkb ) )
141
+		len = pkb_tailroom ( pkb );
142 142
 
143 143
 	/* Copy payload */
144 144
 	memmove ( pkb_put ( pkb, len ), data, len );

Loading…
Cancel
Save