Browse Source

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

skb_tailroom().  Add pkb_headroom().
tags/v0.9.3
Michael Brown 18 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
 				/* Fragment will be dropped */
437
 				/* Fragment will be dropped */
438
 				goto done;
438
 				goto done;
439
 			}
439
 			}
440
-			if ( frag_len > pkb_available ( pkb ) ) {
440
+			if ( frag_len > pkb_tailroom ( pkb ) ) {
441
 				DBGC ( undinic, "UNDINIC %p fragment too "
441
 				DBGC ( undinic, "UNDINIC %p fragment too "
442
 				       "large\n", undinic );
442
 				       "large\n", undinic );
443
-				frag_len = pkb_available ( pkb );
443
+				frag_len = pkb_tailroom ( pkb );
444
 			}
444
 			}
445
 			copy_from_real ( pkb_put ( pkb, frag_len ),
445
 			copy_from_real ( pkb_put ( pkb, frag_len ),
446
 					 undi_isr.Frame.segment,
446
 					 undi_isr.Frame.segment,

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

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
  * @v pkb	Packet buffer
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
 	return ( pkb->end - pkb->tail );
156
 	return ( pkb->end - pkb->tail );
147
 }
157
 }
148
 
158
 

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

255
 	if ( TCP_CAN_SEND_DATA ( conn->tcp_state ) &&
255
 	if ( TCP_CAN_SEND_DATA ( conn->tcp_state ) &&
256
 	     app && app->tcp_op->senddata ) {
256
 	     app && app->tcp_op->senddata ) {
257
 		conn->tx_pkb = pkb;
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
 		conn->tx_pkb = NULL;
259
 		conn->tx_pkb = NULL;
260
 	}
260
 	}
261
 
261
 
364
 	}
364
 	}
365
 
365
 
366
 	/* Truncate length to fit packet buffer */
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
 	/* Copy payload */
370
 	/* Copy payload */
371
 	memmove ( pkb_put ( pkb, len ), data, len );
371
 	memmove ( pkb_put ( pkb, len ), data, len );

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

104
 	}
104
 	}
105
 	pkb_reserve ( conn->tx_pkb, UDP_MAX_HLEN );
105
 	pkb_reserve ( conn->tx_pkb, UDP_MAX_HLEN );
106
 	rc = conn->udp_op->senddata ( conn, conn->tx_pkb->data, 
106
 	rc = conn->udp_op->senddata ( conn, conn->tx_pkb->data, 
107
-				      pkb_available ( conn->tx_pkb ) );
107
+				      pkb_tailroom ( conn->tx_pkb ) );
108
 	if ( conn->tx_pkb )
108
 	if ( conn->tx_pkb )
109
 		free_pkb ( conn->tx_pkb );
109
 		free_pkb ( conn->tx_pkb );
110
 	return rc;
110
 	return rc;
137
 	conn->tx_pkb = NULL;
137
 	conn->tx_pkb = NULL;
138
 
138
 
139
 	/* Avoid overflowing TX buffer */
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
 	/* Copy payload */
143
 	/* Copy payload */
144
 	memmove ( pkb_put ( pkb, len ), data, len );
144
 	memmove ( pkb_put ( pkb, len ), data, len );

Loading…
Cancel
Save