summaryrefslogtreecommitdiffstats
path: root/src/arch/i386/drivers/net/undinet.c
diff options
context:
space:
mode:
authorMichael Brown2007-05-19 20:39:40 +0200
committerMichael Brown2007-05-19 20:39:40 +0200
commit3e2c6b6736729633c5d6c00cd31458a1c6a49730 (patch)
tree8c9e1ed94b301680c9870ed09424e3a2a2e4bafa /src/arch/i386/drivers/net/undinet.c
parentAdd explicit "freeing" debug messages. (diff)
downloadipxe-3e2c6b6736729633c5d6c00cd31458a1c6a49730.tar.gz
ipxe-3e2c6b6736729633c5d6c00cd31458a1c6a49730.tar.xz
ipxe-3e2c6b6736729633c5d6c00cd31458a1c6a49730.zip
pkbuff->iobuf changeover
Achieved via Perl using: perl -pi -e 's/pk_buff/io_buffer/g; s/Packet buffer/I\/O buffer/ig; ' \ -e 's/pkbuff\.h/iobuf.h/g; s/pkb_/iob_/g; s/_pkb/_iob/g; ' \ -e 's/pkb/iobuf/g; s/PKB/IOB/g;'
Diffstat (limited to 'src/arch/i386/drivers/net/undinet.c')
-rw-r--r--src/arch/i386/drivers/net/undinet.c54
1 files changed, 27 insertions, 27 deletions
diff --git a/src/arch/i386/drivers/net/undinet.c b/src/arch/i386/drivers/net/undinet.c
index 835ec76d..d54429bd 100644
--- a/src/arch/i386/drivers/net/undinet.c
+++ b/src/arch/i386/drivers/net/undinet.c
@@ -22,7 +22,7 @@
#include <pic8259.h>
#include <biosint.h>
#include <pnpbios.h>
-#include <gpxe/pkbuff.h>
+#include <gpxe/iobuf.h>
#include <gpxe/netdevice.h>
#include <gpxe/if_ether.h>
#include <gpxe/ethernet.h>
@@ -315,11 +315,11 @@ static int undinet_isr_triggered ( void ) {
*/
/** Maximum length of a packet transmitted via the UNDI API */
-#define UNDI_PKB_LEN 1514
+#define UNDI_IOB_LEN 1514
-/** UNDI packet buffer */
-static char __data16_array ( undinet_pkb, [UNDI_PKB_LEN] );
-#define undinet_pkb __use_data16 ( undinet_pkb )
+/** UNDI I/O buffer */
+static char __data16_array ( undinet_iob, [UNDI_IOB_LEN] );
+#define undinet_iob __use_data16 ( undinet_iob )
/** UNDI transmit buffer descriptor */
static struct s_PXENV_UNDI_TBD __data16 ( undinet_tbd );
@@ -329,20 +329,20 @@ static struct s_PXENV_UNDI_TBD __data16 ( undinet_tbd );
* Transmit packet
*
* @v netdev Network device
- * @v pkb Packet buffer
+ * @v iobuf I/O buffer
* @ret rc Return status code
*/
static int undinet_transmit ( struct net_device *netdev,
- struct pk_buff *pkb ) {
+ struct io_buffer *iobuf ) {
struct undi_nic *undinic = netdev->priv;
struct s_PXENV_UNDI_TRANSMIT undi_transmit;
- size_t len = pkb_len ( pkb );
+ size_t len = iob_len ( iobuf );
int rc;
- /* Copy packet to UNDI packet buffer */
- if ( len > sizeof ( undinet_pkb ) )
- len = sizeof ( undinet_pkb );
- memcpy ( &undinet_pkb, pkb->data, len );
+ /* Copy packet to UNDI I/O buffer */
+ if ( len > sizeof ( undinet_iob ) )
+ len = sizeof ( undinet_iob );
+ memcpy ( &undinet_iob, iobuf->data, len );
/* Create PXENV_UNDI_TRANSMIT data structure */
memset ( &undi_transmit, 0, sizeof ( undi_transmit ) );
@@ -357,7 +357,7 @@ static int undinet_transmit ( struct net_device *netdev,
undinet_tbd.ImmedLength = len;
undinet_tbd.Xmit.segment = rm_ds;
undinet_tbd.Xmit.offset
- = ( ( unsigned ) & __from_data16 ( undinet_pkb ) );
+ = ( ( unsigned ) & __from_data16 ( undinet_iob ) );
/* Issue PXE API call */
if ( ( rc = undinet_call ( undinic, PXENV_UNDI_TRANSMIT,
@@ -365,8 +365,8 @@ static int undinet_transmit ( struct net_device *netdev,
sizeof ( undi_transmit ) ) ) != 0 )
goto done;
- /* Free packet buffer */
- netdev_tx_complete ( netdev, pkb );
+ /* Free I/O buffer */
+ netdev_tx_complete ( netdev, iobuf );
done:
return rc;
@@ -397,7 +397,7 @@ static int undinet_transmit ( struct net_device *netdev,
static void undinet_poll ( struct net_device *netdev, unsigned int rx_quota ) {
struct undi_nic *undinic = netdev->priv;
struct s_PXENV_UNDI_ISR undi_isr;
- struct pk_buff *pkb = NULL;
+ struct io_buffer *iobuf = NULL;
size_t len;
size_t frag_len;
int rc;
@@ -448,26 +448,26 @@ static void undinet_poll ( struct net_device *netdev, unsigned int rx_quota ) {
/* Packet fragment received */
len = undi_isr.FrameLength;
frag_len = undi_isr.BufferLength;
- if ( ! pkb )
- pkb = alloc_pkb ( len );
- if ( ! pkb ) {
+ if ( ! iobuf )
+ iobuf = alloc_iob ( len );
+ if ( ! iobuf ) {
DBGC ( undinic, "UNDINIC %p could not "
"allocate %zd bytes for RX buffer\n",
undinic, len );
/* Fragment will be dropped */
goto done;
}
- if ( frag_len > pkb_tailroom ( pkb ) ) {
+ if ( frag_len > iob_tailroom ( iobuf ) ) {
DBGC ( undinic, "UNDINIC %p fragment too "
"large\n", undinic );
- frag_len = pkb_tailroom ( pkb );
+ frag_len = iob_tailroom ( iobuf );
}
- copy_from_real ( pkb_put ( pkb, frag_len ),
+ copy_from_real ( iob_put ( iobuf, frag_len ),
undi_isr.Frame.segment,
undi_isr.Frame.offset, frag_len );
- if ( pkb_len ( pkb ) == len ) {
- netdev_rx ( netdev, pkb );
- pkb = NULL;
+ if ( iob_len ( iobuf ) == len ) {
+ netdev_rx ( netdev, iobuf );
+ iobuf = NULL;
--rx_quota;
}
break;
@@ -486,10 +486,10 @@ static void undinet_poll ( struct net_device *netdev, unsigned int rx_quota ) {
}
done:
- if ( pkb ) {
+ if ( iobuf ) {
DBGC ( undinic, "UNDINIC %p returned incomplete packet\n",
undinic );
- netdev_rx ( netdev, pkb );
+ netdev_rx ( netdev, iobuf );
}
}