summaryrefslogtreecommitdiffstats
path: root/src/net/infiniband.c
diff options
context:
space:
mode:
authorMichael Brown2007-09-13 15:43:12 +0200
committerMichael Brown2007-09-13 15:43:12 +0200
commit30a19c3f1c51ff404d8de3196c4355fba3083c8e (patch)
tree013ebc0cb2c2249f9e0e0f6ea9740f97a4f89705 /src/net/infiniband.c
parentDump received packet, including GRH. (diff)
downloadipxe-30a19c3f1c51ff404d8de3196c4355fba3083c8e.tar.gz
ipxe-30a19c3f1c51ff404d8de3196c4355fba3083c8e.tar.xz
ipxe-30a19c3f1c51ff404d8de3196c4355fba3083c8e.zip
Can now both send and receive packets. LL header format not yet
fixed; still using a quick hack-up just to be able to pass through data.
Diffstat (limited to 'src/net/infiniband.c')
-rw-r--r--src/net/infiniband.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/net/infiniband.c b/src/net/infiniband.c
index bcfac292..c7fabd0e 100644
--- a/src/net/infiniband.c
+++ b/src/net/infiniband.c
@@ -70,6 +70,17 @@ static int ib_tx ( struct io_buffer *iobuf, struct net_device *netdev,
* network-layer protocol.
*/
static int ib_rx ( struct io_buffer *iobuf, struct net_device *netdev ) {
+
+ struct {
+ uint16_t proto;
+ uint16_t reserved;
+ } * header = iobuf->data;
+
+ iob_pull ( iobuf, sizeof ( *header ) );
+ return net_rx ( iobuf, netdev, header->proto, NULL );
+
+
+
struct ibhdr *ibhdr = iobuf->data;
/* Sanity check */